Linear MCP Server

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Integrations

  • Allows access to Linear's issue tracking system, enabling users to create, update, search, and delete issues, add comments, retrieve projects and team information, manage labels, and track parent/child relationships among issues.

선형 MCP 서버

표준화된 인터페이스를 통해 Linear의 문제 추적 시스템에 대한 액세스를 제공하는 MCP(Model Context Protocol) 서버 구현입니다.

특징

  • 레이블 지원을 통해 새로운 이슈와 하위 이슈를 생성합니다.
  • 선형 프로젝트 목록을 검색합니다.
  • 프로젝트 업데이트 검색
  • 상태 정보를 포함한 새 프로젝트 업데이트 만들기
  • 전체 필드 수정으로 기존 문제 업데이트
  • 유효성 검사 문제 삭제
  • '나' 키워드를 사용하여 문제를 자체 할당합니다.
  • Linear의 강력한 필터링 기능을 활용한 고급 검색
  • 주기별 문제 필터링(UUID 또는 번호별 현재, 다음, 이전 또는 특정 주기)
  • 마크다운 지원 문제에 주석 추가
  • 선택적 관계를 사용하여 ID 또는 키로 선형 문제 쿼리
  • 향상된 메타데이터를 사용하여 사용자 정의 쿼리를 사용하여 문제 검색
  • Linear의 공식 SDK를 사용한 유형 안전 작업
  • 포괄적인 오류 처리
  • 속도 제한 처리
  • 깨끗한 데이터 변환
  • 팀 상속을 통한 부모/자식 관계 추적
  • 라벨 관리 및 동기화

필수 조건

  • Bun 런타임(v1.0.0 이상)
  • API 접근이 가능한 선형 계정

환경 변수

지엑스피1

설치 및 설정

1. 저장소를 복제합니다.

git clone [repository-url] cd linear-mcp

2. 종속성을 설치하고 빌드합니다.

bun install bun run build

3. MCP 서버를 구성합니다.

적절한 구성 파일을 편집합니다.

맥OS:

  • 클라인: ~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
  • Claude 데스크톱: ~/Library/Application Support/Claude/claude_desktop_config.json

윈도우:

  • 클라인: %APPDATA%\Code\User\globalStorage\saoudrizwan.claude-dev\settings\cline_mcp_settings.json
  • 클로드 데스크톱: %APPDATA%\Claude Desktop\claude_desktop_config.json

리눅스:

  • 클라인: ~/.config/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
  • Claude Desktop: 안타깝게도 아직 존재하지 않습니다.

mcpServers 개체 아래에 다음 구성을 추가합니다.

{ "mcpServers": { "linear": { "command": "node", "args": ["/absolute/path/to/linear-mcp/build/index.js"], "env": { "LINEAR_API_KEY": "your_api_key" } } } }

4. MCP 서버를 다시 시작합니다.

Cline의 MCP 설정에서 MCP 서버를 다시 시작하세요. Claude Desktop을 다시 시작하여 새 MCP 서버를 로드하세요.

개발

개발 서버 실행:

bun run dev

프로젝트 빌드:

bun run build

사용 가능한 MCP 도구

모든 도구의 자세한 사용 예는 USAGE.md를 참조하세요.

이슈 생성

새로운 선형 이슈나 하위 이슈를 만듭니다.

입력 스키마:

{ "teamId": "string", "title": "string", "description": "string", "parentId": "string", "status": "string", "priority": "number", "assigneeId": "string | 'me'", "labelIds": ["string"] }

업데이트_문제

기존 선형 문제를 업데이트합니다.

입력 스키마:

