Claude Code の MCP コンテキスト: ツールを残すかコマンドを実行するか
固定のトークン削減を仮定せず、Claude Code の MCP サーバーがコンテキストへ与える影響を調べる可逆的な手順。
目次
Claude Code の MCP コンテキスト: ツールを残すかコマンドを実行するか
MCP サーバーは、Claude Code が作業ディレクトリの外にあるシステム、たとえばチケット、社内 API、データベース、監視データへアクセスする場合に役立ちます。同時に、ツール名、説明、入力スキーマ、実行できる操作もセッションに加わります。したがって判断すべきなのは「MCP は高いか」ではありません。このタスクには外部システムへの反復アクセスが必要なのか、それとも短いローカル操作で足りるのかです。
一度長い応答が出たからといって、すべてのサーバーを無効化しないでください。外部への副作用がない短い反復タスクを一つ選び、現状を測定してから、一つのサーバーだけを絞るか外します。ターン数、実際に必要だった呼び出し、検証できる結果の方が、コンテキストが大きく感じるという印象より有用です。
Claude Code の別 API workflow を検証する場合は、最新の BetterToken 設定ガイドを開き、同じ prompt と model で二回実行してから、Dashboard の時刻、model、status、input/output/cache Token、表示された消費をすぐ比較してください。曖昧なコンテキストの懸念を、検証可能な A/B test に変えられます。まず read-only test を一つ実行し、API Key は repository に保存しません。
追加コンテキストはどこから来るか
Claude Code の MCP ドキュメントでは、MCP は外部ツールとデータへの接続として説明されています。モデルにとっては、呼び出し結果だけが対象ではありません。最初の呼び出し前から、各ツールの目的、引数、制限を考慮する必要があります。フィルタされていないツールを多数公開する広いサーバーほど、考慮すべき選択肢が増えます。
ただし、MCP に固定の「トークン料金」があるわけではありません。サーバー、有効なツール、prompt、モデル、セッション履歴、ツールが返すデータで結果は変わります。少なくとも次を別々に見ます。
- タスクに不要な多数のツールスキーマが最初から公開されている。
- 一回の呼び出しが長い結果を返し、次のターンで解釈が必要になる。
- 広すぎる結果のために検索やファイル読み込みを繰り返す。
- ツールを外すと外部検証が失われ、エージェントが推測する。
どれか一つだけで、タスク内のすべての token の原因を証明することはできません。リポジトリの規模や既存の会話履歴も比較を変えます。
最小で役に立つインターフェースを選ぶ
| 状況 | 最初の選択 | 理由 |
|---|---|---|
| チケットを何度も読み更新する | 範囲の狭い tracker MCP | 外部オブジェクトを繰り返し扱う必要がある。 |
| ローカルプロセスの状態を一度確認する | ローカル command または status file | 必要な事実は workspace にある。 |
| 多くのタスクで社内 API を読む | 小さな scope の read-only MCP | 反復可能で確認しやすいアクセスになる。 |
| リポジトリ内の文書を一つ開く | search と file read | 外部ツールの一覧は不要。 |
| 外部システムを変更する | 先に manual / read-only check | authorization、idempotency、結果確認が必要。 |
サーバーの知名度ではなく、頻度とデータ境界で選びます。Git の状態を一度見るだけなら command の方が小さいことが多いです。一方、スキーマのある外部データに関連操作を複数行う場合、command は安全なインターフェースの代わりにはなりません。
同じタスクで小さく比較する
変更されたファイルの担当者を探す、ローカル状態を確認する、テスト用プロジェクトの未完了項目を読む、といった副作用のないタスクを選びます。異なるタスクを比べたり、たまたま長い一つのセッションから一般論を作ったりしないでください。
- 短い prompt、作業ディレクトリ、期待する結果を書きます。例: 「変更済みファイルを表示し、リポジトリを変更せずに次の一手を一つ提案して」。
- 現在の MCP 構成で実行します。ターン数、使った tool、結果、時刻だけを安全に記録します。API Key、
.env、機密性のある完全な出力は記録しません。 /mcpで server を一つだけ無効化します。設定は保存され、disabled と表示されます。セッションを閉じて fresh session を開き、/mcpで対象 server がリストに残り未接続であることを確認して、まったく同じ prompt を繰り返します。- 先に得られた fact を比較します。エージェントは必要な情報を同じように取得したか、それとも役に立つ tool call を推測に置き換えたかを見ます。
/mcpで server を戻し、新しい session で状態を確認します。手作業でのデータ転記が必要になったり重要な validation が失われたりするなら戻します。結果が維持され不要な呼び出しが減るなら、絞った構成を残します。
fresh session が必要なのは、古い history にはすでに tool result が含まれるからです。このテストは Claude Code 全体の性能を測るものではなく、普段の workflow の判断材料です。
本当に比較できる command
MCP を任意の command で置き換えないでください。同じローカル fact なら、次の read-only command は比較対象になります。
git status --short
両方の条件で、変更済みファイルの一覧と、書き込みを伴わない次の一手だけを求めます。prompt と期待する一覧を同じにします。まず一覧、次に turn、call、token を比較します。MCP が git status にない外部 fact を返していた場合は同等ではありません。狭い read-only MCP を残すか、同じ system への文書化された command を使います。
削除前にツールの表面を小さくする
一つの server が多数の command を持っていても、その project が定期的に使うのは一つか二つかもしれません。まず表面を絞ります。
- 最初の比較では read-only tool だけを有効にする。
- この repository で使わない integration を無効にする。
- development、support、administration の profile を分ける。
- tool description に secret、長い log、会話履歴を入れない。
- 稀な操作は、期待結果が明確な短い document 済み command にする。
MCP は外部データを読んだり操作を始めたりできます。設定があることは scope の確認や呼び出し結果の検証を置き換えません。モデルのテキスト応答は、外部操作が正しく終わった証拠ではありません。
usage と費用を正しく比較する
API の比較では、自分の BetterToken API Key で Claude Code を設定できます。現在の値は Claude Code ガイドで確認してください。BetterToken は Claude subscription とは別の API access です。Key はユーザー自身の account で作成・管理し、repository、handoff、実験メモに置きません。
BetterToken Dashboard では時刻、model、status、input、output、cache token と対応する消費を確認できます。各 run に model、日時、input、output、cache、表示された費用、turn 数を一行で記録します。二つの run は同じ model と同じ prompt にします。
Dashboard に費用が出るなら、観測差 = MCP ありの費用 − MCP なしの費用 を使います。token だけなら、先に現在の価格ページを開き、日付、model、cache の規則を記録します。cache が別料金で表示される場合にだけ 費用 = input/1,000,000 × Pinput + output/1,000,000 × Poutput + cache/1,000,000 × Pcache を使います。空欄や曖昧な値を zero にせず、古い料金を流用しません。これは二つの run の観測であり、固定の MCP 単価ではありません。
判断を確認する順序
- 必要な外部 fact。 代替手段が ticket、status、API record、document を実際に取得し、推測していないことを確認します。
- 正しさとアクセス境界。 期待結果と照合し、新しい secret や広い scope を加えず read-only に保ちます。
- validation の維持。 tool が行っていた検証を代替手段が失わせていないか確認します。model response は外部結果の証拠ではありません。
- 最後に費用。 同じ prompt の fresh session で、turn、call、input/output/cache token、Dashboard の費用を比べます。
最初の三つのいずれかに失敗した場合、token が少なくても workflow は改善していません。タスクが同じでなくなったか、人が失われた検証を引き受けたからです。
選択を見直すタイミング
server を外した結果、必須の外部 fact が取れない、未検証の提案が増える、毎回同じ data を prompt に手でコピーするなら戻します。必要な結果が検証されたまま不要な call が減るなら、より狭い構成を維持します。良い MCP profile は派手ではありません。有効な tool には反復する仕事があり、残りには短い command、document、または manual check があります。