mcpField
L
Linear MCP (multi-workspace, PAT auth)

Linear MCP (multi-workspace, PAT auth)

ローカル
github.com/adelaidasofia生産性23 日前に更新

Linear MCP (multi-workspace, PAT auth) について

複数の Linear ワークスペースを扱うチーム向けの MCP サーバーで、Personal API Key で認証します。幅広い課題・プロジェクト操作に加え、書き込みの制御と課題実行 CLI を備えています。

主な機能

  1. 01ワークスペース間でのツール切り替え
  2. 02課題、プロジェクト、コメント、文書の管理
  3. 03Linear の各種データ検索
  4. 04作成時のソース表記と重複チェック
  5. 05破壊的操作の事前ステージと確認
  6. 06linear-exec による課題作業の事前確認

活用シーン

  1. 01複数ワークスペースの Linear データ操作
  2. 02ソース表記と重複を確認して課題を作成
  3. 03受信トレイやプロジェクト状況の確認
  4. 04リポジトリ作業の開始前に課題を確認

MCP 対応

Linear を操作する 57 個のツールと 3 個のプロンプトを MCP クライアントに提供します。各ツールではワークスペースを指定でき、設定済みの各ワークスペースで Personal API Key 認証を利用します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ
パッケージ
pypiadelaidasofia-linear-mcp0.3.2
mcpblinear-mcp.mcpb0.3.2

ツール

57

掲載時のツール一覧 · 2 週間前に更新

このツールにパラメーターはありません。

詳細

linear-mcp

Personal API Key 認証を使用する、複数ワークスペース対応の Linear MCP サーバーです。mcp.linear.app/mcp にある公式の OAuth 専用 Linear MCP とそのまま置き換えられます。

これが必要な理由。 公式の Linear MCP は OAuth 専用で、インスタンスごとに単一のワークスペースしか扱えません。PAT 認証、永続的なトークン保存、複数ワークスペースへのルーティングにより、3 つの失敗要因を解消します。

  1. MCP クライアントのセッション境界をまたぐと、OAuth フローは不安定になります。フローの途中でセッションが再開されると、認証状態が期限切れになります。
  2. 一部の環境では localhost のコールバックが失敗し、脆弱な貼り付けによる受け渡しが必要になります。
  3. ワークスペースごとに MCP インスタンスを用意すると、設定と OAuth の手順が二重になります。

このサーバーなら、どちらの問題も 1 つのエントリで解決できます。インストールは 1 回だけで、N 個のワークスペースに対応し、OAuth の手順はもう必要ありません。

インストール

PyPI から
pipx install adelaidasofia-linear-mcp
ソースから
git clone https://github.com/adelaidasofia/linear-mcp ~/.claude/linear-mcp
cd ~/.claude/linear-mcp
pip install -e .
Claude Desktop ワンクリックインストール

Releases から最新の .mcpb をダウンロードし、ダブルクリックします。

設定

  1. https://linear.app/settings/account/security で、ワークスペースごとに Personal API Key を 1 つ生成します。キーを生成するワークスペースに、個別にログインしている必要があります。

  2. ~/.claude/linear-mcp/admin.env を作成します(chmod 600)。

LINEAR_WORKSPACES=personal,work
LINEAR_PRIMARY_WORKSPACE=personal

LINEAR_PAT_PERSONAL=lin_api_xxxxxxxxxxxxxxxxxxxxxxxxxxxx
LINEAR_PAT_WORK=lin_api_xxxxxxxxxxxxxxxxxxxxxxxxxxxx

LINEAR_LABEL_PERSONAL=Personal
LINEAR_LABEL_WORK=Work

エイリアスは任意です。ルーティングに便利な名前を付けてください(acme,beta、team1,team2、home,client など)。

chmod 600 ~/.claude/linear-mcp/admin.env
  1. Claude Code に登録します(すべてのプロジェクトで読み込まれるよう、ユーザースコープに設定します)。
claude mcp add -s user linear-mcp python3 -m linear_mcp.server

または、pipx でインストールする場合:

