リファレンス
Claude Code に MCP サーバを追加する
リモートサーバは `claude mcp add --transport http <名前> <URL>`、ローカルプロセスは `claude mcp add <名前> -- <コマンド>` です。`--` より後ろはそのままサーバへ渡されます。実務で迷うのはコマンド形式より置き場所で、スコープは `local`(既定・自分のみ)、`project`(リポジトリの `.mcp.json` で共有)、`user`(全プロジェクト・自分のみ)の 3 つ。チーム全員に同じサーバを配りたいなら `--scope project` 以外に選択肢はありません。
トランスポート別の書式
# HTTP(リモート・推奨)
claude mcp add --transport http notion https://mcp.notion.com/mcp
# HTTP + Bearer トークン
claude mcp add --transport http <名前> <URL> \
--header "Authorization: Bearer your-token"
# stdio(ローカルプロセス。-- 以降はサーバへ素通し)
claude mcp add --env API_KEY=your-key --transport stdio myserver \
-- python server.py --port 8080
# SSE(公式ドキュメントで非推奨)
claude mcp add --transport sse asana https://mcp.asana.com/sse スコープ:誰にそのサーバが見えるか
| スコープ | 有効範囲 | 共有 | 保存先 |
|---|---|---|---|
| local(既定) | 現在のプロジェクトのみ | されない | ~/.claude.json |
| project | 現在のプロジェクトのみ | される(.mcp.json 経由) | プロジェクト直下の .mcp.json |
| user | 自分の全プロジェクト | されない | ~/.claude.json |
# チーム共有(リポジトリにコミットされる)
claude mcp add --transport http shared-server --scope project https://example.com/mcp
# 全プロジェクトで自分だけ使う
claude mcp add --transport http hubspot --scope user https://mcp.hubspot.com/anthropic よくある取り違え
`local` と `project` はどちらも「現在のプロジェクトのみ」で有効範囲は同じです。違うのは保存先で、`local` は `~/.claude.json`(自分のマシン)、`project` はリポジトリ内の `.mcp.json`。「チームに配ったつもりが自分だけだった」という事故は、ほぼこの取り違えです。
.mcp.json の中身
{
"mcpServers": {
"shared-server": {
"type": "http",
"url": "https://example.com/mcp"
}
}
} 認証の 4 パターン
- OAuth 2.0:サーバを追加した後、セッション内で `/mcp` パネルから認証します。コマンドラインからは `claude mcp login <名前>` / `claude mcp logout <名前>`。
- 事前設定した OAuth クレデンシャル:`--client-id`、`--client-secret`、`--callback-port` を指定します。CI では `MCP_CLIENT_SECRET` 環境変数を使う形が示されています。
- 静的ヘッダ:API キーやトークンを `--header "Authorization: Bearer ..."` や `--header "X-API-Key: ..."` で渡します。
- 動的ヘッダ:`.mcp.json` の `headersHelper` にスクリプトのパスを書くと、そのスクリプトが返した内容がヘッダになります。社内の認証基盤に繋ぐ用途向けです。
管理コマンド
claude mcp list # 登録済みサーバ一覧
claude mcp get notion # 個別サーバの詳細
claude mcp remove notion # 削除
# セッション内
/mcp # 接続状態の確認と OAuth 認証 運用上の助言を 1 つだけ。最初から複数のサーバを繋がないでください。エージェントが使えるツールが増えるほど、意図しないツールを選ぶ余地も増えます。1 本繋いで、それが実際に使われているかを `/mcp` で確かめてから次に進むほうが、結果的に速く安定します。
よくある質問
- claude mcp add のスコープはどれを選べばいいですか?
- チーム全員に同じサーバを配るなら `--scope project` です。これだけがリポジトリ内の .mcp.json に書き込まれ、バージョン管理で共有されます。自分の全プロジェクトで使いたい個人的なサーバは `--scope user`、そのプロジェクトの自分の環境だけなら既定の local です。
- stdio で引数を渡すにはどう書きますか?
- `claude mcp add <名前> -- <コマンド> [引数...]` の形で、`--` より後ろがそのままサーバへ渡されます。環境変数は `--env KEY=VALUE` を `--` より前に置きます。例:claude mcp add --env API_KEY=your-key --transport stdio myserver -- python server.py --port 8080。
- SSE はもう使えませんか?
- 使えますが、公式ドキュメントは SSE トランスポートを非推奨(deprecated)と明記し、リモートサーバには HTTP を推奨しています。既存の SSE 設定は動き続けますが、新規に追加するサーバは --transport http を選んでください。
- API キーはどこに書くのが安全ですか?
- 静的なキーは `--header` でヘッダとして渡すのが基本です。ただし project スコープで .mcp.json に平文で入れるとリポジトリに残るため、社内の認証基盤があるなら .mcp.json の headersHelper にスクリプトを指定し、実行時にヘッダを生成させる方式が推奨されます。
出典
- Claude Code 公式ドキュメント — MCP — 最終確認日: 2026-09-05
- Model Context Protocol 公式ドキュメント(入門) — 最終確認日: 2026-09-05