設定・拡張

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サーバーが読み込まれない問題の実践ステップ

  1. /mcp を実行し、サーバーの一覧と状態を確認する。
  2. 承認が必要なら、/mcp から承認する。
  3. 失敗しているなら、command と args の相対パスを、絶対パスに直す。
  4. ツールが0なら、Reconnect を選ぶ。
  5. 改善しないなら、claude --debug=mcp で起動し、~/.claude/debug/<セッションID>.txt に出るサーバーの標準エラーを読む。
  6. 設定の場所と形式(.mcp.json、mcpServers)を確認する。
  7. 切り分けのため、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サーバーが読み込まれない問題の関連項目

出典(一次情報)

本記事は一般的な情報の提供を目的としています。Claude Code の料金・利用上限・機能・エラーメッセージ・コマンドは頻繁に更新されるため、最新の内容は Anthropic の公式ドキュメントとお使いのバージョンで必ずご確認ください。契約・請求・セキュリティに関する判断は、公式サポートや社内の担当部門にご相談ください。「筆者の見解」は一つの考え方です。