Claude Code に MCP サーバーをつなぐ手順(追加・確認・削除)
結論
- 公式ドキュメントによると、MCP サーバーは
claude mcp addで登録し、claude mcp listで接続状態を確認します。 - 登録先(スコープ)は既定で
localです。現在のプロジェクトで本人だけが使えます。全プロジェクトなら--scope user、チーム共有なら--scope projectを使います。 - 接続したサーバーはコンテキストウィンドウを消費するため、使わないものは
claude mcp removeで外します。
MCP とは何か、始める前の条件
MCP(Model Context Protocol)は、Claude Code(Anthropic 社が提供する、ターミナルで動く AI コーディングエージェント)が標準機能に加えて、課題管理ツールの検索やデータベースへの問い合わせ、ブラウザ操作などを使えるようにする仕組みです。これらの道具は MCP サーバーが提供し、手元のマシンで動くものとホスト型サービスがあります。
公式ドキュメントでは、Claude Code のインストールと認証を済ませ、プロジェクトのディレクトリでターミナルを開いておくことが前提です(空のディレクトリでも構いません)。本記事は執筆時点(2026年10月)の公式ドキュメントのうち CLI の手順を扱います。デスクトップアプリや VS Code、Web からの追加方法は公式ドキュメントで確認してください。
サーバーを追加して接続を確認する
公式の例は、認証不要で Claude Code のドキュメントを全文検索できるホスト型サーバーです。claude のセッション内ではなく、通常のターミナルで実行します。
claude mcp add --transport http claude-code-docs https://code.claude.com/docs/mcp
--transport http は URL で公開されているサーバーを示します。claude-code-docs は利用者が自由に決める名前で、claude mcp remove などの操作で使います。実行すると、書き込んだ設定ファイルを示す File modified: の行が表示されます。
続けて接続状態を確認します。
claude mcp list
公式ドキュメントによると、主な表示の意味は次のとおりです。
✔ Connected: 使える状態です。! Needs authentication: ブラウザでのサインイン、または--headerで渡すトークンが必要です。✘ Failed to connect: サーバーが応答していません。! Connected · tools fetch failed: 接続できましたがツール一覧を取得できていません。claude mcp get <name>でエラー詳細を見ます。
使う・削除する
セッションを開始し、サーバー名を挙げて依頼します。
claude
Use the claude-code-docs server to look up what MCP_TIMEOUT does
通常はサーバー名を指定しなくても Claude が適切なツールを選びます。初回の呼び出しで許可を求められたら承認します。出力のツール呼び出しにサーバー名が付いていれば、MCP サーバーから得た回答だと確認できます。
使い終わったら削除できます。
claude mcp remove claude-code-docs
接続したサーバーのツール名や指示は毎回のセッションで読み込まれ、コンテキストウィンドウ(Claude が一度に扱える情報の範囲)を使います。使わないサーバーを外すと空きを保てます。
スコープと設定ファイルの場所
claude mcp add は既定で local に登録します。スコープごとの保存先は次のとおりです。
local:~/.claude.jsonの当該プロジェクトの項目。本人のみ・このプロジェクトのみ(既定)。project: プロジェクトルートの.mcp.json。クローンした全員が対象です。user:~/.claude.jsonの最上位のmcpServers。本人のみ・全プロジェクト。
Windows では ~/.claude.json は %USERPROFILE%\.claude.json に対応します。claude mcp get claude-code-docs で、どのスコープに定義があるか確認できます。
スコープは追加時に固定されるため、変更は削除して再登録します。たとえば local の定義を外してから user で追加します。
claude mcp remove claude-code-docs --scope local
claude mcp add --scope user --transport http claude-code-docs https://code.claude.com/docs/mcp
チームで共有するときは project スコープで追加し、.mcp.json をバージョン管理にコミットします。
claude mcp add --scope project --transport http claude-code-docs https://code.claude.com/docs/mcp
メンバーが Claude Code を起動すると承認の確認が出て、承認すると接続されます。これは、クローンしたリポジトリが利用者の同意なくプロセスを起動できないようにするためです。.mcp.json は起動時に読まれるので、編集後は新しいセッションを始めます。
ローカルサーバーとサインインが必要なサーバー
ローカルサーバー(stdio)
stdio サーバーは、Claude Code が手元のマシンでサブプロセスとして起動するプログラムです。公式の例は Playwright MCP サーバーで、npx 経由で動くため Node.js 18 以降が必要です。
claude mcp add playwright -- npx -y @playwright/mcp@latest
--transport は付けず、-- の後ろが起動コマンドです。Added と出ても保存されただけなので、claude mcp list で確認します。初回は npx のダウンロード中に ✘ Failed to connect となることがあり、少し待って再実行すると ✔ Connected になります。
サインインが必要なサーバー
Sentry、Linear、Notion などのホスト型サービスは OAuth で保護されています。公式の例は Sentry です。
claude mcp add --transport http sentry https://mcp.sentry.dev/mcp
追加直後は ! Needs authentication と表示されますが、想定どおりです。セッションで /mcp を開き、sentry を選んで Enter、Authenticate を選ぶとブラウザでサインイン画面が開きます。固定トークンで認証するサーバーは、追加時に --header "Authorization: Bearer <token>" でトークンを渡します。
つながらないときの確認点
状態は、セッション内なら /mcp、シェルなら claude mcp list で確認します。公式ドキュメントが挙げる主な原因は次のとおりです。
No MCP servers configured: 別のプロジェクトで追加した local のサーバーは、そのプロジェクトに紐づきます。今のプロジェクトで再登録するか--scope userを使います。設定ファイルのパス違い(正しいのは~/.claude.jsonと<project>/.mcp.json)や.mcp.jsonの記述ミスも原因です。Failed to connectやConnection error: サーバーが起動していないか URL が応答していません。HTTP サーバーは curl で到達性を、stdio サーバーは設定のコマンドを直接実行してエラーを確認します。- 起動時のタイムアウト: 既定の 30秒を超えた場合、
MCP_TIMEOUT環境変数(ミリ秒)で延ばします。 - ツールが出ない: 必要な環境変数(API キーなど)が不足している可能性があります。
--env KEY=valueで渡します。 .mcp.jsonの変更が反映されない: セッションを再起動します。以前に承認を拒否した場合はclaude mcp reset-project-choicesを実行します。
MCP_TIMEOUT=60000 claude
エラー詳細の表示内容はバージョンで異なる部分があるため、詳しくは公式ドキュメントで確認してください。
よくある質問
追加したサーバーが別のプロジェクトで使えないのはなぜですか。
公式ドキュメントによると、既定の local スコープは追加したプロジェクトだけで有効です。全プロジェクトで使うには --scope user で登録し直します。
Added と表示されれば接続できていますか。
stdio サーバーの例では、Added は設定が保存されたことを示すだけで、コマンドが動く保証ではないと説明されています。claude mcp list で ✔ Connected を確認してください。初回は npx のダウンロード中に失敗表示になることもあります。
同じ名前のサーバーを追加できないと言われたときはどうしますか。
同じスコープに同名のサーバーがあります。claude mcp remove claude-code-docs で削除するか、別の名前にします。複数のスコープに同名がある場合は exists in multiple scopes と表示されるので、--scope で削除する側を選びます。
関連する無料ツール
Claude Code 権限設定(settings.json)ジェネレーター: deny / ask / allow のルールを選ぶと、置き場所つきで settings.json を出力します。配る前の設定の下書きに使えます。
参考(執筆時点)
- Connect to MCP servers(公式ドキュメント)
この記事は、上の出典の内容を中小DXラボが要約・再構成したものです。仕様は変わることがあります。社内で使う・配る前に、公式ドキュメントで最新の情報を確認してください。