MCPサーバーの追加と管理

《 Claude完全ガイド 目次へ 》

10秒でいうと

どこに設定を置くか(スコープ)と、どうつなぐか(トランスポート)の2つを決めれば追加できます。
認証情報だけは、チームで共有される場所に置かないでください。

3つのスコープ

共有されるのは設定であって、鍵ではない
図1:共有されるのは設定であって、鍵ではない

公式ドキュメントの整理です。

スコープ 効く範囲 共有
local(既定) このプロジェクトだけ されない
project このプロジェクトだけ .mcp.json でチームに共有
user 自分の全プロジェクト されない

project だけが共有されます。チームで同じサーバーを使うならこれです。ただし、次の注意があります。

認証情報を project に置かないでください。公式も明記していて、機微な認証情報は user か local に置くのが正しい形です。共有すべきなのは「どこにつなぐか」であって、「鍵」ではありません。

.mcp.json では環境変数を展開できます。設定はGitに入れて、鍵は環境変数から渡す。この形にすると両立します。

{
  "mcpServers": {
    "api-server": {
      "type": "http",
      "url": "${API_BASE_URL:-https://api.example.com}/mcp",
      "headers": { "Authorization": "Bearer ${API_KEY}" }
    }
  }
}

3つのつなぎ方

HTTP。遠くのサーバーにつなぐときの推奨です。

claude mcp add --transport http github https://api.githubcopilot.com/mcp/ \
  --header "Authorization: Bearer YOUR_GITHUB_PAT"

stdio。手元でプロセスとして動かすときです。

claude mcp add --transport stdio airtable --env AIRTABLE_API_KEY=YOUR_KEY \
  -- npx -y airtable-mcp-server

-- の位置に注意してください。これより後ろは、そのままサーバーのコマンドとして渡されます。Claude側のオプションと混ざらないための区切りです。

なおSSEは非推奨になっています。新しく作るならHTTPを選んでください。

認証

OAuthに対応しているサーバーなら、コマンド1つで通せます。

claude mcp login sentry

ブラウザが開けない環境(SSH越しなど)では --no-browser を付けます。セッションの中からなら /mcp を開いてサーバーを選んでも同じことができます。

社内の認証(Kerberos、短命なトークン、社内SSO)には、ヘッダーを動的に生成するスクリプトを指定する方法があります。headersHelper にスクリプトのパスを書くと、そのスクリプトが返したJSONがヘッダーになります。

状態を確認する

claude mcp list

表示される状態は、そのまま切り分けに使えます。

表示 意味
✔ Connected 使える
! Needs authentication ログインが要る
✘ Failed to connect 接続に失敗(HTTPの状態コードつき)
⏸ Pending approval project スコープで承認待ち
⊘ Disabled for this project このプロジェクトで無効化されている

セッションの中からは /mcp で同じことが見られます。接続できていないのに気づかず使い続けるのを防げるので、うまく動かないときは最初にここを見てください。

ツールの定義は遅延して読み込まれる

コストに直結する話です。既定では、MCPのツール定義はすぐには読み込まれません。必要になったときに探しに行く形(ツール検索)になっています。

理由はNo.44で書いたとおりで、ツール定義そのものが文脈を食うからです。サーバーを10個つないで全部の定義を先に読むと、それだけで大きな量になります。

いつも使う特定のサーバーだけ先に読ませたいなら、設定に "alwaysLoad": true を書けます。

project スコープは承認が要る

project スコープのサーバーは、初回に承認のやりとりが入ります。他人がリポジトリに入れたサーバーが黙って動き出さないための仕組みです。

ただし公式が注意を書いています。claude -p の非対話実行やAgent SDKのセッションでは、承認なしで読み込まれます。自動実行の中でリポジトリを開く場合は、--strict-mcp-config などで明示的に絞ってください。

やってみよう:いま何がつながっているか見る(3分)

ターミナルで実行します。

bash
claude mcp list

セッションの中では /mcp、文脈の占有は /context で見られます。そのうえで、こう聞きます。

プロンプト
いま接続しているMCPサーバーを一覧にして、それぞれについて
「最近実際に使ったか」「読み取り専用か、書き込みもできるか」を
教えてください。使っていないものがあれば指摘してください。

期待される結果:使っていないサーバーが見つかる。接続したまま忘れているものが、たいてい1つはあります。

うまくいかないとき:まだ何もつないでいなければ、それで構いません。No.47で用途から選んでください。

つまずきポイント

認証情報を .mcp.json に直書きする。Gitに入ります。環境変数で渡してください。

-- を忘れる。stdioのとき、サーバーへの引数がClaude側のオプションとして解釈されます。

つないだまま忘れる。使っていないサーバーは、文脈と危険の両方を増やします。/mcp で無効化できます。

まとめ

  • スコープは3つ。共有されるのは project だけ
  • 認証情報は project に置かない。設定はGit、鍵は環境変数
  • つなぎ方はHTTP(推奨)とstdio。SSEは非推奨
  • 動かないときは、まず claude mcp list で状態を見る

次に読む

代表的なMCPサーバー

→ ガイドの目次に戻る

※本記事の情報は 2026年8月時点のものです。

タイトルとURLをコピーしました