선형 MCP 서버
선형 API를 위한 모델 컨텍스트 프로토콜 서버입니다.
이 서버는 MCP를 통해 Linear의 문제 추적 시스템과 통합을 제공하여 LLM이 Linear 문제와 상호 작용할 수 있도록 합니다.
설치
자동 설치
Smithery를 통해 Claude Desktop용 Linear MCP 서버를 자동으로 설치하려면:
지엑스피1
수동 설치
Linear 개인 API 키를 생성하거나 받으세요: https://linear.app/settings/account/security
Claude Desktop에 서버 구성을 추가합니다.
MacOS:
~/Library/Application Support/Claude/claude_desktop_config.json
Related MCP server: Linear MCP Server
구성 요소
도구
사용자 관련 도구
linear_get_viewer: 인증된 사용자에 대한 정보를 가져옵니다.입력이 필요하지 않습니다
ID, 이름, 이메일, 활성 상태를 포함한 사용자 프로필 정보를 반환합니다.
linear_get_user_issues: 사용자에게 할당된 이슈를 가져옵니다.선택 입력 사항:
userId(문자열): 사용자 ID(인증된 사용자의 경우 생략)includeArchived(부울): 보관된 이슈를 포함합니다.limit(숫자, 기본값: 50): 최대 결과
linear_get_user_teams: 사용자와 연관된 팀을 가져옵니다.선택 입력 사항:
userId(문자열): 팀을 가져올 사용자 ID(인증된 사용자의 경우 생략)includeArchived(부울): 보관된 팀을 포함합니다.limit(숫자, 기본값: 50): 반환할 최대 팀 수
사용자가 소속된 팀 목록을 반환합니다.
linear_get_user_projects: 사용자와 연관된 프로젝트를 가져옵니다.선택 입력 사항:
userId(문자열): 프로젝트를 가져올 사용자 ID(인증된 사용자의 경우 생략)includeArchived(부울): 보관된 프로젝트를 포함합니다.limit(숫자, 기본값: 50): 반환할 최대 프로젝트 수status(문자열): 프로젝트 상태(예: '완료', '진행 중')로 필터링
사용자가 리더 또는 멤버인 프로젝트 목록을 반환합니다.
팀 관련 도구
linear_get_teams: 조직 내 팀 가져오기선택 입력 사항:
includeArchived(부울): 보관된 팀을 포함합니다.limit(숫자, 기본값: 50): 반환할 최대 팀 수
linear_get_team: 특정 팀에 대한 세부 정보를 가져옵니다.필수 입력 사항:
teamId(문자열): 세부 정보를 얻을 팀 ID
이름, 키, 멤버 및 설정을 포함한 팀 정보를 반환합니다.
linear_get_team_issues: 특정 팀의 이슈를 가져옵니다.필수 입력 사항:
teamId(문자열): 문제를 가져올 팀 ID
선택 입력 사항:
includeArchived(부울): 보관된 이슈를 포함합니다.limit(숫자, 기본값: 50): 반환할 최대 문제 수status(문자열): 문제 상태별 필터링priority(숫자): 우선순위 수준별 필터링assigneeId(문자열): 담당자로 필터링
프로젝트 관련 도구
linear_get_projects: 조직의 프로젝트를 가져옵니다.선택 입력 사항:
teamId(문자열): 팀별로 프로젝트 필터링includeArchived(부울): 보관된 프로젝트를 포함합니다.limit(숫자, 기본값: 50): 반환할 최대 프로젝트 수status(문자열): 프로젝트 상태별 필터링
linear_get_project: 특정 프로젝트에 대한 세부 정보를 가져옵니다.필수 입력 사항:
projectId(문자열): 세부 정보를 가져올 프로젝트 ID
진행 상황, 상태, 팀, 리더 및 날짜를 포함한 자세한 프로젝트 정보를 반환합니다.
linear_get_project_issues: 특정 프로젝트의 이슈를 가져옵니다.
필수 입력 사항:
projectId(문자열): 문제를 가져올 프로젝트 ID
선택 입력 사항:
includeArchived(부울): 보관된 이슈를 포함합니다.limit(숫자, 기본값: 50): 반환할 최대 문제 수status(문자열): 문제 상태별 필터링priority(숫자): 우선순위 수준별 필터링
문제 관련 도구
linear_create_issue: 새로운 Linear 이슈를 생성합니다.
필수 입력 사항:
title(문자열): 이슈 제목teamId(문자열): 문제를 생성할 팀 ID
선택 입력 사항:
description(문자열): 문제 설명(마크다운 지원)priority(숫자, 0-4): 우선순위 수준(1=긴급, 4=낮음)status(문자열): 초기 상태 이름
linear_update_issue: 기존 이슈 업데이트
필수 입력 사항:
id(문자열): 업데이트할 문제 ID
선택 입력 사항:
title(문자열): 새 제목description(문자열): 새 설명priority(숫자, 0-4): 새로운 우선순위status(문자열): 새 상태 이름
linear_search_issues: 유연한 필터링을 통한 문제 검색
선택 입력 사항:
query(문자열): 제목/설명에서 검색할 텍스트teamId(문자열): 팀으로 필터링status(문자열): 상태별 필터링assigneeId(문자열): 담당자로 필터링labels(string[]): 레이블로 필터링priority(숫자): 우선순위로 필터링limit(숫자, 기본값: 10): 최대 결과
linear_add_comment: 이슈에 댓글 추가
필수 입력 사항:
issueId(문자열): 의견을 제시할 이슈 IDbody(문자열): 주석 텍스트(마크다운 지원)
선택 입력 사항:
createAsUser(문자열): 사용자 정의 사용자 이름displayIconUrl(문자열): 사용자 정의 아바타 URL
라벨 관리 도구
linear_get_labels: 조직의 레이블을 가져옵니다.
선택 입력 사항:
teamId(문자열): 팀별로 레이블 필터링includeArchived(부울): 보관된 레이블을 포함합니다.limit(숫자, 기본값: 50): 반환할 레이블의 최대 개수
linear_create_label: 새 라벨을 만듭니다
필수 입력 사항:
name(문자열): 레이블 이름teamId(문자열): 레이블을 생성할 팀 ID
선택 입력 사항:
color(문자열): 색상 16진수 코드(예: "#FF0000")description(문자열): 레이블 설명
linear_update_label: 기존 라벨을 업데이트합니다
필수 입력 사항:
id(문자열): 업데이트할 레이블 ID
선택 입력 사항:
name(문자열): 새 레이블 이름color(문자열): 새로운 색상 16진수 코드description(문자열): 새 설명
첨부 파일 관리 도구
linear_add_attachment: 이슈에 첨부 파일 추가
필수 입력 사항:
issueId(문자열): 첨부 파일을 추가할 문제 IDurl(문자열): 첨부 파일의 URLtitle(문자열): 첨부 파일의 제목
선택 입력 사항:
subtitle(문자열): 첨부파일의 자막icon(문자열): 첨부 파일의 아이콘 URL
linear_get_attachments: 이슈에 대한 첨부 파일을 가져옵니다.
필수 입력 사항:
issueId(문자열): 첨부 파일을 가져올 문제 ID
문제 관계 도구
linear_link_issues: 이슈 간 관계 생성
필수 입력 사항:
issueId(문자열): 소스 문제 IDrelatedIssueId(문자열): 대상 문제 IDtype(문자열): 관계 유형(예: "블록", "관련", "중복")
linear_get_issue_relations: 이슈에 대한 관계 가져오기
필수 입력 사항:
issueId(문자열): 관계를 가져올 문제 ID
선택 입력 사항:
type(문자열): 관계 유형별 필터링
마일스톤 관리 도구
linear_get_milestones: 프로젝트의 마일스톤을 가져옵니다.
선택 입력 사항:
projectId(문자열): 프로젝트별로 마일스톤 필터링includeArchived(부울): 보관된 마일스톤 포함limit(숫자, 기본값: 50): 반환할 마일스톤의 최대 수
linear_create_milestone: 새로운 마일스톤을 만듭니다
필수 입력 사항:
name(문자열): 마일스톤 이름projectId(문자열): 마일스톤을 생성할 프로젝트 IDtargetDate(문자열): 목표 완료 날짜(ISO 형식)
선택 입력 사항:
description(문자열): 마일스톤 설명sortOrder(숫자): 마일스톤 목록의 위치
linear_update_milestone: 기존 마일스톤 업데이트
필수 입력 사항:
id(문자열): 업데이트할 마일스톤 ID
선택 입력 사항:
name(문자열): 새로운 이정표 이름targetDate(문자열): 새로운 목표 날짜description(문자열): 새 설명status(문자열): 새로운 상태(예: "계획됨", "진행 중", "완료")
자원
linear-issue:///{issueId}: 개별 이슈 세부 정보 보기제목, 설명, 코멘트, 메타데이터를 포함한 문제 정보를 반환합니다.
linear-team:///{teamId}: 팀 세부 정보 보기이름, 키, 설명 및 멤버를 포함한 팀 정보를 반환합니다.
linear-team:///{teamId}/issues: 팀 문제 보기상태 및 우선 순위 정보와 함께 특정 팀의 모든 문제를 반환합니다.
linear-project:///{projectId}: 프로젝트 세부 정보 보기이름, 설명, 진행 상황, 상태, 리드, 팀 및 타임라인을 포함한 프로젝트 정보를 반환합니다.
linear-project:///{projectId}/issues: 프로젝트 문제 보기상태 및 할당 정보와 함께 특정 프로젝트의 모든 문제를 반환합니다.
linear-project:///{projectId}/milestones: 프로젝트 마일스톤 보기특정 프로젝트의 모든 이정표를 진행 상황 및 상태 정보와 함께 반환합니다.
linear-user:///{userId}/assigned: 사용자에게 할당된 문제 보기프로젝트 및 팀 컨텍스트를 사용하여 특정 사용자에게 할당된 문제를 반환합니다.
linear-organization:: 조직 정보 보기이름 및 설정을 포함한 조직 수준 정보를 반환합니다.
linear-viewer:: 현재 사용자 컨텍스트 보기인증된 사용자에 대한 정보를 반환합니다.
linear-viewer:///teams: 인증된 사용자의 팀을 봅니다.현재 사용자가 소속된 모든 팀을 반환합니다.
linear-viewer:///projects: 인증된 사용자의 프로젝트를 봅니다.현재 사용자가 (리드 또는 멤버로서) 참여하고 있는 모든 프로젝트를 반환합니다.
linear-viewer:///assigned: 인증된 사용자에게 할당된 이슈를 확인합니다.프로젝트 및 팀 컨텍스트를 사용하여 현재 사용자에게 할당된 모든 문제를 반환합니다.
linear-label:///{labelId}: 라벨 세부 정보 보기이름, 색상 및 관련 문제를 포함한 반품 라벨 정보
사용 예
다음은 Claude Desktop에서 Linear와 상호 작용할 때 사용할 수 있는 프롬프트의 예입니다.
이슈 관리
"인증 시스템에 대한 새로운 버그 보고서를 만듭니다" →
linear_create_issue사용하여 적절한 세부 정보로 새로운 이슈를 만듭니다."티켓 FRONT-123의 우선순위를 긴급으로 업데이트" →
linear_update_issue사용하여 기존 이슈의 우선순위를 수정합니다."로그인 페이지 버그에 근본 원인을 설명하는 주석을 추가합니다" →
linear_add_comment사용하여 기존 문제에 정보를 추가합니다.
문제 찾기 및 필터링
"내 모든 높은 우선순위 문제 표시" →
linear_get_user_issues또는linear-viewer:///assigned사용하여 높은 우선순위로 할당된 문제를 찾습니다."진행 중인 모든 프런트엔드 작업 찾기" → "진행 중" 상태의 프런트엔드 관련 문제를 찾으려면
linear_search_issues사용하세요."현재 Sarah에게 할당된 문제는 무엇입니까?" → Sarah의 ID와 함께
linear_get_user_issues사용하여 그녀의 할당을 확인하세요.
팀 및 프로젝트 관리
"나는 어떤 팀의 멤버인가요?" → 인증된 사용자가 속한 모든 팀을 나열하려면
linear_get_user_teams또는linear-viewer:///teams사용하세요."내가 이끌고 있거나 기여하고 있는 프로젝트를 보여주세요" →
linear_get_user_projects또는linear-viewer:///projects사용하여 현재 사용자와 관련된 모든 프로젝트를 가져옵니다."모바일 앱 프로젝트의 현재 진행 상황은 어떻습니까?" →
linear_get_project사용하여 진행 상황을 포함한 프로젝트에 대한 자세한 정보를 얻으세요."프론트엔드 팀의 모든 활성 프로젝트 나열" →
linear_get_team결합하여 팀 ID를 찾고,linear_get_projects팀 필터와 결합하여 활성 프로젝트를 찾습니다.
상태 및 작업 부하 분석
"청구 시스템 문제에 대한 최근 업데이트 요약을 알려주세요" →
linear_search_issues사용하여 관련 문제를 식별한 다음linear-issue:///{issueId}사용하여 문제 세부 정보를 가져옵니다."모바일 팀의 현재 업무량은 얼마입니까?" →
linear-team:///{teamId}/issues또는linear_get_team_issues를 사용하여 팀 전체의 문제 분포를 분석합니다."조직 내에서 내 역할과 책임을 보여주세요" →
linear_get_viewer및linear-viewer:///teams사용하여 팀 멤버십과 역할을 분석합니다.
라벨 및 분류
"우선순위가 높은 보안 문제에 대한 '보안' 레이블 만들기" →
linear_create_label사용하여 적절한 설정으로 새 레이블을 만듭니다."프론트엔드 팀에서 사용 가능한 라벨은 무엇입니까?" → 프런트엔드 팀 ID와 함께
linear_get_labels사용하여 사용 가능한 분류를 확인하세요."모든 API 문제에 'needs-documentation' 라벨을 적용합니다" →
linear_search_issues사용하여 API 관련 문제를 찾은 다음 각각을linear_update_issue로 업데이트합니다.
마일스톤 관리
"베타 릴리스를 위한 마일스톤 만들기" →
linear_create_milestone사용하여 목표 날짜가 있는 프로젝트 마일스톤을 설정합니다."모바일 앱 프로젝트에서 어떤 이정표가 예정되어 있나요?" → 프로젝트 ID와 함께
linear_get_milestones사용하여 계획된 배송 지점을 확인하세요."API v2 마일스톤 상태를 완료로 업데이트" →
linear_update_milestone사용하여 마일스톤 상태를 변경합니다.
문제 관계
"API-456 차단으로 FRONT-123 문제를 표시" →
linear_link_issues사용하여 문제 간 차단 관계를 만듭니다."이 버그로 인해 어떤 문제가 차단되고 있나요?" →
linear_get_issue_relations사용하여 종속성을 찾으세요."인증 시스템과 관련된 모든 문제 표시" → 적절한 필터와 함께
linear_search_issues사용한 다음linear_get_issue_relations사용하여 관계를 탐색합니다.
개발
종속성 설치:
.env에서 Linear API 키 구성:
서버를 빌드하세요:
자동 재빌드를 사용한 개발의 경우:
특허
이 MCP 서버는 MIT 라이선스에 따라 라이선스가 부여됩니다. 즉, MIT 라이선스의 조건에 따라 소프트웨어를 자유롭게 사용, 수정 및 배포할 수 있습니다. 자세한 내용은 프로젝트 저장소의 LICENSE 파일을 참조하세요.