MCPサーバーのコストインパクト
モデルコンテキストプロトコル(MCP)により、LLMはデータベース、API、ファイルシステム、検索エンジンなどの外部ツールを呼び出すことができます。これは強力です。しかし、高価でもあります。各MCPツール定義はコンテキストウィンドウのスペースを消費し、各ツールコールは別々のAPIラウンドトリップであり、各ツール結果は追加の入力トークンとしてモデルにフィードバックされます。MCPヘビーなエージェントワークフローを実行しているチームにとって、ツール関連のオーバーヘッドは総トークン支出の30–60%を占める可能性があります。
この記事では、MCPがコストをどのように押し上げるか、オーバーヘッドの測定方法、そして対対処法を説明します。
MCPがトークンを消費する仕組み
すべてのMCPインタラクションには3つのトークンコストレイヤーがあります:
レイヤー1:ツール定義。各MCPサーバーはモデルにツールを登録します。ツール定義には関数名、パラメータスキーマ、ツールの機能の説明が含まれます。単一のツール定義は通常500–2,000トークンを消費します。15個のツールを持つサーバーは、それらのツールが呼び出されなくても、すべてのリクエストに7.5K–30Kトークンを追加します。
レイヤー2:ツールコールリクエスト。モデルがツールを呼び出すことを決定すると、ツールコール出力(関数名+引数)を生成します。これは出力トークンとして課金されます。次にツール結果が入力トークンとして戻ります。単一のツールコールラウンドトリップは、結果のサイズに応じて通常1K–5Kトークンを消費します。
レイヤー3:コンテキスト内のツール結果。ツール結果は後続のすべてのターンの会話コンテキストに残ります。セッションで10個のツールを呼び出すと、それらの結果が蓄積します。50行のJSONを返すデータベースクエリは、残りの会話中ずっと残る8K–15Kトークンを追加する可能性があります。
複合効果
MCPコストは複合します。ツール定義はすべてのリクエストで送信されるためです。20個のツールが定義されており(10K–40Kトークンの定義)、会話で5回のリクエストを行う場合、ツール定義だけで50K–200K入力トークンがかかります。ツールコールの結果を加えると、ベースラインのトークン消費量を簡単に倍増させることができます。
| MCPパターン | トークンオーバーヘッド | 頻度 | 月間コストインパクト(推定) |
|---|---|---|---|
| ツール定義(10ツール) | リクエストあたり5K–20Kトークン | すべてのリクエスト | ユーザーあたり$15–$60 |
| 単一ツールコールラウンドトリップ | 1K–5Kトークン | セッションあたり3–10回 | ユーザーあたり$5–$25 |
| 大きなツール結果(DBクエリ、コード検索) | 5K–20Kトークン | セッションあたり1–5回 | ユーザーあたり$10–$50 |
| 長いセッションでの蓄積された結果 | 20K–100Kトークン | 1日1–3セッション | ユーザーあたり$30–$120 |
| 未使用のツール定義がロードされる | リクエストあたり5K–30Kトークン | すべてのリクエスト | ユーザーあたり$15–$90 |
MCPオーバーヘッドの測定方法
MCPコストを測定する最も簡単な方法は、同じプロンプトを2回実行することです:1回はMCPツールをロードして、もう1回はロードせずに。入力トークンの差がツール定義のオーバーヘッドです。次にツールコールトークンを別々にカウントします。ほとんどのプロバイダーは請求ダッシュボードで明確にラベル付けしています。
より正確な測定のために、MCPクライアントに以下をログ記録するよう計装します:登録されたツール数、リクエストあたりのツール定義で消費されたトークン、セッションあたりのツールコール数、ツール結果あたりのトークン、ツール活動に起因する総セッショントークン。
MCPコストを削減する戦略
1. ツールを選択的にロードする。すべてのリクエストですべてのツールを登録しないでください。ユーザーがコードの質問をしている場合、データベースやデプロイメントツールをロードする必要はありません。多くのMCPクライアントは、コンテキストまたは明示的なユーザー有効化に基づいた動的ツールロードをサポートしています。
2. ツールの説明を最小化する。ツールの説明は定義内の最大のトークン消費です。冗長な説明は500トークンになる可能性があり、簡潔な説明は100トークンになる可能性があります。20個のツール全体で、リクエストあたり8Kトークンの差になります。
3. ツール結果を切り詰める。モデルが実際に必要なフィールドのみを返します。データベースクエリが20列を返すがモデルが3列しか必要としない場合、結果をプロジェクションします。結果サイズを妥当な制限に設定します。2K–4Kトークンは通常、モデルが決定を下すのに十分です。
4. 繰り返し呼び出しをキャッシュする。同じツールがセッション内で同じ引数で呼び出された場合、再度実行する代わりにキャッシュされた結果を返します。これは参照ルックアップ、スキーマクエリ、ドキュメント取得に特に価値があります。
5. 注入前に要約する。大きなツール結果(ファイルの完全な内容、長いAPIレスポンス)については、コンテキストに追加する前に要約します。モデルが必要な場合に完全な結果を取得するオプション付きの要約を返します。
6. ツール結果の予算制限を使用する。ツール結果トークンのセッションごとの予算を設定します。予算に達した場合、それ以上のツールコールを拒否するか、セッションの残りのためにより安いモデルに切り替えます。
MCPサーバーの隠れたコスト
トークンコストを超えて、MCPサーバーはレイテンシと信頼性のオーバーヘッドを導入します。応答に3秒かかるツールコールは、すべてのターンにレイテンシを追加します。断続的に失敗するツールはリトライを引き起こします。どちらもタスクあたりの実効コストを増加させます。
組織全体でMCP使用をスケーリングしているチームにとって、サーバーレベルでこれらのコストを追跡することは不可欠です。MCPヘビーなワークロードをトークンあたりのコストが低いモデルにルーティングし、MCPライトなワークフローをレイテンシが重要なプレミアムモデルに保持します。
関連
- エージェント经济学 - コーディングエージェントの実際の価格設定。
- エージェント支出配分 - プロジェクトごとのエージェントコストの追跡。
- LLMトークン追跡 - 支出の測定。
- LLM向けFinOps - より広いフレームワーク。
自分のLLM支出に適用したいですか?FinOps LLMはAI費用の無料監査を実施し、節約場所を示します。無料監査を予約 →