Skip to main content
Glama

선형 MCP 서버

npm 버전 대장간 배지

선형 API를 위한 모델 컨텍스트 프로토콜 서버입니다.

이 서버는 MCP를 통해 Linear의 문제 추적 시스템과 통합을 제공하여 LLM이 Linear 문제와 상호 작용할 수 있도록 합니다.

설치

자동 설치

Smithery를 통해 Claude Desktop용 Linear MCP 서버를 자동으로 설치하려면:

지엑스피1

수동 설치

  1. Linear 개인 API 키를 생성하거나 받으세요: https://linear.app/settings/account/security

  2. Claude Desktop에 서버 구성을 추가합니다.

    • MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json

{ "mcpServers": { "linear": { "command": "npx", "args": ["-y", "mcp-server-linearapp"], "env": { "LINEAR_API_KEY": "your_linear_api_key_here" } } } }

Related MCP server: Linear MCP Server

구성 요소

도구

사용자 관련 도구

  1. linear_get_viewer : 인증된 사용자에 대한 정보를 가져옵니다.

    • 입력이 필요하지 않습니다

    • ID, 이름, 이메일, 활성 상태를 포함한 사용자 프로필 정보를 반환합니다.

  2. linear_get_user_issues : 사용자에게 할당된 이슈를 가져옵니다.

    • 선택 입력 사항:

      • userId (문자열): 사용자 ID(인증된 사용자의 경우 생략)

      • includeArchived (부울): 보관된 이슈를 포함합니다.

      • limit (숫자, 기본값: 50): 최대 결과

  3. linear_get_user_teams : 사용자와 연관된 팀을 가져옵니다.

    • 선택 입력 사항:

      • userId (문자열): 팀을 가져올 사용자 ID(인증된 사용자의 경우 생략)

      • includeArchived (부울): 보관된 팀을 포함합니다.

      • limit (숫자, 기본값: 50): 반환할 최대 팀 수

    • 사용자가 소속된 팀 목록을 반환합니다.

  4. linear_get_user_projects : 사용자와 연관된 프로젝트를 가져옵니다.

    • 선택 입력 사항:

      • userId (문자열): 프로젝트를 가져올 사용자 ID(인증된 사용자의 경우 생략)

      • includeArchived (부울): 보관된 프로젝트를 포함합니다.

      • limit (숫자, 기본값: 50): 반환할 최대 프로젝트 수

      • status (문자열): 프로젝트 상태(예: '완료', '진행 중')로 필터링

    • 사용자가 리더 또는 멤버인 프로젝트 목록을 반환합니다.

팀 관련 도구

  1. linear_get_teams : 조직 내 팀 가져오기

    • 선택 입력 사항:

      • includeArchived (부울): 보관된 팀을 포함합니다.

      • limit (숫자, 기본값: 50): 반환할 최대 팀 수

  2. linear_get_team : 특정 팀에 대한 세부 정보를 가져옵니다.

    • 필수 입력 사항:

      • teamId (문자열): 세부 정보를 얻을 팀 ID

    • 이름, 키, 멤버 및 설정을 포함한 팀 정보를 반환합니다.

  3. linear_get_team_issues : 특정 팀의 이슈를 가져옵니다.

    • 필수 입력 사항:

      • teamId (문자열): 문제를 가져올 팀 ID

    • 선택 입력 사항:

      • includeArchived (부울): 보관된 이슈를 포함합니다.

      • limit (숫자, 기본값: 50): 반환할 최대 문제 수

      • status (문자열): 문제 상태별 필터링

      • priority (숫자): 우선순위 수준별 필터링

      • assigneeId (문자열): 담당자로 필터링

프로젝트 관련 도구

  1. linear_get_projects : 조직의 프로젝트를 가져옵니다.

    • 선택 입력 사항:

      • teamId (문자열): 팀별로 프로젝트 필터링

      • includeArchived (부울): 보관된 프로젝트를 포함합니다.

      • limit (숫자, 기본값: 50): 반환할 최대 프로젝트 수

      • status (문자열): 프로젝트 상태별 필터링

  2. linear_get_project : 특정 프로젝트에 대한 세부 정보를 가져옵니다.

    • 필수 입력 사항:

      • projectId (문자열): 세부 정보를 가져올 프로젝트 ID

    • 진행 상황, 상태, 팀, 리더 및 날짜를 포함한 자세한 프로젝트 정보를 반환합니다.

  3. linear_get_project_issues : 특정 프로젝트의 이슈를 가져옵니다.

  • 필수 입력 사항:

    • projectId (문자열): 문제를 가져올 프로젝트 ID

  • 선택 입력 사항:

    • includeArchived (부울): 보관된 이슈를 포함합니다.

    • limit (숫자, 기본값: 50): 반환할 최대 문제 수

    • status (문자열): 문제 상태별 필터링

    • priority (숫자): 우선순위 수준별 필터링

