リファレンス

Claude Code に MCP サーバを追加する

リモートサーバは `claude mcp add --transport http <名前> <URL>`、ローカルプロセスは `claude mcp add <名前> -- <コマンド>` です。`--` より後ろはそのままサーバへ渡されます。実務で迷うのはコマンド形式より置き場所で、スコープは `local`(既定・自分のみ)、`project`(リポジトリの `.mcp.json` で共有)、`user`(全プロジェクト・自分のみ)の 3 つ。チーム全員に同じサーバを配りたいなら `--scope project` 以外に選択肢はありません。

日本語 · 最終確認日: 2026-09-05 · 英語版の全文: English

トランスポート別の書式

# 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
公式ドキュメント記載の書式(2026-09-05 確認)。新規に追加するなら HTTP を選びます。

スコープ:誰にそのサーバが見えるか

スコープ有効範囲共有保存先
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"
    }
  }
}
project スコープで追加するとこの形でリポジトリに入ります。レビュー対象にできるのがこのスコープの利点です。

認証の 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 にスクリプトを指定し、実行時にヘッダを生成させる方式が推奨されます。

出典