Claude CodeのMCPサーバーが読み込まれない問題/mcpでの確認と直し方
Claude CodeでMCPサーバーが読み込まれない、ツールが0になる、接続に失敗するときの原因と直し方を、/mcp での確認手順とあわせて整理します。
公的機関・公式資料などの一次情報と照合して作成しています。このサイトについて
Claude CodeのMCPサーバーが読み込まれない問題とは
MCP(Model Context Protocol)は、AI のツールを外部のデータやサービスにつなぐための、公開された標準規格です。Claude Code は MCP で、デザイン資料、チケット管理、チャットなどに接続できます。公式の概要ページに、この説明と、最初のサーバーをつなぐ入門が案内されています。
MCP サーバーが読み込まれない場合は、設定が正しく書けていても、承認されていない、起動に失敗している、ツールの一覧が返らない、などの理由があります。公式のデバッグ手順では、まず /mcp で、設定されたサーバーと、その接続の状態を確認するよう案内されています。
基本(/mcp で何が分かるか)
/mcp は、設定されたすべてのサーバー、接続の状態、現在のプロジェクトで承認済みかどうかを表示します。公式が挙げる、よくある状態と原因は次のとおりです。
| 状態 | 原因 | 対処 |
|---|---|---|
| サーバーが無効のまま | プロジェクトの .mcp.json のサーバーは、初回に承認が必要。承認画面を閉じた |
/mcp から承認する |
| 失敗(failed)と表示される | 起動に失敗。command や args の相対パスが典型的な原因 |
絶対パスにする |
| 接続済みなのにツールが0 | 起動はしたが、ツールの一覧を返していない | /mcp で Reconnect を選ぶ |
| それでも0のまま | サーバー側のエラー | claude --debug=mcp で起動し、ログを読む |
相対パスが問題になるのは、基準が .mcp.json の場所ではなく、Claude Code を起動した場所になるためです。
具体例(書く場所と形式の間違い)
| 間違い | 正しくは |
|---|---|
.mcp.json を .claude/ の中に置いた |
プロジェクトのルート(リポジトリの最上位)に置く |
servers というキーで書いた(VS Code の形式) |
mcpServers というキーで書く |
settings.json に mcpServers を書いた |
settings.json は読まない。.mcp.json に書くか、claude mcp add --scope user を使う |
| ローカルのスクリプトを相対パスで指定した | 絶対パスにする。npx や uvx のように PATH にある実行ファイルは、そのままでよい |
| 環境変数が渡されていない | サーバーごとの env を、.mcp.json の該当の項目に書く |
公式は、サーバーが期待する環境変数が渡されない場合、そのサーバーの設定に env を書くのが確実と案内しています。起動時の環境に依存しないためです。
公式の MCP のページによると、サーバーの登録範囲(スコープ)は3つあります。既定の local(今のプロジェクトだけ、自分専用)と user(全プロジェクト、自分専用)は ~/.claude.json に、project(チームで共有)はプロジェクトのルートの .mcp.json に保存されます。範囲は claude mcp add の --scope(local、project、user)で指定します。プロジェクトの承認をやり直したいときは、claude mcp reset-project-choices で、承認の選択をリセットできます。
Claude CodeのMCPサーバーが読み込まれない問題の実践ステップ
/mcpを実行し、サーバーの一覧と状態を確認する。- 承認が必要なら、
/mcpから承認する。 - 失敗しているなら、
commandとargsの相対パスを、絶対パスに直す。 - ツールが0なら、Reconnect を選ぶ。
- 改善しないなら、
claude --debug=mcpで起動し、~/.claude/debug/<セッションID>.txtに出るサーバーの標準エラーを読む。 - 設定の場所と形式(
.mcp.json、mcpServers)を確認する。 - 切り分けのため、
claude --safe-modeで、MCP を含む拡張を無効にして試す。
Claude CodeのMCPサーバーが読み込まれない問題の注意点
- 使っていない MCP サーバーは、無効にしておくと、文脈の消費が減ります。
/mcpで確認し、使わないものを外します。 - MCP のツールの定義は、既定では、使うときまで文脈に載らない形(遅延読み込み)になっています。それでも、サーバーが多いと、一覧や指示が文脈を圧迫します。
/contextで確認できます。 - 外部のサーバーは、信頼できるものだけを使ってください。ツールの権限と、データの扱いを確認します。
- 一時的に使わないサーバーは、
/mcp disable <名前>で無効にできます。設定を消さずに、文脈から外せます。
Claude CodeのMCPサーバーが読み込まれない問題でよくあるミス
- 承認を求められたときに閉じ、そのまま気づかない。
- 相対パスを使い、別のフォルダから起動して失敗する。
settings.jsonに書いて、反映されないと悩む。- 失敗の理由を、ログで確認せず、設定を何度も書き直す。
Claude CodeのMCPサーバーが読み込まれない問題のチェックリスト
/mcpで、状態を確認したか。- 承認が済んでいるか。
commandとargsに、相対パスがないか。.mcp.jsonが、ルートにあり、mcpServersの形式か。- 必要な環境変数を、サーバーの
envに書いたか。
Claude CodeのMCPサーバーが読み込まれない問題のFAQ(よくある質問)
Q. MCP の設定は、どこに書けばよいですか。
A. プロジェクトで共有するなら、ルートの .mcp.json。自分専用なら、claude mcp add --scope user で追加します。
Q. サーバーは動いているのに、ツールが使われません。
A. /mcp で、ツールの数が0でないか確認します。0なら Reconnect。それでも0ならデバッグログを読みます。
Q. MCP を入れると、利用量は増えますか。
A. 増える場合があります。公式は、使っていないサーバーを無効にし、CLI で済む作業は CLI を使うほうが、文脈の面で効率的だと説明しています。
筆者の見解(Claude CodeのMCPサーバーが読み込まれない問題)
私見では、MCP のトラブルは /mcp の表示で「一覧に出ていない」「failed」「接続済みでツール0」のどれかに分けると、ほぼ対処が決まると考えます。一覧に出ないなら書いた場所(.mcp.json の位置、mcpServers のキー、スコープ)を、failed なら相対パスを、ツール0ならサーバー側のログを疑う、という順番です。見落としやすいのは、自分の端末では動くのにチームの他の人では動かないケースで、local スコープで登録していて共有されていない、または承認画面を閉じたまま、という原因が多いのではないかと考えます。共有したいサーバーは project スコープの .mcp.json に寄せ、使わないものは無効にしておくのが、文脈の消費と混乱の両方を抑える運用だと考えます。
Claude CodeのMCPサーバーが読み込まれない問題の関連項目
- settings.jsonが効かないときの確認
- Prompt is too longエラーの対処
- Claude Codeの使用量の節約
- 許可確認(パーミッション)の設定
- claude doctor と /doctor の使い方
出典(一次情報)
本記事は一般的な情報の提供を目的としています。Claude Code の料金・利用上限・機能・エラーメッセージ・コマンドは頻繁に更新されるため、最新の内容は Anthropic の公式ドキュメントとお使いのバージョンで必ずご確認ください。契約・請求・セキュリティに関する判断は、公式サポートや社内の担当部門にご相談ください。「筆者の見解」は一つの考え方です。