リニアMCPサーバー
Linear API用のモデル コンテキスト プロトコルサーバー。
このサーバーは、MCP を介して Linear の問題追跡システムとの統合を提供し、LLM が Linear の問題を処理できるようにします。
インストール
自動インストール
Smithery経由で Claude Desktop 用の Linear MCP サーバーを自動的にインストールするには:
手動インストール
Linear 個人 API キーを作成または取得します: https://linear.app/settings/account/security
Claude Desktop にサーバー設定を追加します。
MacOS:
~/Library/Application Support/Claude/claude_desktop_config.json
Related MCP server: Linear MCP Server
コンポーネント
ツール
ユーザー関連ツール
linear_get_viewer: 認証されたユーザーに関する情報を取得する入力は不要です
ID、名前、メール、アクティブステータスなどのユーザープロファイル情報を返します
linear_get_user_issues: ユーザーに割り当てられた問題を取得するオプション入力:
userId(文字列): ユーザーID (認証されたユーザーの場合は省略)includeArchived(boolean): アーカイブされた問題を含めるlimit(数値、デフォルト:50):最大結果数
linear_get_user_teams: ユーザーに関連付けられたチームを取得するオプション入力:
userId(文字列): チームを取得するユーザーID(認証されたユーザーの場合は省略)includeArchived(boolean): アーカイブされたチームを含めるlimit(数値、デフォルト:50):返されるチームの最大数
ユーザーが所属するチームのリストを返します
linear_get_user_projects: ユーザーに関連付けられたプロジェクトを取得するオプション入力:
userId(文字列): プロジェクトを取得するユーザーID(認証されたユーザーの場合は省略)includeArchived(boolean): アーカイブされたプロジェクトを含めるlimit(数値、デフォルト:50):返されるプロジェクトの最大数status(文字列):プロジェクトのステータスでフィルタリングします(例:「完了」、「進行中」)
ユーザーがリーダーまたはメンバーであるプロジェクトのリストを返します
チーム関連ツール
linear_get_teams: 組織内のチームを取得するオプション入力:
includeArchived(boolean): アーカイブされたチームを含めるlimit(数値、デフォルト:50):返されるチームの最大数
linear_get_team: 特定のチームの詳細を取得する必要な入力:
teamId(文字列): 詳細を取得するチームID
名前、キー、メンバー、設定などのチーム情報を返します
linear_get_team_issues: 特定のチームの問題を取得する必要な入力:
teamId(文字列): 問題を取得するチームID
オプション入力:
includeArchived(boolean): アーカイブされた問題を含めるlimit(数値、デフォルト:50):返される問題の最大数status(文字列):問題のステータスでフィルタリングpriority(数値):優先度でフィルタリングassigneeId(文字列): 担当者によるフィルタリング
プロジェクト関連ツール
linear_get_projects: 組織内のプロジェクトを取得するオプション入力:
teamId(文字列): チーム別にプロジェクトをフィルタリングincludeArchived(boolean): アーカイブされたプロジェクトを含めるlimit(数値、デフォルト:50):返されるプロジェクトの最大数status(文字列): プロジェクトのステータスでフィルタリング
linear_get_project: 特定のプロジェクトの詳細を取得する必要な入力:
projectId(文字列): 詳細を取得するプロジェクトID
進捗、ステータス、チーム、リーダー、日付などの詳細なプロジェクト情報を返します
linear_get_project_issues: 特定のプロジェクトの問題を取得する
必要な入力:
projectId(文字列): 問題を取得するプロジェクトID
オプション入力:
includeArchived(boolean): アーカイブされた問題を含めるlimit(数値、デフォルト:50):返される問題の最大数status(文字列):問題のステータスでフィルタリングpriority(数値):優先度でフィルタリング
問題関連ツール
linear_create_issue: 新しいLinear問題を作成する
必要な入力:
title(文字列): 問題のタイトルteamId(文字列): 問題を作成するチームID
オプション入力:
description(文字列): 問題の説明 (マークダウン対応)priority(数字、0~4):優先度レベル(1=緊急、4=低)status(文字列):初期ステータス名
linear_update_issue: 既存の問題を更新する
必要な入力:
id(文字列): 更新する問題ID
オプション入力:
title(文字列): 新しいタイトルdescription(文字列): 新しい説明priority(数字、0~4):新しい優先度status(文字列): 新しいステータス名
linear_search_issues: 柔軟なフィルタリングによる問題の検索
オプション入力:
query(文字列): タイトル/説明で検索するテキストteamId(文字列): チームでフィルタリングstatus(文字列):ステータスでフィルタリングassigneeId(文字列): 担当者によるフィルタリングlabels(文字列[]): ラベルでフィルタリングpriority(数値):優先度でフィルタリングlimit(数値、デフォルト:10):最大結果数
linear_add_comment: 問題にコメントを追加する
必要な入力:
issueId(文字列): コメントする問題IDbody(文字列): コメントテキスト(マークダウン対応)
オプション入力:
createAsUser(文字列): カスタムユーザー名displayIconUrl(文字列): カスタムアバターURL
ラベル管理ツール
linear_get_labels: 組織内のラベルを取得する
オプション入力:
teamId(文字列): チームでラベルをフィルタリングincludeArchived(boolean): アーカイブされたラベルを含めるlimit(数値、デフォルト: 50): 返されるラベルの最大数
linear_create_label: 新しいラベルを作成する
必要な入力:
name(文字列): ラベル名teamId(文字列): ラベルを作成するチームID
オプション入力:
color(文字列): 色の16進コード(例: "#FF0000")description(文字列): ラベルの説明
linear_update_label: 既存のラベルを更新する
必要な入力:
id(文字列): 更新するラベルID
オプション入力:
name(文字列): 新しいラベル名color(文字列): 新しい色の16進コードdescription(文字列): 新しい説明
添付ファイル管理ツール
linear_add_attachment: 問題に添付ファイルを追加する
必要な入力:
issueId(文字列): 添付ファイルを追加する問題IDurl(文字列): 添付ファイルのURLtitle(文字列): 添付ファイルのタイトル
オプション入力:
subtitle(文字列): 添付ファイルのサブタイトルicon(文字列): 添付ファイルのアイコンURL
linear_get_attachments: 問題の添付ファイルを取得する
必要な入力:
issueId(文字列): 添付ファイルを取得する問題ID
問題関係ツール
linear_link_issues: 問題間の関係を作成する
必要な入力:
issueId(文字列): ソースの問題IDrelatedIssueId(文字列): 対象の問題IDtype(文字列): 関係の種類 (例: "blocks"、"related"、"duplicate")
linear_get_issue_relations: 問題の関係を取得する
必要な入力:
issueId(文字列): 関係を取得する問題ID
オプション入力:
type(文字列): 関係の種類でフィルタリング
マイルストーン管理ツール
linear_get_milestones: プロジェクトのマイルストーンを取得する
オプション入力:
projectId(文字列): プロジェクト別にマイルストーンをフィルタリングincludeArchived(boolean): アーカイブされたマイルストーンを含めるlimit(数値、デフォルト:50):返されるマイルストーンの最大数
linear_create_milestone: 新しいマイルストーンを作成する
必要な入力:
name(文字列): マイルストーン名projectId(文字列): マイルストーンを作成するプロジェクトIDtargetDate(文字列): 目標完了日 (ISO 形式)
オプション入力:
description(文字列): マイルストーンの説明sortOrder(数値): マイルストーンリスト内の位置
linear_update_milestone: 既存のマイルストーンを更新する
必要な入力:
id(文字列): 更新するマイルストーンID
オプション入力:
name(文字列): 新しいマイルストーン名targetDate(文字列): 新しい目標日description(文字列): 新しい説明status(文字列):新しいステータス(例:「計画中」、「進行中」、「完了」)
リソース
linear-issue:///{issueId}: 個々の問題の詳細を表示するタイトル、説明、コメント、メタデータなどの問題情報を返します
linear-team:///{teamId}: チームの詳細を表示名前、キー、説明、メンバーなどのチーム情報を返します
linear-team:///{teamId}/issues: チームの問題を表示する特定のチームのすべての問題をステータスと優先度情報とともに返します
linear-project:///{projectId}: プロジェクトの詳細を表示名前、説明、進捗、ステータス、リーダー、チーム、タイムラインなどのプロジェクト情報を返します。
linear-project:///{projectId}/issues: プロジェクトの問題を表示する特定のプロジェクトのすべての問題をステータスと割り当て情報とともに返します
linear-project:///{projectId}/milestones: プロジェクトのマイルストーンを表示する特定のプロジェクトのすべてのマイルストーンを進捗状況とステータス情報とともに返します
linear-user:///{userId}/assigned: ユーザーに割り当てられた課題を表示するプロジェクトとチームのコンテキストで特定のユーザーに割り当てられた問題を返します
linear-organization:: 組織情報を表示名前や設定を含む組織レベルの情報を返します
linear-viewer:: 現在のユーザーコンテキストを表示する認証されたユーザーに関する情報を返します
linear-viewer:///teams: 認証されたユーザーのチームを表示する現在のユーザーがメンバーであるすべてのチームを返します
linear-viewer:///projects: 認証されたユーザーのプロジェクトを表示する現在のユーザーが関与しているすべてのプロジェクト(リーダーまたはメンバーとして)を返します。
linear-viewer:///assigned: 認証されたユーザーに割り当てられた課題を表示するプロジェクトとチームのコンテキストで現在のユーザーに割り当てられたすべての問題を返します
linear-label:///{labelId}: ラベルの詳細を表示名前、色、関連する問題などのラベル情報を返します
使用例
Claude Desktop を使用して Linear と対話するために使用できるプロンプトの例を次に示します。
問題管理
「認証システムの新しいバグレポートを作成する」→
linear_create_issueを使用して適切な詳細を含む新しい問題を作成します「チケットFRONT-123の優先度を緊急に更新する」→
linear_update_issueを使用して既存の問題の優先度を変更します「ログインページのバグに根本原因を説明するコメントを追加する」→
linear_add_commentを使用して既存の問題に情報を追加します
問題の発見とフィルタリング
「優先度の高い問題をすべて表示」→ 自分に割り当てられた優先度の高い問題を見つけるには、
linear_get_user_issuesまたはlinear-viewer:///assigned使用します。「進行中のすべてのフロントエンドタスクを検索する」→
linear_search_issuesを使用して、「進行中」ステータスのフロントエンド関連の問題を検索します。「現在サラに割り当てられている課題は何ですか?」→ サラのIDを指定して
linear_get_user_issues実行すると、サラの課題が表示されます。
チームとプロジェクト管理
「私はどのチームのメンバーですか?」→ 認証されたユーザーが所属するすべてのチームを一覧表示するには、
linear_get_user_teamsまたはlinear-viewer:///teamsを使用します。「自分が主導または貢献しているプロジェクトを表示」→
linear_get_user_projectsまたはlinear-viewer:///projectsを使用して、現在のユーザーに関連付けられているすべてのプロジェクトを取得します。「モバイルアプリプロジェクトの現在の進捗状況は?」→
linear_get_projectを使用して、進捗状況を含むプロジェクトの詳細情報を取得します。「フロントエンドチームのアクティブなプロジェクトをすべて一覧表示する」→
linear_get_teamを組み合わせてチーム ID を見つけ、linear_get_projectsとチームフィルターを組み合わせてアクティブなプロジェクトを見つけます。
ステータスとワークロード分析
「課金システムの問題に関する最近の更新の概要を教えてください」→
linear_search_issuesを使用して関連する問題を特定し、linear-issue:///{issueId}使用して問題の詳細を取得します「モバイルチームの現在の作業負荷はどれくらいですか?」→ チーム全体の課題の分布を分析するには
linear-team:///{teamId}/issuesまたはlinear_get_team_issuesを使用します。「組織内での自分の役割と責任を教えてください」→
linear_get_viewerとlinear-viewer:///teamsを使用して、チームのメンバーシップと役割を分析します。
ラベルと分類
「優先度の高いセキュリティ問題に「セキュリティ」ラベルを作成する」→
linear_create_labelを使用して適切な設定で新しいラベルを作成します「フロントエンドチームで利用できるラベルは何ですか?」→ フロントエンドチームIDを指定して
linear_get_labelsを使用すると、利用可能な分類が表示されます。「すべてのAPIの問題に「needs-documentation」ラベルを適用する」→
linear_search_issuesを使用してAPI関連の問題を見つけ、それぞれをlinear_update_issueで更新します。
マイルストーン管理
「ベータ版リリースのマイルストーンを作成する」→
linear_create_milestoneを使用して、ターゲット日を指定したプロジェクトマイルストーンを設定します。「モバイルアプリプロジェクトで今後達成予定のマイルストーンは何ですか?」→ プロジェクトIDを指定して
linear_get_milestones実行すると、予定されている配信ポイントが表示されます。「API v2 マイルストーンのステータスを完了に更新する」→
linear_update_milestoneを使用してマイルストーンのステータスを変更します
問題関係
「問題FRONT-123をAPI-456のブロッキングとしてマークする」→
linear_link_issuesを使用して問題間のブロッキング関係を作成します「このバグによってどのような問題がブロックされているか?」→依存関係を見つけるには
linear_get_issue_relationsを使用します「認証システムに関連するすべての問題を表示する」→適切なフィルターを使用して
linear_search_issuesを使用し、次にlinear_get_issue_relationsで関係性を調べます。
発達
依存関係をインストールします:
.envで Linear API キーを設定します。
サーバーを構築します。
自動リビルドを使用した開発の場合:
ライセンス
このMCPサーバーはMITライセンスに基づいてライセンスされています。つまり、MITライセンスの条件に従って、ソフトウェアを自由に使用、改変、配布することができます。詳細については、プロジェクトリポジトリのLICENSEファイルをご覧ください。