문제 관련 도구

  1. linear_create_issue : 새로운 Linear 이슈를 생성합니다.

  • 필수 입력 사항:

    • title (문자열): 이슈 제목

    • teamId (문자열): 문제를 생성할 팀 ID

  • 선택 입력 사항:

    • description (문자열): 문제 설명(마크다운 지원)

    • priority (숫자, 0-4): 우선순위 수준(1=긴급, 4=낮음)

    • status (문자열): 초기 상태 이름

  1. linear_update_issue : 기존 이슈 업데이트

  • 필수 입력 사항:

    • id (문자열): 업데이트할 문제 ID

  • 선택 입력 사항:

    • title (문자열): 새 제목

    • description (문자열): 새 설명

    • priority (숫자, 0-4): 새로운 우선순위

    • status (문자열): 새 상태 이름

  1. linear_search_issues : 유연한 필터링을 통한 문제 검색

  • 선택 입력 사항:

    • query (문자열): 제목/설명에서 검색할 텍스트

    • teamId (문자열): 팀으로 필터링

    • status (문자열): 상태별 필터링

    • assigneeId (문자열): 담당자로 필터링

    • labels (string[]): 레이블로 필터링

    • priority (숫자): 우선순위로 필터링

    • limit (숫자, 기본값: 10): 최대 결과

  1. linear_add_comment : 이슈에 댓글 추가

  • 필수 입력 사항:

    • issueId (문자열): 의견을 제시할 이슈 ID

    • body (문자열): 주석 텍스트(마크다운 지원)

  • 선택 입력 사항:

    • createAsUser (문자열): 사용자 정의 사용자 이름

    • displayIconUrl (문자열): 사용자 정의 아바타 URL

라벨 관리 도구

  1. linear_get_labels : 조직의 레이블을 가져옵니다.

  • 선택 입력 사항:

    • teamId (문자열): 팀별로 레이블 필터링

    • includeArchived (부울): 보관된 레이블을 포함합니다.

    • limit (숫자, 기본값: 50): 반환할 레이블의 최대 개수

  1. linear_create_label : 새 라벨을 만듭니다

  • 필수 입력 사항:

    • name (문자열): 레이블 이름

    • teamId (문자열): 레이블을 생성할 팀 ID

  • 선택 입력 사항:

    • color (문자열): 색상 16진수 코드(예: "#FF0000")

    • description (문자열): 레이블 설명

  1. linear_update_label : 기존 라벨을 업데이트합니다

  • 필수 입력 사항:

    • id (문자열): 업데이트할 레이블 ID

  • 선택 입력 사항:

    • name (문자열): 새 레이블 이름

    • color (문자열): 새로운 색상 16진수 코드

    • description (문자열): 새 설명

첨부 파일 관리 도구

  1. linear_add_attachment : 이슈에 첨부 파일 추가

  • 필수 입력 사항:

    • issueId (문자열): 첨부 파일을 추가할 문제 ID

    • url (문자열): 첨부 파일의 URL

    • title (문자열): 첨부 파일의 제목

  • 선택 입력 사항:

    • subtitle (문자열): 첨부파일의 자막

    • icon (문자열): 첨부 파일의 아이콘 URL

  1. linear_get_attachments : 이슈에 대한 첨부 파일을 가져옵니다.

  • 필수 입력 사항:

    • issueId (문자열): 첨부 파일을 가져올 문제 ID

문제 관계 도구

  1. linear_link_issues : 이슈 간 관계 생성

  • 필수 입력 사항:

    • issueId (문자열): 소스 문제 ID

    • relatedIssueId (문자열): 대상 문제 ID

    • type (문자열): 관계 유형(예: "블록", "관련", "중복")

  1. linear_get_issue_relations : 이슈에 대한 관계 가져오기

  • 필수 입력 사항:

    • issueId (문자열): 관계를 가져올 문제 ID

  • 선택 입력 사항:

    • type (문자열): 관계 유형별 필터링

마일스톤 관리 도구

  1. linear_get_milestones : 프로젝트의 마일스톤을 가져옵니다.

  • 선택 입력 사항:

    • projectId (문자열): 프로젝트별로 마일스톤 필터링

    • includeArchived (부울): 보관된 마일스톤 포함

    • limit (숫자, 기본값: 50): 반환할 마일스톤의 최대 수

  1. linear_create_milestone : 새로운 마일스톤을 만듭니다

  • 필수 입력 사항:

    • name (문자열): 마일스톤 이름

    • projectId (문자열): 마일스톤을 생성할 프로젝트 ID

    • targetDate (문자열): 목표 완료 날짜(ISO 형식)

  • 선택 입력 사항:

    • description (문자열): 마일스톤 설명

    • sortOrder (숫자): 마일스톤 목록의 위치

  1. 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_viewerlinear-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 사용하여 관계를 탐색합니다.

개발

  1. 종속성 설치:

npm install
  1. .env 에서 Linear API 키 구성:

LINEAR_API_KEY=your_api_key_here
  1. 서버를 빌드하세요:

npm run build

자동 재빌드를 사용한 개발의 경우:

npm run watch

특허

이 MCP 서버는 MIT 라이선스에 따라 라이선스가 부여됩니다. 즉, MIT 라이선스의 조건에 따라 소프트웨어를 자유롭게 사용, 수정 및 배포할 수 있습니다. 자세한 내용은 프로젝트 저장소의 LICENSE 파일을 참조하세요.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/magarcia/mcp-server-linearapp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server