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

公式ドキュメントの整理です。
| スコープ | 効く範囲 | 共有 |
|---|---|---|
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で状態を見る
次に読む
※本記事の情報は 2026年8月時点のものです。