Claude Linear連携 — 接続手順とできること
LinearはClaude Connectorsディレクトリで公式提供され、claude.ai・Desktop・Claude Codeで入口が違います。手順、読み取り専用にする2通り、Claude Codeで詰まる場面の切り分けを示します。
Claude Linear連携とは
Linear連携は、Issue・プロジェクト・コメントといったLinearのデータをClaudeから操作できるConnectorsです。Linear社自身が公式のMCP(Model Context Protocol)サーバー(https://mcp.linear.app/mcp)を中央でホストしており、ClaudeはそこにOAuth 2.1で接続します。Linearの公式ドキュメントは、このサーバーにIssue・プロジェクト・コメントなどを探す・作る・更新するツールがあると説明しています。
Claudeは接続した本人のLinear上の権限をそのまま引き継ぎます。閲覧できないチームのIssueには、Connector経由でも届きません(Claudeのヘルプセンター)。
ディレクトリのLinearページには、公開ツールが22個並んでいます。書き込み系は create_comment・create_issue・update_issue・create_project・update_project の5つです。残りは list_issues・get_issue・list_cycles といった参照系です。ページの表記は「Sign-in Required」で、コネクタURLは https://mcp.linear.app/mcp です。
3つの入口と、どれを選ぶか
同じLinearでも、Claudeのどの製品から使うかで入口が変わります。Linearのドキュメントでは次のとおりです。
Linearへの入口
claude.ai(Team・Enterprise)
Connectorsページを開いてLinearを接続します。組織への追加は、OwnerまたはPrimary Ownerが行います(Claudeのヘルプセンター)。
Claude Desktop(Free・Pro)
Claudeの設定にある「Connectors」からLinearを追加します。
Claude Code
claude mcp addで自分でサーバーを登録します。claude.aiで接続済みのConnectorがあれば、登録しなくても使える場合があります(次の節)。
ここで挙げたプラン別の分け方はLinear側の案内です。Claudeのヘルプセンターでは、Webコネクタはすべての利用者がweb・Desktop・モバイルから使えるとされています。Free・Proでもclaude.aiのwebから接続できます。
組織プランでは、手順が2段になります。管理者が「Organization settings > Connectors」の「Browse connectors」からLinearを選び、「Add to your team」を押します。追加しただけでは誰にもアクセスは付きません。メンバーはそれぞれ自分のLinearアカウントで認証します。
claude.aiとDesktopでは、一覧からLinearを探して「Connect」を押し、Linearのログイン画面で権限を確認して許可する流れです。どの面でも、Linearのアカウントでサインインして許可するのが認証の中身です。
Claude Codeでの接続: 2つの経路と3つの保存先
Claude Codeには、自分でコマンド登録する経路とclaude.aiのConnectorを引き継ぐ経路があります。まず前者です。
claude mcp add --transport http linear-server https://mcp.linear.app/mcp登録後にClaude Codeのセッションを開き、/mcp を実行するとOAuthのサインインに進みます。サインインの途中は、ブラウザーでの操作です。
手元のClaude Code v2.1.287で claude mcp add --help を実行すると、保存先を決める --scope の選択肢が次のように出ました。
-s, --scope <scope> Configuration scope (local, user, or project)
(default: "local")
-t, --transport <transport> Transport type (stdio, sse, http). Defaults to
stdio if not specified.--scope を付けないと local になります。3つのスコープは保存先と共有範囲が違います。
| スコープ | 読み込まれる範囲 | チームで共有 | 保存先 |
|---|---|---|---|
| local(既定) | 読み込まれる範囲登録したプロジェクトだけ | チームで共有しない | 保存先~/.claude.json |
| project | 読み込まれる範囲そのプロジェクトだけ | チームで共有する(バージョン管理経由) | 保存先プロジェクト直下の .mcp.json |
| user | 読み込まれる範囲自分のすべてのプロジェクト | チームで共有しない | 保存先~/.claude.json |
Linearのような個人のアカウントに紐づく接続は、全プロジェクトで使うなら --scope user を付けます。--scope project で .mcp.json に書いてチームで共有する方法もありますが、その場合、各メンバーは自分のLinearアカウントで別々にサインインします。
claude.aiのConnectorを引き継ぐ経路
claude.aiのアカウントでClaude Codeにログインしていると、claude.aiで追加したConnectorが /mcp に自動で現れます。Linearをclaude.aiで接続済みなら、Claude Codeで claude mcp add を重ねる必要がない場合があります。
この引き継ぎには条件があります。ANTHROPIC_API_KEY・ANTHROPIC_AUTH_TOKEN・apiKeyHelper のいずれかが有効、またはAmazon Bedrockなどのサードパーティープロバイダーを使っているときは、claude.aiのConnectorは読み込まれません。ANTHROPIC_PROFILE やフェデレーション用の変数、有効なAnthropicプロファイルが認証情報を供給している場合も同じです。
claude setup-token で作った CLAUDE_CODE_OAUTH_TOKEN を使っている場合も読み込まれません。このトークンはモデルへのリクエストにしか使えないためです。/mcp にLinearが出ないときは /status で認証方式を確かめます。
Claude Code側で claude mcp add を実行して同じ https://mcp.linear.app/mcp を登録すると、そちらが優先されます。claude.aiのConnectorは /mcp で「hidden」と表示され、重複の外し方も案内されます。一度もサインインしていないConnectorは「Show unused connectors」の行にまとまって折りたたまれます。
読み取り専用で接続する2つの方法
書き込みを渡さず参照だけさせたいとき、Linearの公式ドキュメントは2つの方法を示しています。
Linearを読み取り専用にする2通り
専用エンドポイント
https://mcp.linear.app/mcp/readonly に接続します。このエンドポイントは読み取り用のツールしか公開しません。
readスコープだけ要求
通常の /mcp エンドポイントのまま、OAuthで read スコープだけを要求します。read を要求したクライアントには読み取りだけが許可され、そのトークンでは書き込みAPIに届かないと説明されています。
Linear側の2通りとは別に、Claude側の組織設定でも絞れます。Team・EnterpriseのOwnerは、接続したサービスが取れる操作を組織全体で制限できます。ヘルプセンターには「Linearのissueは見られるが、新規作成や状態変更はさせない」という例が載っています。
設定は「Customize > Connectors」でコネクタを選び、Tool permissionsで行います。権限の区分ごと、または個別の権限ごとに、「Always allow」「Needs approval」「Blocked」から選びます。この設定は組織内の全員に効き、個人が上書きすることはできません。絞り込みは権限を広げず、狭めるだけです。
Claude Codeでは、Blockedのツールは、Claudeに見える前に取り除かれます。組織で承認を求める設定にしたツールは、呼ぶたびに Your organization requires approval for this tool という理由つきで確認が出ます。
Claude Codeで専用エンドポイントを使うなら、登録するURLを差し替えるだけです。
claude mcp add --transport http linear-readonly https://mcp.linear.app/mcp/readonly名前を linear-server と分けておけば、同じマシンで読み書き用と参照用を並べて持てます。Claude Codeには、同名のサーバーを同じスコープに重ねて登録するとエラーになる動作があります(Claude Codeのドキュメントの例では MCP server sentry already exists in local config)。参照用を入れ直したいときは、先に claude mcp remove <name> で外します。
claude mcp --help には、Claude Desktopの設定ファイルに書いたMCPサーバーを取り込む add-from-claude-desktop もあります。macOSとWSLだけで使えます。
ただし、Desktopの「Connectors」から追加したLinearはアカウント側のConnectorなので、この取り込みの対象ではありません。claude.aiアカウントでClaude Codeにログインすれば、前節の経路で /mcp に現れます。
claude mcp add には --client-id と --callback-port もあります。ヘルプでは「事前登録されたリダイレクトURIを要求するサーバー向け」と説明されており、Linearの標準の接続(動的クライアント登録)では使わないオプションです。
認証がうまくいかないときの切り分け
接続の詰まりは、症状ごとに原因が違います。ドキュメントに根拠がある範囲で並べます。
| 症状 | 考えられる原因 | 試すこと |
|---|---|---|
/mcp にLinearが出ない | 考えられる原因claude.ai経由のConnectorは、APIキーやクラウドプロバイダー認証が有効だと読み込まれない | 試すこと/status で認証方式を見る。APIキー系の設定を外して /login でclaude.aiアカウントを選ぶ |
.mcp.json に書いたのに使えない | 考えられる原因承認待ちのサーバーは ⏸ Pending approval と表示され、接続されない | 試すことclaude を対話モードで起動して承認する。選択を戻すなら claude mcp reset-project-choices |
| 一度サインインしたのに失敗しはじめた | 考えられる原因保存されたリフレッシュトークンをサーバーが拒否すると、/mcp へ案内する通知が出る | 試すこと/mcp でLinearを選び「Re-authenticate」を実行する |
claude -p やSDKの実行で認証が要る | 考えられる原因非対話モードには /mcp パネルがなく、OAuthを走らせられない | 試すこと対話セッションの /mcp、または claude mcp login <name> でサインインする |
| 同名のサーバーが重複して警告が出る | 考えられる原因同じ名前を別のスコープに別のエンドポイントで定義している | 試すことclaude mcp remove <name> --scope <scope> で不要な定義を消す |
SSHなどブラウザーが開けない環境では、claude mcp login に --no-browser を付けると、認証URLを画面に出してくれます。リダイレクト後のURLを貼り戻す操作に対話端末が要るため、接続は ssh -t で行います。
複数のLinearワークスペースを使う場合は、ワークスペースごとに別の認証が必要です。再接続しただけでは、既存の認証セッションのワークスペースは切り替わらないためです。接続時に内部サーバーエラーが出る場合の対処として、rm -rf ~/.mcp-auth で保存済みの認証情報を消す案内もLinearのFAQにあります。Claude Codeで登録したサーバーの認証情報は、/mcp の「Clear authentication」か claude mcp logout <name> で消せます。
Linearの公式が示す使い方6つ
Linearのドキュメントには、コピーして使える例のプロンプトが6つ載っています。ロードマップ計画、スタンドアップのメモ反映、不具合の調査、サイクルの要約、トピックごとの時系列づくり、実装計画です。多くに、Claudeに書き込ませる前の約束事が組み込まれています。
- 計画書からプロジェクトを作るプロンプトは、「作成する前に、提案するプロジェクト・マイルストーン・Issue・関係を見せる」と指示しています。資料が曖昧なら、推測せずアウトラインを返す指示も付いています
- スタンドアップのプロンプトは、メモと強く結びつくIssueにだけコメントを付け、あいまいなメモは「対応づけられなかったもの」として返す指示です。実行前に、どのIssueへどんなコメントを書くかを見せる指示も含みます
- 不具合調査のプロンプトは、根拠が弱ければ推測せず、必要な追加情報を明記するよう求めています
- 実装計画のプロンプトは、最初の計画を下書きとして扱い、レビューと編集を経てから親IssueとサブIssueを作らせます。担当の割り当ては、担当者やエージェントが明示されたときだけです
この4つに共通するのは、書き込みの前に提案を見せ、確信が持てないものは落とすという設計です。権限の絞り込みと別に、依頼文の側でも歯止めをかけられます。読み取り専用の接続にしておけば、計画書から起票させる使い方は成立しませんが、サイクルの要約や調査のコメント案づくりは参照だけで足ります。
トリアージの具体的な手順や、Claude Codeでの日常運用はLinearの開発チケットをClaudeで整理・優先度付けするで扱っています。インシデント対応の側から入るならClaudeとPagerDutyを連携してインシデント対応を自動化するが近い題材です。
組織のOkta連携で認証を自動化する
Team・Enterpriseで利用者が増えると、1人ずつのLinear認証が手間になります。Linearは、Oktaで管理された認証に対応しています。設定の順序は次のとおりです。
Okta連携の設定順(Linear公式ドキュメント)
- 1
SAMLを設定する
OktaのOIN(Okta Integration Network)を使って、Linear向けのSAMLを先に設定します。
- 2
MCPのエンタープライズ管理認証を有効にする
Linearの設定で、Okta側のアイデンティティプロバイダー設定の下部にある「MCP enterprise managed authentication」を有効にします。
- 3
Issuer URIを貼る
Oktaの認可サーバーのIssuer URIをコピーし、Linearの設定に貼ります。公式ドキュメントの例は
https://your-org.okta.comの形です。
有効にすると、Claudeなど対応する外部クライアントが、Oktaのアクセスポリシーに従って利用者を自動で認証します。Linear側の説明は認証の部分に限られており、前に挙げたTool permissionsのような絞り込みがどう扱われるかは書かれていません。なおClaude側にも、Team・Enterprise向けにConnectorを組織全体で一度だけ認可するEnterprise-managed authがあります(ベータ提供)。Linear側のOkta設定とは別の仕組みです。読み取り専用にしたい場合は、先に挙げた専用エンドポイントを使う方法のほうが、認証方式と切り離して考えられます。
Linearのドキュメントには、OAuthの対話フローを使わず、ベアラートークンやLinearのAPIキーで直接認証する方法もあります(FAQで案内されています)。Claude Codeには --header "Authorization: Bearer ..." を付けて登録するオプションがあり、手元のヘルプにも同じ書式の例が出ています。ただし、ヘッダーに設定した認証をサーバーが拒否すると、Claude CodeはOAuthへ切り替えず接続失敗として扱います。トークンが有効かを確かめるか、ヘッダーを外してOAuthに戻します。
既存のConnectorsとの関係
Linearは、Anthropicが標準搭載するGoogle DriveやGmailと違い、Linear社がディレクトリに出している公式コネクタです。他のコネクタとの違いや全体像はClaude Connectorsとはにまとめています。Claude Codeで接続を外したいときは、/mcp の「Clear authentication」か claude mcp logout <name> で、保存済みのOAuth認証情報を消します。