claude mcp add -s user linear-mcp linear-mcp
  1. Claude Code を再起動します。ワークスペースごとに healthcheck が ok: true を返すことを確認してください。

基盤レイヤーでの強制チェック(v0.3)

Markdown のルールファイルやクライアント側のメモリに依存せず、イシューの品質を守る 3 つのサーバー側チェックです。WRITE パスのみに適用され、読み取りは制約されません。

レイヤー動作バイパス用環境変数
[source:] の先頭行チェックsave_issue / save_project は、description(またはプロジェクトの content)が [source: <canonical-key>] で始まらない CREATE 呼び出しを拒否します。UPDATE 呼び出し(id を指定)はチェックをスキップするため、既存データのバックフィルは引き続き実行できます。LINEAR_MCP_SKIP_SOURCE_CHECK=1
冪等性チェックCREATE の前に、サーバーは [source: <key>] を指定して searchIssues / searchProjects を実行し、重複の作成を拒否します。エラーには既存の識別子と UUID が表示されるため、呼び出し元は既存の項目を更新できます。LINEAR_MCP_SKIP_IDEMPOTENCY=1
bulk_save_issues の auth_phrasebulk_save_issues では、auth_phrase に {"go"、"yes do it"、"confirmed"、"execute"、"go cancel"、"go update"} のいずれかを指定する必要があります(大文字と小文字は区別されません)。大量変更を行う際の確認手順は明示的なままです。(バイパス不可 — フレーズをオペレーターに提示してください)

正規キーの例:

  • [source: 🍄 Mycelium AI/📝 Meeting Notes/2026-05-22 - sync.md]
  • [source: ⚙️ Meta/Decisions/2026-05-23-merger-public-comms.md]
  • [source: linear-kickoff:sweep-myc-p1]
  • [source: ~/.claude/linear-mcp/BUILD_PROMPT_V03.md]

イシューからすばやく作業を開始

linear-exec は、Linear のイシューから実際の作業を開始するための最短ルートです。 イシューを特定し、ブロック関係を確認し、同じプロジェクト内の関連イシューを調べて明らかなスコープの重複がないかを確認します。可能な場合はリポジトリを推定し、標準の claude-dev-worktree ブランチを作成できます。

特定のイシューをドライランします。

linear-exec execute MYC-150 --workspace mycelium

事前チェックの内容を確認してから作業を開始します。

linear-exec execute MYC-150 --workspace mycelium --repo memory-runtime-pro --go

ワークスペース内で、ブロックされていない次の P1 イシューを探します。

linear-exec sweep mycelium p1
linear-exec sweep mycelium p1 --go --repo memory-runtime-pro

上流の blocks 関係が未完了の場合、--force を指定しない限りコマンドは実行を拒否します。--no-state-update と --no-worktree を指定すると、エージェントは事前チェックの必要な部分だけを利用できます。

ツール一覧(v0.3 — 57 個のツール + 3 個のプロンプト)

すべてのツールで workspace パラメーター(LINEAR_WORKSPACES に設定したエイリアス)を任意で指定できます。省略すると LINEAR_PRIMARY_WORKSPACE が使用されます。

