Skip to main content
Glama

선형 MCP 서버

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

특징

  • 레이블 지원을 통해 새로운 이슈와 하위 이슈를 생성합니다.

  • 선형 프로젝트 목록을 검색합니다.

  • 프로젝트 업데이트 검색

  • 상태 정보를 포함한 새 프로젝트 업데이트 만들기

  • 전체 필드 수정으로 기존 문제 업데이트

  • 유효성 검사 문제 삭제

  • '나' 키워드를 사용하여 문제를 자체 할당합니다.

  • Linear의 강력한 필터링 기능을 활용한 고급 검색

  • 주기별 문제 필터링(UUID 또는 번호별 현재, 다음, 이전 또는 특정 주기)

  • 마크다운 지원 문제에 주석 추가

  • 선택적 관계를 사용하여 ID 또는 키로 선형 문제 쿼리

  • 향상된 메타데이터를 사용하여 사용자 정의 쿼리를 사용하여 문제 검색

  • Linear의 공식 SDK를 사용한 유형 안전 작업

  • 포괄적인 오류 처리

  • 속도 제한 처리

  • 깨끗한 데이터 변환

  • 팀 상속을 통한 부모/자식 관계 추적

  • 라벨 관리 및 동기화

Related MCP server: Linear MCP Server

필수 조건

  • 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

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/packetnomad/linear-mcp'

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