MCPツール棚卸しによるClaude Codeのコンテキスト最適化
はじめに
MCP(Model Context Protocol) ツールを追加していったら、Claude Code の応答精度が落ちたと感じたことはありませんか?
MCP は、Claude Code などの AI エージェントに外部ツールとの連携機能を提供する強力なプロトコルです。開発環境の効率化を目的として、様々な MCP ツールを追加することは一般的な運用となっています。
しかし、MCP ツールの追加には重要なトレードオフが存在します。Anthropic 社のエンジニアリングブログでも指摘されているように、AI エージェントが一度に扱える情報量、すなわち コンテキストは「重要かつ有限なリソース」 です[1]。
コンテキストウィンドウは、モデルの「attention budget」として機能します。この予算を不必要な情報で消費してしまうと、本来重要な指示やデータへの注意が散漫になり、最悪の場合には「context rot」と呼ばれる性能劣化を引き起こす可能性があります[1:1]。
本記事では、MCP ツールがコンテキストの約 30%を占めていた環境において、ツール構成を見直すことでコンテキストの利用効率を大幅に改善した事例を紹介します。
この記事の対象読者は以下の通りです。
- Claude Code などのコーディングエージェントを利用している方
- 複数の MCP ツールを導入している方
- コンテキスト使用量を意識した開発環境の最適化に興味がある方
検証環境
- Claude Code: 2.0.11
- モデル: Claude Sonnet 4.5
コンテキスト使用状況の可視化
Claude Code の /context
コマンドを使用することで、現在のコンテキスト使用状況を可視化できます。筆者の環境において実行した結果、以下のような状況が明らかになりました。
Context Usage
⛁ ⛁ ⛁ ⛁ ⛁ ⛁ ⛁ ⛁ ⛁ ⛁ claude-sonnet-4-5@20250929 · 124k/200k tokens (62%)
⛁ ⛁ ⛁ ⛁ ⛁ ⛁ ⛁ ⛁ ⛁ ⛁
⛁ ⛁ ⛁ ⛁ ⛁ ⛁ ⛁ ⛁ ⛁ ⛁ ⛁ System prompt: 2.3k tokens (1.1%)
⛁ ⛁ ⛁ ⛁ ⛁ ⛁ ⛁ ⛀ ⛁ ⛀ ⛁ System tools: 12.5k tokens (6.3%)
⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛁ MCP tools: 60.5k tokens (30.3%)
⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛁ Custom agents: 415 tokens (0.2%)
⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛁ Memory files: 2.8k tokens (1.4%)
⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛝ ⛝ ⛝ ⛁ Messages: 8 tokens (0.0%)
⛝ ⛝ ⛝ ⛝ ⛝ ⛝ ⛝ ⛝ ⛝ ⛝ ⛶ Free space: 77k (38.3%)
⛝ ⛝ ⛝ ⛝ ⛝ ⛝ ⛝ ⛝ ⛝ ⛝ ⛝ Autocompact buffer: 45.0k tokens (22.5%)
全コンテキスト (200k tokens) のうち 62%が既に使用されており、そのうち 30.3% (60.5k tokens) を MCP ツールが占めていました。対話やファイル読み込みに使用可能な Free space は 77k tokens (38.3%) に留まっています。
原因分析
コンテキスト使用量の内訳を詳細に分析したところ、Sentry および CircleCI の MCP ツールが大きなトークンを消費していることが判明しました。これらのツールは多数の定義を提供していますが、筆者の日常的な開発作業における実際の使用頻度は低い状態でした。
MCP | ツール数 |
---|---|
Sentry | 13 tools |
CircleCI | 16 tools |
すべての MCP ツール定義は対話開始時にコンテキストに含まれるため、使用頻度が低いツールであっても常にコンテキストを占有し続けることになります。これが、モデルの「attention budget」を無駄に消費していた根本的な原因でした。
MCP ツール構成の見直し
使用頻度の低かった Sentry および CircleCI の MCP ツールを削除し、コンテキスト使用量を再計測しました。
Context Usage
⛁ ⛁ ⛁ ⛁ ⛁ ⛁ ⛁ ⛁ ⛁ ⛁ claude-sonnet-4-5@20250929 · 69k/200k tokens (35%)
⛀ ⛁ ⛀ ⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛶
⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛁ System prompt: 2.3k tokens (1.1%)
⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛁ System tools: 12.2k tokens (6.1%)
⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛁ MCP tools: 6.3k tokens (3.2%)
⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛁ Custom agents: 415 tokens (0.2%)
⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛁ Memory files: 2.9k tokens (1.4%)
⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛝ ⛝ ⛝ ⛁ Messages: 8 tokens (0.0%)
⛝ ⛝ ⛝ ⛝ ⛝ ⛝ ⛝ ⛝ ⛝ ⛝ ⛶ Free space: 131k (65.5%)
⛝ ⛝ ⛝ ⛝ ⛝ ⛝ ⛝ ⛝ ⛝ ⛝ ⛝ Autocompact buffer: 45.0k tokens (22.5%)
改善結果
項目 | 改善前 | 改善後 | 変化量 |
---|---|---|---|
MCP tools 使用量 | 60.5k tokens (30.3%) | 6.3k tokens (3.2%) | -54.2k tokens (-27.1%) |
全体使用量 | 124k tokens (62%) | 69k tokens (35%) | -55k tokens (-27%) |
Free space | 77k tokens (38.3%) | 131k tokens (65.5%) | +54k tokens (+27.2%) |
MCP ツールの使用量は 30.3% から 3.2% へと大幅に削減され、全体のコンテキスト使用量は 62% から 35% へと減少しました。Free space は 27.2%増加し、より長い対話履歴の保持や、大量のファイルコンテキストの読み込みが可能になりました。
MCP ツールの効率的な運用方法
今回の経験から得られた知見を基に、MCP ツールの効率的な運用方法をいくつか紹介します。状況に応じて以下の手法を使い分けることで、コンテキストを効率的に管理できます。
1. タスク単位での MCP ツールの追加・削除
特定のタスクでのみ使用する MCP ツールは、常時有効化および add する必要はありません。タスク開始時に claude add mcp
し、完了後に claude remove mcp
することで、平常時のコンテキスト消費を抑制できます。
# タスク開始時
claude add mcp <temp-mcp-server>
# 作業実施
# タスク完了時
claude remove mcp <temp-mcp-server>
2. 使わない MCP ツールの無効化
頻繁に使用するものの、特定のタスクでは不要でコンテキストを多く確保したい場合は、MCP ツールごとに無効化することが可能です。無効化は削除とは異なり、設定を保持したまま一時的にツールの読み込みのみを停止できます。
無効化の手順:
-
claude
を起動する -
/mcp
コマンドで MCP 一覧を表示する - 対象の MCP を選択
- Disable を選択
筆者の環境で Sentry と CircleCI の MCP を無効化した際の /context
は次の結果でした。完全に削除した場合(MCP tools: 6.3k tokens)と比較すると MCP tools が占める割合は大きいですが、無効化前(60.5k tokens)と比べて約 20% ほど Free space が改善しています。
Context Usage
⛁ ⛁ ⛁ ⛁ ⛁ ⛁ ⛁ ⛁ ⛁ ⛁ claude-sonnet-4-5@20250929 · 85k/200k tokens (43%)
⛁ ⛁ ⛁ ⛁ ⛁ ⛁ ⛁ ⛁ ⛀ ⛁
⛀ ⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛁ System prompt: 2.3k tokens (1.1%)
⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛁ System tools: 12.5k tokens (6.3%)
⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛁ MCP tools: 21.9k tokens (11.0%)
⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛁ Custom agents: 415 tokens (0.2%)
⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛁ Memory files: 2.9k tokens (1.4%)
⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛝ ⛝ ⛝ ⛁ Messages: 91 tokens (0.0%)
⛝ ⛝ ⛝ ⛝ ⛝ ⛝ ⛝ ⛝ ⛝ ⛝ ⛶ Free space: 115k (57.4%)
⛝ ⛝ ⛝ ⛝ ⛝ ⛝ ⛝ ⛝ ⛝ ⛝ ⛝ Autocompact buffer: 45.0k tokens (22.5%)
3. 定期的なコンテキスト使用量の確認
/context
コマンドを定期的に実行し、コンテキストの使用状況を確認する習慣をつけることを推奨します。この可視化により、不要なリソース消費を早期に発見し、適切な対処が可能になります。
まとめ
本記事では、MCP ツールによるコンテキスト圧迫の実態と、その改善方法について紹介しました。
- MCP ツールは対話開始時にコンテキストに含まれるため、トークンを常時消費する
- 使用頻度の低いツールがコンテキストを圧迫し、モデルの性能低下を招く可能性がある
-
/context
コマンドにより、コンテキスト使用状況をいつでも可視化できる - MCP ツールの無効化やタスク単位での追加・削除により、効率的な運用が可能
MCP の利便性を享受しつつ、コンテキストという有限なリソースを適切に管理することが、AI エージェントの性能を最大限に引き出すための重要な要素となります。
それでは、良き Agentic Coding ライフをお過ごしください!
Discussion