Claude Code 2.1.7で導入されたMCPSearchツールは、MCPサーバーを多数接続している開発者にとって待望の機能です。この機能を有効にすると、MCPツールの情報がコンテキストウィンドウの10%を超えた時点で動的な最適化が発動し、トークン消費を大幅に削減できます。Notion MCPサーバーを使った実測では、21.1kトークンが1.5kトークンまで削減されました。仕組みと設定方法を詳しく解説します。
この記事のポイント
- MCPSearchはClaude Code 2.1.7でデフォルト有効になった新機能
- MCPツール情報がコンテキストの10%を超えると自動で最適化が発動
- 遅延ローディングと選択的ローディングの2つのメカニズムで効率化
- Notion MCPでの実測で21.1k→1.5kトークンと約93%削減を達成
なぜMCPSearchが必要なのか
MCPサーバーは非常に便利ですが、多くのツールを提供するサーバーを接続すると、それだけでコンテキストウィンドウが圧迫されるという問題があります。例えばNotion公式のMCPサーバーは多数のツールを提供しており、1つのMCPサーバーを接続しただけで全体コンテキストの10.6%(21.1kトークン)を消費してしまいます。
複数のMCPサーバーを接続している開発者にとって、これは深刻な問題です。MCPツールの情報だけでコンテキストの半分以上が埋まってしまうことも珍しくありません。実際のタスクに使えるコンテキストが減り、長い会話や複雑なタスクでの性能低下につながります。MCPSearchはこの問題を根本から解決するために設計されました。
MCPSearchの2つの最適化メカニズム
MCPSearchは主に2つの方法でトークン消費を削減します。
遅延ローディング(Delayed Loading): 従来はClaude Codeの起動時にすべてのMCPツール情報がコンテキストに読み込まれていました。MCPSearchが有効な場合、モデルが「現在の情報では タスクを完了できない」と判断した時点で初めてMCPSearchツールが呼び出され、適切なMCPツールを検索します。つまり、MCPツールを使わない会話では、いくつMCPサーバーを接続していてもコンテキストを全く消費しません。
選択的ローディング(Selective Loading): 必要なツールだけがコンテキストに読み込まれます。例えばあるMCPサーバーが10個のツールを提供していても、実際に必要なのが1つだけなら、その1つのツール情報のみがコンテキストに追加されます。残りの9つのツール情報は読み込まれないため、無駄なトークン消費を防げます。
実測結果:Notion MCPサーバーでの検証
記事の著者がNotion公式MCPサーバーで検証した結果は非常に印象的でした。
MCPSearchが無効の場合のコンテキスト使用状況を見ると、システムプロンプトで3.0kトークン(1.5%)、システムツールで17.0kトークン(8.5%)、MCPツールで21.1kトークン(10.6%)を消費し、合計で41kトークンを使用していました。特にMCPツールがシステムツールより多くのトークンを消費している点が注目されます。
MCPSearchを有効にして実際にNotionツールを使用した場合、MCPツールの消費は1.5kトークン(0.8%)まで削減されました。これは約93%の削減に相当し、21kトークン以上を節約したことになります。この削減分を実際の作業に使えるようになるため、より長い会話や複雑なタスクに対応できるようになります。
実践してみよう
MCPSearchはClaude Code 2.1.7以降ではデフォルトで有効になっていますが、明示的に有効化する場合の方法も紹介します。
環境変数で設定する方法(推奨):
# macOS/Linux
ENABLE_TOOL_SEARCH=true claude
# Windows PowerShell
$env:ENABLE_TOOL_SEARCH="true"; claude
設定ファイルで永続化する場合は、.claude/settings.jsonに以下を追加します:
{
"env": {
"ENABLE_TOOL_SEARCH": "true"
}
}
現在のコンテキスト使用状況を確認するには、Claude Code内で/contextコマンドを実行します。MCPツールがどれだけトークンを消費しているか、視覚的なバーグラフで確認できます。
トレードオフと注意点
MCPSearchには1つの重要なトレードオフがあります。MCPツールを使用する際に、最初に追加のAPI呼び出し(MCPSearch自体の呼び出し)が発生します。つまり、MCPツールを頻繁に使う会話では、トークン削減のメリットがこのオーバーヘッドで相殺される可能性があります。
ただし、多くのユースケースではトークン削減のメリットの方が大きいでしょう。特に以下の場合にMCPSearchは効果的です:複数のMCPサーバーを接続している場合、MCPツールをたまにしか使わない会話の場合、多数のツールを提供するMCPサーバーを使用している場合。逆に、1つのMCPサーバーのみで、そのツールを頻繁に使う場合は、メリットが少ない可能性があります。
知っておくと便利なTips
-
コンテキスト使用状況の定期確認:
/contextコマンドで現在の使用状況を確認する習慣をつけましょう。MCPツールがどれだけ消費しているか把握することで、最適化の余地を見つけやすくなります。 -
MCPサーバーの整理: 使わないMCPサーバーは接続を解除しましょう。MCPSearchが有効でも、使用時にはトークンを消費します。本当に必要なサーバーだけを接続することで、さらに効率的になります。
-
Tool Search Tool との関連: Anthropic公式ブログの「Advanced Tool Use」記事で紹介されているTool Search Toolが、MCPSearchの基盤技術です。より詳細な仕組みを知りたい方は、そちらも参考になります。
-
閾値の理解: デフォルトの10%という閾値は、多くの場合に最適化されたバランスです。この閾値を下回るトークン消費であれば、MCPSearchは介入しません。
まとめ
MCPSearchは、MCPサーバーを活用するClaude Codeユーザーにとって非常に重要な最適化機能です。特に複数のMCPサーバーを接続している開発者は、この機能の恩恵を大きく受けるでしょう。遅延ローディングと選択的ローディングという2つのメカニズムにより、実測で93%ものトークン削減が可能になります。
Claude Code 2.1.7以降ではデフォルトで有効になっているため、特別な設定なしでこの最適化の恩恵を受けられます。MCPサーバーを多用している方は、/contextコマンドでコンテキスト使用状況を確認し、最適化の効果を実感してみてください。
📎 元記事: https://dev.to/codemee/claude-code-mcpsearch-gong-ju-409e


コメント