Skip to main content
Glama

선형 MCP 서버

이는 Linear용 MCP(Model Context Protocol) 서버로, Claude가 Linear의 API와 상호 작용하여 팀, 이슈, 프로젝트 및 주기를 관리할 수 있도록 해줍니다.

클라인 MCP 마켓플레이스

특징

  • linear_get_teams : 모든 팀과 그 상태, 레이블을 가져옵니다.

  • linear_search_issues : 필터링 및 페이지 매김 관련 문제 검색

  • linear_get_cycles : 팀의 모든 사이클을 가져옵니다.

  • linear_get_projects : 모든 프로젝트 가져오기

  • linear_create_issue : 새로운 이슈를 생성합니다

  • linear_update_issue : 기존 이슈를 업데이트합니다

Related MCP server: Backlog MCP Server

빠른 시작

Cline MCP Marketplace 사용자를 위한 안내:

  1. Cline MCP Marketplace를 통해 서버를 설치하세요

  2. MCP 구성 파일에서 선형 자격 증명을 구성하세요.

  3. linear_search_issues 로 연결을 테스트하여 설치를 확인하세요.

자세한 설치검증 섹션은 아래에서 확인하세요.

설치

  1. 이 저장소를 복제하세요

  2. 종속성 설치:

    지엑스피1

  3. 서버를 빌드하세요:

    npm run build

설치 과정은 세 가지 주요 단계로 구성됩니다.

  1. 설정 : 서버 복제 및 빌드(위 단계)

  2. 구성 : 선형 OAuth 토큰을 설정하고 MCP 서버를 구성합니다.

  3. 검증 : 연결이 제대로 작동하는지 테스트합니다.

⚠️ 연결이 작동하는지 확인하기 전까지는 설치가 완료되지 않습니다!

구성

서버는 Linear API 인증을 위해 Linear OAuth 토큰이 필요합니다. MCP 구성 파일에서 이 토큰을 설정할 수 있습니다.

선형 OAuth 토큰 얻기

  1. https://linear.app/settings/api/applications 에서 Linear OAuth 애플리케이션을 만듭니다.

  2. OAuth 애플리케이션 만들기

  3. 응용 프로그램 이름을 Cline MCP로 지정하세요.

  4. 리디렉트 URI를 http://localhost:3000/callback 으로 설정합니다.

  5. 클라이언트 ID와 클라이언트 비밀번호를 기록하세요.

  6. USER 기반 개발자 토큰 생성 및 복사

MCP 구성

MCP 구성 파일에 다음을 추가하세요.

{ "mcpServers": { "github.com/cpropster/linear-mcp-server": { "command": "node", "args": [ "/path/to/linear-mcp-server/build/index.js" ], "env": { "LINEAR_CLIENT_ID": "your-client-id", "LINEAR_CLIENT_SECRET": "your-client-secret", "LINEAR_REDIRECT_URI": "http://localhost:3000/callback", "LINEAR_REFRESH_TOKEN": "your-refresh-token" }, "disabled": false, "autoApprove": [] } } }

플레이스홀더 자격 증명을 실제 자격 증명으로 바꾸세요.

설치 확인

⚠️ 중요 : MCP 연결이 올바르게 작동하는지 확인하기 전까지는 설치가 완료되지 않습니다.

MCP 서버를 구성한 후에는 연결이 제대로 작동하는지 테스트해야 합니다.

  1. MCP 구성을 다시 로드합니다

  2. linear_search_issues 도구를 사용하여 연결을 테스트합니다.

use_mcp_tool( server_name="github.com/cpropster/linear-mcp-server", tool_name="linear_search_issues", arguments={ "first": 5 } )

성공하면 다음과 같은 응답이 표시됩니다.

