「MCPサーバーを2-3個入れたら、ターミナルが重くなった」「/mcp でツールが0個と表示される」「設定はしたのに繋がらない」 — Claude CodeでMCPを 複数並べ始めた人がぶつかる壁 をまとめます。

単発MCPの導入記事は別にあるので、今回は 「複数MCP環境をどう運用するか」 に絞った話。

設定ファイルの場所と優先順位

最初に整理。MCPサーバーの設定が書ける場所は3ヶ所。

場所

用途

優先度

~/.claude.json

グローバルなMCPサーバー定義

~/.claude/settings.json

ユーザー全体の設定

<project>/.claude/settings.json

プロジェクト個別設定

私は 個人で使うMCPはグローバル(~/.claude.json)、 クライアント案件専用のMCP はプロジェクトごと、という棲み分けにしています。

複数MCPを並べた時の標準形

私の ~/.claude.json を例に出すと、こんな形。

{
  "mcpServers": {
    "notion": {
      "command": "npx",
      "args": ["-y", "@notionhq/notion-mcp-server"],
      "env": { "NOTION_TOKEN": "${NOTION_TOKEN}" },
      "alwaysLoad": true
    },
    "gsc": {
      "command": "uvx",
      "args": ["--from", "suganthan-gsc-mcp", "gsc-mcp"],
      "env": { "GSC_CREDENTIALS_PATH": "${HOME}/gsc-credentials.json" }
    },
    "figma": {
      "transport": "http",
      "url": "https://mcp.figma.com/mcp"
    },
    "stripe": {
      "command": "npx",
      "args": ["-y", "@stripe/mcp"],
      "env": { "STRIPE_API_KEY": "${STRIPE_API_KEY}" }
    }
  }
}

ポイントは2つ。

1つ目 — alwaysLoad の使いどころ

毎日使うMCP(私の場合Notion)だけ alwaysLoad: true。これでツール検索の遅延がなくなり、即座に呼べる状態になります。

ただし全部に付けると、 常駐メモリが膨らんで ターミナルが重くなる。 「毎日使うものだけ」 が原則です。

2つ目 — 機密情報は環境変数で読ませる

NOTION_TOKENSTRIPE_API_KEY を直接書かず、${NOTION_TOKEN} のように参照。設定ファイルがGitに上がっても漏洩しない構成にしておきます。

シェル設定(~/.zshrc 等)に export NOTION_TOKEN=ntn_xxxx を書いておく形。

/mcp で状態を確認する

MCPサーバーの状態確認は /mcp コマンド。

v2.1.128以降、 接続中のサーバーごとにツール数が表示 されるようになりました。

notion       connected   12 tools
gsc          connected   20 tools
figma        connected    8 tools
stripe       connected   15 tools  ⚠ 0 tools  

「0 tools」の警告が出ているサーバーは、 接続はできたけれど認証エラー などでツールが何も見えていない状態。すぐに対処する必要があります。

トラブル時の確認順序

「MCPが動かない」と感じた時の標準対処手順。

ステップ1 — /mcp で接続状態確認

connectedfailedloading か。 failed なら認証情報、 loading ならネットワーク。

ステップ2 — ツール数が0なら認証情報を見直す

トークンの期限切れ、権限不足、scopeの不足。OAuth系は再認証が必要なケースが多い。

ステップ3 — claude --verbose で詳細ログ

claude --verbose

エラーメッセージが具体的に出るので、原因特定が早い。

ステップ4 — MCPサーバーの再接続

設定ファイルを上書き保存して、Claude Codeを再起動。簡単な設定変更でも、再起動しないと反映されないケースがあります。

複数MCPの「呼び分け」が苦手な時

3-4個MCPを並べると、Claudeが 意図と違うMCPのツールを呼ぶ ことがあります。

例 — 「議事録をNotionに保存して」と頼んだのに、Stripe MCPが反応する(あり得ないけど)。

対策は2つ。

A. プロンプトで明示的に指定

「Notion MCP のNotion保存ツールを使って、〜」と書く。

B. CLAUDE.md にルールを書いておく

## MCP使用ルール
- 議事録・タスク・ナレッジ → Notion MCP
- 検索パフォーマンス分析 → GSC MCP
- デザイン読み取り → Figma MCP
- 売上・課金確認 → Stripe MCP

これだけで誤呼出は 9割減 ります。

私の運用 — 月次メンテで全件見直し

複数MCPを長期運用する上で大事なのが、月1回の棚卸し

私が月末にやっているチェック。

  • 各MCPのツール数が想定通りか(0 toolsになっていないか)
  • 環境変数のトークンが期限切れになっていないか
  • alwaysLoad を付けているMCPが本当に毎日使われているか
  • 使っていないMCPが残っていないか(残骸の掃除)

5-10分の作業ですが、これでMCPまわりのトラブルが激減します。

まとめ

  • 設定場所は 3階層(グローバル/プロジェクト共有/プロジェクトローカル)
  • alwaysLoad は毎日使うMCPだけに付ける
  • 環境変数経由 で機密情報を読ませる
  • /mcpツール数+ステータス を確認(v2.1.128以降)
  • トラブル時は 接続状態 → ツール数 → verboseログ → 再接続 の順
  • 複数MCPの呼び分けは CLAUDE.mdへのルール記載 が効く
  • 月1回の棚卸し でトラブル予防

MCP連携が増えてくると、運用の細かい工夫が業務効率を分けます。今週末に1度、自分のMCP設定を見直してみてください。