リニアMCPサーバー
これは Linear の Model Context Protocol (MCP) サーバーであり、Claude が Linear の API と対話してチーム、問題、プロジェクト、サイクルを管理できるようにします。
特徴
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 マーケットプレイス ユーザーの場合:
Cline MCP Marketplace を通じてサーバーをインストールする
MCP 構成ファイルでLinear 資格情報を構成する
linear_search_issuesで接続をテストしてインストールを確認します。
以下の詳細なインストールと検証のセクションを参照してください。
インストール
このリポジトリをクローンする
依存関係をインストールします:
npm installサーバーを構築します。
npm run build
インストール プロセスには主に 3 つのステップがあります。
セットアップ: サーバーのクローンと構築 (上記の手順)
構成: リニアOAuthトークンを設定し、MCPサーバーを構成する
検証: 接続が正しく機能していることを確認するためにテストします
⚠️接続が機能していることを確認するまで、インストールは完了しません。
構成
サーバーはLinear APIで認証するためにLinear OAuthトークンを必要とします。このトークンはMCP設定ファイルで設定できます。
リニアOAuthトークンの取得
https://linear.app/settings/api/applicationsで Linear OAuth アプリケーションを作成します。
OAuthアプリケーションを作成する
アプリケーションにCline MCPという名前を付けます
リダイレクトURIを
http://localhost:3000/callbackに設定するクライアントIDとクライアントシークレットをメモします
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 サーバーを構成した後、接続が適切に動作していることを確認するためにテストする必要があります。
MCP構成をリロードする
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 接続が機能しなくなった場合は、次のデバッグ手法を使用できます。
MCP 構成を確認する: MCP 構成ファイルに正しいサーバー パスと資格情報が含まれていることを確認します。
テスト クライアントを実行する: 付属のテスト クライアントを使用して、サーバーが Linear に接続できることを確認します。
node test-client.jsこれにより、サーバーが Linear に接続してデータを取得できることを確認するための一連のテストが実行されます。
Linear API ステータスの確認: status.linear.appで Linear API が動作していることを確認します。
サーバー ログの検査: サーバーを手動で実行している場合は、コンソール出力でエラー メッセージを確認します。
発達
サーバーはTypeScriptとLinear SDKを使用して構築されています。主な実装はsrc/index.tsにあります。
サーバーに変更を加えるには:
src/のソースコードを編集するnpm run buildでサーバーをビルドします。テストクライアントで変更をテストする
新しいビルドを使用するようにMCP構成を更新します
セキュリティに関する考慮事項
このMCPサーバーはLinearアカウントへのアクセスを必要とします。データの安全性を確保するため、以下の点にご注意ください。
機密トークンをコミットしない:
.envファイルとトークンを含むファイルは.gitignoreで除外されます。環境変数を使用する:MCP 構成では、トークンをハードコーディングするのではなく、常に環境変数を使用します。
権限を制限する: リニアOAuthアプリケーションを作成するときは、必要な権限のみを付与します。
トークンを定期的にローテーションする: 定期的に新しいトークンを生成し、設定を更新します
サーバーは公式の Linear SDK を使用し、HTTPS 経由で Linear の API と通信して、データが安全に送信されるようにします。
ライセンス
マサチューセッツ工科大学