{ "issues": { "nodes": [ { "id": "123abc", "title": "Example issue 1", "identifier": "TEAM-123", "description": "This is an example issue" // ... other issue data }, // ... more issues ] } }

연결이 정상이면 Linear 계정의 문제 목록이 표시됩니다. 오류가 표시되면 구성 및 자격 증명을 확인하세요.

일반적인 문제:

  • args 필드에 잘못된 서버 경로가 있습니다.

  • 유효하지 않거나 만료된 선형 토큰

  • 필수 환경 변수가 누락되었습니다.

  • 구성에서 서버가 비활성화되었습니다.

용법

팀 만들기

linear_get_teams 도구를 사용하여 모든 팀을 검색합니다.

use_mcp_tool( server_name="github.com/cpropster/linear-mcp-server", tool_name="linear_get_teams", arguments={} )

문제 검색

linear_search_issues 도구를 사용하여 문제를 검색하세요.

use_mcp_tool( server_name="github.com/cpropster/linear-mcp-server", tool_name="linear_search_issues", arguments={ "query": "Optional search query", "teamIds": ["Optional team IDs"], "first": 10 // Number of issues to return (default: 50) } )

사이클 얻기

linear_get_cycles 도구를 사용하여 팀의 사이클을 검색합니다.

use_mcp_tool( server_name="github.com/cpropster/linear-mcp-server", tool_name="linear_get_cycles", arguments={ "teamId": "required-team-id" } )

프로젝트 가져오기

linear_get_projects 도구를 사용하여 프로젝트를 검색합니다.

use_mcp_tool( server_name="github.com/cpropster/linear-mcp-server", tool_name="linear_get_projects", arguments={ "teamId": "optional-team-id", "first": 10 // Number of projects to return (default: 50) } )

문제 만들기

linear_create_issue 도구를 사용하여 새로운 이슈를 생성하세요.

use_mcp_tool( server_name="github.com/cpropster/linear-mcp-server", tool_name="linear_create_issue", arguments={ "teamId": "required-team-id", "title": "Required issue title", "description": "Optional issue description", "assigneeId": "optional-assignee-id", "stateId": "optional-state-id", "priority": 0, // Optional priority (0-4) "estimate": 1, // Optional estimate "cycleId": "optional-cycle-id", "projectId": "optional-project-id", "labelIds": ["optional-label-ids"] } )

문제 업데이트

linear_update_issue 도구를 사용하여 기존 이슈를 업데이트합니다.

use_mcp_tool( server_name="github.com/cpropster/linear-mcp-server", tool_name="linear_update_issue", arguments={ "issueId": "required-issue-id", "title": "Optional new title", "description": "Optional new description", "assigneeId": "optional-assignee-id", "stateId": "optional-state-id", "priority": 0, // Optional priority (0-4) "estimate": 1, // Optional estimate "cycleId": "optional-cycle-id", "projectId": "optional-project-id", "labelIds": ["optional-label-ids"] } )

디버깅

검증 단계 에서 문제가 발생하거나 MCP 연결이 작동하지 않는 경우 다음 디버깅 기술을 사용할 수 있습니다.

  1. MCP 구성 확인 : MCP 구성 파일에 올바른 서버 경로와 자격 증명이 있는지 확인하세요.

  2. 테스트 클라이언트 실행 : 포함된 테스트 클라이언트를 사용하여 서버가 Linear에 연결할 수 있는지 확인하세요.

    node test-client.js

    이렇게 하면 서버가 Linear에 연결하여 데이터를 검색할 수 있는지 확인하기 위한 일련의 테스트가 실행됩니다.

  3. Linear API 상태 확인 : Linear API가 status.linear.app 에서 작동하는지 확인합니다.

  4. 서버 로그 검사 : 서버를 수동으로 실행하는 경우 콘솔 출력에서 오류 메시지를 확인하세요.

개발

서버는 TypeScript와 Linear SDK를 사용하여 구축되었습니다. 주요 구현은 src/index.ts 에 있습니다.

서버를 변경하려면:

  1. src/ 의 소스 코드를 편집하세요

  2. npm run build 로 서버를 빌드하세요

  3. 테스트 클라이언트로 변경 사항을 테스트하세요

  4. 새 빌드를 사용하도록 MCP 구성을 업데이트하세요.

보안 고려 사항

이 MCP 서버는 Linear 계정에 대한 액세스 권한을 필요로 합니다. 데이터 보안을 유지하려면 다음 단계를 따르세요.

  1. 민감한 토큰을 커밋하지 마십시오 . .env 파일과 토큰을 포함하는 모든 파일은 .gitignore 에서 제외됩니다.

  2. 환경 변수 사용 : 토큰을 하드코딩하는 대신 항상 MCP 구성에서 환경 변수를 사용하세요.

  3. 권한 제한 : Linear OAuth 애플리케이션을 생성할 때 필요한 권한만 부여합니다.

  4. 정기적으로 토큰 회전 : 주기적으로 새 토큰을 생성하고 구성을 업데이트합니다.

서버는 공식 Linear SDK를 사용하고 HTTPS를 통해 Linear의 API와 통신하여 데이터가 안전하게 전송되도록 보장합니다.

특허

MIT

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

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