メタ
ツール用途
list_workspaces設定済みのワークスペースとプライマリワークスペースを表示します
healthcheck各 PAT を検証し、残りのレート制限枠を表示します
コアエンティティ
ツール用途
list_teams / get_teamチーム(ワークフローの状態をインラインで含みます)
list_users / get_userユーザー(me は PAT の所有者に解決されます)
list_projects / get_project / save_projectプロジェクト(v0.3:save_project は content 内の [source:] を必須とし、CREATE 時の冪等性を保証します)
list_initiatives / get_initiative / save_initiativeイニシアチブ
list_issues / get_issue / save_issue / bulk_save_issues課題(ID または ONDE-123。一括処理では issueBatchUpdate を使用します。v0.3:save_issue は [source:] を必須とし、CREATE 時の冪等性を保証します。bulk_save_issues には auth_phrase が必要です)
list_cyclesサイクル
list_milestones / get_milestone / save_milestoneプロジェクトのマイルストーン
list_issue_statuses / get_issue_statusワークフローの状態
list_issue_labels / create_issue_labelラベル
list_comments / save_commentコメント
list_documents / get_document / save_documentドキュメント
save_status_updateプロジェクトのステータス更新を投稿します
Webhook(v0.2)
ツール用途
list_webhooks / get_webhookサブスクリプションを確認します
create_webhook / update_webhookサブスクリプションを管理します
delete_webhook破壊的操作 — 下書き作成と確認が必要です
通知/受信トレイ(v0.2)
ツール用途
list_notifications / get_notification受信トレイを読み取ります
notifications_unread_count優先事項の件数
mark_notification_read / mark_all_notifications_readトリアージ
archive_notification一括整理
添付ファイル(v0.2)
ツール用途
list_attachments / get_attachment課題ごとの読み取り
attachments_for_url逆引き:この URL にリンクしている課題を確認します
link_url_to_issue任意の URL を課題に添付します
delete_attachment破壊的操作 — 下書き作成と確認が必要です
課題の関連(v0.2)
ツール用途
list_issue_relationsブロック/重複/関連のグラフ
create_issue_relation / delete_issue_relationグラフを管理します
エージェントセッション(v0.2)
ツール用途
list_agent_sessions / get_agent_sessionLinear のファーストクラスなエージェント機能
create_agent_session_on_issue / create_agent_session_on_commentエージェントセッションを開始します
検索(v0.2 — v0.1 の壊れた search_documentation を置き換えます)
ツール用途
search_issues / search_documents / search_projectsエンティティタイプごとの全文検索
semantic_searchワークスペース内の全エンティティを対象とするセマンティック検索
MCP プロンプト(v0.2)

プロンプトを表示する MCP クライアントでは、スラッシュコマンドとして利用できます。

  • /triage-issue — 分類、ラベル付け、優先順位付け、担当者の割り当て、重複課題へのリンクを行う完全なトリアージ
  • /project-status — 現在の Linear の状態から週次ステータス更新の下書きを作成します
  • /inbox-sweep — 今日の通知を確認し、対応を提案して、処理済みの通知をアーカイブします

複数ワークスペースの利用

ワークスペースをインラインで切り替えます。

list_teams(workspace="work")
save_issue(workspace="personal", title="Ship", team_id="...")

workspace を指定しない場合は、プライマリワークスペースが使用されます。

認証

Linear の PAT では、ヘッダー Authorization: <key> を使用します(Bearer プレフィックスは不要です)。各 PAT は 1 つのワークスペースに紐づき、所有ユーザーが閲覧できるデータにのみアクセスできます。組織共通のトークンはありません。

レート制限:トークンごとに毎時 2500 リクエスト(2026-05-23 にライブ API で検証済み)。サーバーは Linear の Retry-After ヘッダーを 429 時にそのまま渡し、残りの利用枠を healthcheck で表示します。

安全性

読み取りツールと通常の書き込み(課題、コメント、ラベル、ステータス更新の作成・更新)はそのまま実行されます。破壊的操作(delete_webhook、delete_attachment)では、下書き+確認のパターンを使用します。最初の呼び出しで変更をステージングし、draft_id と実行内容のプレビューを返します。2 回目の呼び出し(confirm_draft_id を指定)で変更を確定します。下書きの有効期限は 1 時間です(LINEAR_MCP_DRAFT_TTL_SECONDS で変更できます)。

すべてのツール呼び出しは、~/.claude/linear-mcp/audit.log に JSONL 形式の行を 1 行追加します(LINEAR_MCP_AUDIT_LOG_PATH で保存先を変更でき、LINEAR_MCP_AUDIT_LOG=false で無効にできます)。監査記録からトークンは除外されます。

healthcheck はワークスペースごとに、各 PAT の残りのレート制限枠(X-RateLimit-Requests-Remaining と X-Complexity-Remaining)を表示するため、エージェントは別途、可観測性のための呼び出しを行わずにリクエスト頻度を調整できます。

関連する MCP

ライセンス

MIT。


Adelaida Diaz-Roa が開発しました。完全版またはチーム版のインストールについては、diazroa.com をご覧ください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。