Linear MCP Server

by packetnomad
Verified
MIT License
10
  • Apple
  • Linux

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

  • Uses the Bun runtime environment for running the MCP server, requiring Bun v1.0.0 or higher as a prerequisite for installation and operation.

  • Provides tools for interacting with Linear's issue tracking system, enabling the creation, updating, deletion, and searching of issues, management of projects and teams, adding comments with markdown support, and creating project updates with health status tracking.

  • Supports markdown formatting in issue comments and descriptions, allowing for rich text formatting when interacting with Linear content.

선형 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", "priority": "number", "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 파일을 참조하세요.

-
security - not tested
A
license - permissive license
-
quality - not tested

표준화된 모델 컨텍스트 프로토콜 인터페이스를 통해 Linear의 문제 추적 시스템에 대한 액세스를 제공하여 사용자가 자연어로 문제, 프로젝트 및 의견을 생성, 업데이트, 검색 및 관리할 수 있도록 합니다.

  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: kz5byc7lm1