{ "issueId": "string", "title": "string", "description": "string", "status": "string", // Expects status NAME (e.g., "In Progress"). Must be valid for the issue's team. "priority": "number", // Expects 0 (None) to 4 (Low). "assigneeId": "string | 'me'", "labelIds": ["string"], "cycleId": "string" }

get_issue

선택적 관계를 통해 특정 선형 문제에 대한 자세한 정보를 얻습니다.

입력 스키마:

{ "issueId": "string", "includeRelationships": "boolean" }

검색_문제

쿼리 문자열과 고급 필터를 사용하여 Linear 문제를 검색하세요. Linear의 강력한 필터링 기능을 지원합니다.

입력 스키마:

{ "query": "string", "includeRelationships": "boolean", "filter": { "title": { "contains": "string", "eq": "string", ... }, "description": { "contains": "string", "eq": "string", ... }, "priority": { "gte": "number", "lt": "number", ... }, "estimate": { "eq": "number", "in": ["number"], ... }, "dueDate": { "lt": "string", "gt": "string", ... }, "createdAt": { "gt": "P2W", "lt": "2024-01-01", ... }, "updatedAt": { "gt": "P1M", ... }, "completedAt": { "null": true, ... }, "assignee": { "id": { "eq": "string" }, "name": { "contains": "string" } }, "creator": { "id": { "eq": "string" }, "name": { "contains": "string" } }, "team": { "id": { "eq": "string" }, "key": { "eq": "string" } }, "state": { "type": { "eq": "started" }, "name": { "eq": "string" } }, "labels": { "name": { "in": ["string"] }, "every": { "name": { "eq": "string" } } }, "project": { "id": { "eq": "string" }, "name": { "contains": "string" } }, "and": [{ /* filters */ }], "or": [{ /* filters */ }], "assignedTo": "string | 'me'", "createdBy": "string | 'me'" }, "projectId": "string", "projectName": "string" }

지원되는 비교기:

  • 문자열 필드: eq , neq , in , nin , contains , startsWith , endsWith (대소문자 구분 없는 변형 포함)
  • 숫자 필드: eq , neq , lt , lte , gt , gte , in , nin
  • 날짜 필드: eq , neq , lt , lte , gt , gte (ISO 8601 기간 지원)

get_teams

이름/키 필터링 옵션을 사용하여 선형 팀 목록을 가져옵니다.

입력 스키마:

{ "nameFilter": "string" }

삭제_문제

기존 선형 문제를 삭제합니다.

입력 스키마:

{ "issueId": "string" }

댓글 생성

선형 문제에 대한 새로운 댓글을 작성하세요.

입력 스키마:

{ "issueId": "string", "body": "string" }

get_projects

이름 필터링 및 페이지 매김 기능이 옵션으로 제공되는 선형 프로젝트 목록을 가져옵니다.

입력 스키마:

{ "nameFilter": "string", "includeArchived": "boolean", "first": "number", "after": "string" }

프로젝트 업데이트 받기

선택적 필터링 매개변수를 사용하여 지정된 프로젝트 ID에 대한 프로젝트 업데이트를 가져옵니다.

입력 스키마:

{ "projectId": "string", "includeArchived": "boolean", "first": "number", "after": "string", "createdAfter": "string", "createdBefore": "string", "userId": "string | 'me'", "health": "string" }

프로젝트_업데이트_생성

Linear 프로젝트에 대한 새로운 업데이트를 만듭니다.

입력 스키마:

{ "projectId": "string", "body": "string", "health": "onTrack | atRisk | offTrack", "isDiffHidden": "boolean" }

기술적 세부 사항

  • Strict 모드에서 TypeScript로 빌드됨
  • Linear의 공식 SDK(@linear/sdk)를 사용합니다.
  • MCP SDK(@modelcontextprotocol/sdk 1.4.0)를 사용합니다.
  • API 토큰을 통한 인증
  • 포괄적인 오류 처리
  • 속도 제한 고려 사항
  • 성능 향상을 위한 Bun 런타임
  • ESM 모듈 전체
  • Vite 빌드 시스템
  • 유형 안전 작업
  • 데이터 정리 기능:
    • 이슈 언급 추출(ABC-123 형식)
    • 사용자 언급 추출(@사용자 이름 형식)
    • 마크다운 콘텐츠 정리
    • AI 컨텍스트에 대한 콘텐츠 최적화
  • 자기 배정 지원:
    • 자동 현재 사용자 해결
    • 생성/업데이트 작업에서 'me' 키워드 지원
    • 효율적인 사용자 ID 캐싱
  • 고급 검색 기능:
    • Linear의 API를 사용한 포괄적인 필터링
    • 모든 필드 비교기 지원
    • 관계 필터링
    • 논리 연산자(and, or)
    • 상대 날짜 필터링
    • 담당자/작성자(본인 포함)로 필터링
    • 특정 사용자 ID 지원
    • ID 또는 이름으로 프로젝트 필터링
    • 효율적인 쿼리 최적화
  • 프로젝트 관리 기능:
    • 필터링 및 페이지 매김 기능이 있는 프로젝트 목록
    • 상태 추적을 통한 프로젝트 업데이트 생성
    • 필터링 옵션을 사용한 프로젝트 업데이트 검색

오류 처리

서버는 포괄적인 오류 처리 전략을 구현합니다.

  • 네트워크 오류 감지 및 적절한 메시징
  • HTTP 상태 코드 처리
  • 상태 코드가 포함된 자세한 오류 메시지
  • 콘솔에 오류 세부 정보 로깅
  • 모든 매개변수에 대한 입력 검증
  • 라벨 검증 및 동기화
  • MCP 프로토콜을 통한 안전한 오류 전파
  • 속도 제한 감지 및 처리
  • 인증 오류 처리
  • 잘못된 쿼리 처리
  • 하위 이슈에 대한 팀 상속 검증
  • 사용자 해상도 검증
  • 검색 필터 검증

특허

이 프로젝트는 MIT 라이선스에 따라 라이선스가 부여되었습니다. 자세한 내용은 LICENCE 파일을 참조하세요.

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

Linear의 문제 추적 시스템에 접근하기 위한 모델 컨텍스트 프로토콜 인터페이스를 제공하여 사용자가 TypeScript 유형 안전성과 강력한 오류 처리를 통해 문제를 쿼리하고 검색할 수 있도록 합니다.

  1. Features
    1. Prerequisites
      1. Environment Variables
        1. Installation & Setup
          1. 1. Clone the repository:
          2. 2. Install dependencies and build:
          3. 3. Configure the MCP server:
          4. 4. Restart the MCP server.
        2. Development
          1. Available MCP Tools
            1. create_issue
            2. update_issue
            3. get_issue
            4. search_issues
            5. get_teams
            6. delete_issue
            7. create_comment
            8. get_projects
            9. get_project_updates
            10. create_project_update
          2. Technical Details
            1. Error Handling
              1. LICENCE
                ID: 83wkbjoqvn