MCPのコスト:Model Context Protocolサーバーがトークンに追加するもの
MCPは無料ですが、接続されたサーバーはすべてのリクエストにツールスキーマを注入します。この記事ではそのオーバーヘッドを測定し、10サーバーが4つのモデルでの12ステップ実行に与える影響を示し、4つの削減方法を提供します。
記事本文には確認日が記載されています。下の料金表はデプロイのたびにライブカタログから再構築されます。
最速の勝ち方
約25のツールを公開する1台のMCPサーバーは、モデルがタスクを読む前に、リクエストごとに推定3,000~8,000トークンのJSONスキーマを注入します。10台接続すると、ステップごとに約50,000トークンを再送信することになります。Claude Sonnet 5では、$0.39の12ステップ実行が約$1.53になります。接続する前に、ベンダーのトークンカウンターでツールリストを計測してください。
MCPコストについての短い答え
MCP自体は無料です。Model Context Protocol、そのSDK、そしてほとんどのコミュニティサーバーは無料です。支払いが発生するのはトークンです。接続された各サーバーのツール定義がすべてのリクエストに注入され、約25のツールを持つサーバーは推定3,000~8,000トークンのスキーマを追加します。10台のサーバーでは、1ステップあたり約50,000トークンになります。参考となる12ステップの実行では、Claude Sonnet 5が$0.39から約$1.53に、GPT-5.4が$0.50から約$1.93に、Gemini 3.8 Flashが$0.15から約$0.58に、DeepSeek V4.1 Flashが約$0.06から約$0.23に上昇します。
これらの数値はプロンプトキャッシング前のものです。キャッシングにより、Sonnet 5の実行は約$0.36に戻ります。この記事の残りの部分では、これらの数値の根拠と、それらを動かすレバーについて説明します。
トークンの発生源
MCPクライアントは起動時に各サーバーの tools/list を呼び出し、結果をモデルベンダーのツール形式に変換します。各ツールは名前、説明、引数のJSONスキーマになります。そのブロックは、モデルがツールを使用するかどうかにかかわらず、すべてのモデル呼び出しとともに送信されます。モデルは見えないものを呼び出すことができないからです。
これを単なる乱雑さではなく高コストにする理由は2つあります。第一に、スキーマは冗長です。すべての列を文書化するデータベースサーバーや、20のナビゲーションアクションを持つブラウザサーバーは、それだけで数千トークンになる可能性があります。第二に、エージェントループは各ステップでコンテキスト全体を再送信するため、スキーマコストは実行ごとではなくステップごとに発生します。その再送信の仕組みについては、[AIエージェントの実行コスト](/guides/how-much-does-an-ai-agent-cost-to-run)で説明しています。
接続する前にサーバーを測定する
推定しないでください。ツールリストがある場合とない場合のリクエストについて、ベンダーのトークンカウンターに問い合わせてください。その差がそのサーバーのスキーマオーバーヘッドです。このTypeScriptスニペットは、MCP経由でサーバーのツールを取得し、Anthropicのツール形状に変換し、Claude Sonnet 5でのステップあたりのオーバーヘッドを価格設定します。
import Anthropic from "@anthropic-ai/sdk";
import { Client } from "@modelcontextprotocol/sdk/client/index.js";
const anthropic = new Anthropic();
export async function toolListCost(mcp: Client, system: string) {
const { tools } = await mcp.listTools();
const anthropicTools: Anthropic.Tool[] = tools.map((t) => ({
name: t.name,
description: t.description ?? "",
input_schema: t.inputSchema as Anthropic.Tool["input_schema"],
}));
const probe = [{ role: "user" as const, content: "ping" }];
const withTools = await anthropic.messages.countTokens({
model: "claude-sonnet-5", system, tools: anthropicTools, messages: probe,
});
const noTools = await anthropic.messages.countTokens({
model: "claude-sonnet-5", system, messages: probe,
});
const schemaTokens = withTools.input_tokens - noTools.input_tokens;
// Sonnet 5: $2 per 1M uncached, roughly $0.20 per 1M as a cache read
const perStepUSD = (schemaTokens * 2) / 1_000_000;
return { schemaTokens, perStepUSD, perStepCachedUSD: perStepUSD / 10 };
}各サーバーで一度実行し、その数値をエージェントの設定に保持してください。ステップあたり6,000トークンかかり、実行の2%で呼び出されるサーバーは、削除の有力な候補です。
ツール結果は2番目の請求項目です
スキーマは固定費です。ツール結果は変動費であり、多くの場合、より大きな割合を占めます。ファイルの読み取り、Webページ、SQLの結果は5,000〜20,000トークンになることがあります。結果が会話に入ると、以降のすべてのステップで再送信されます。
基準となるトレース(1,500トークンの結果)を例に、12個の結果のうち4つを、ステップ2、4、6、8で15,000トークンのSQLダンプに置き換えます。各ダンプはベースラインより13,500トークン多く、以降のすべてのステップで再送信されます。再送回数は10 + 8 + 6 + 4 = 28回、元の送信4回を加えて合計32回です。これは13,500 × 32 = 432,000の追加入力トークンとなり、Sonnet 5で1Mトークンあたり$2の場合、約$0.86になります。たった4つのクエリで、行数と最初の20行を返すだけでよかったはずです。
実行全体での増大の仕組み
参考実行は、4,000トークンのプレフィックス(システム1,500、手書きツール2,500)、500トークンのタスク、そして各ステップで300トークンのツールコールと1,500トークンの結果を追加する12のステップで構成されます。キャッシュなしの実行全体の入力は172,800トークン、出力は4,800トークンです。
2,500トークンの手書きツールを、それぞれ約5,000トークンの10台のMCPサーバーに置き換えます。プレフィックスは52,000トークンになり、ステップ12だけでも52,000 + 11 × 1,800 = 71,800トークンを送信します。実行全体の入力は12 × 52,000 + 118,800 = 742,800トークンとなり、まったく同じ作業に対してベースラインの4.3倍になります。
| Model ($/1M in / out) | Hand-written tools, 12 steps | 10 MCP servers, 12 steps | 10 servers, cached (reads ~10%) |
|---|---|---|---|
| Claude Sonnet 5 ($2 / $10) | 172,800 × $2 + 4,800 × $10 = $0.39 | 742,800 × $2 + $0.048 = $1.53 | 71,800 × $2.50 + 671,000 × $0.20 + $0.048 = $0.36 |
| GPT-5.4 ($2.50 / $15) | 172,800 × $2.50 + 4,800 × $15 = $0.50 | 742,800 × $2.50 + $0.072 = $1.93 | 71,800 × $2.50 + 671,000 × $0.25 + $0.072 = $0.42 |
| Gemini 3.8 Flash ($0.75 / $3.75) | $0.15 | 742,800 × $0.75 + $0.018 = $0.58 | 71,800 × $0.75 + 671,000 × $0.19 + $0.018 = $0.20 plus cache storage |
| DeepSeek V4.1 Flash ($0.30 / $1.20) | 172,800 × $0.30 + 4,800 × $1.20 = $0.058 | 742,800 × $0.30 + $0.006 = $0.23 | 71,800 × $0.30 + 671,000 × $0.006 + $0.006 = $0.03 |
キャッシュ列は、71,800トークンが1回書き込まれ(ステップ1のプレフィックスと各ステップの1,800の新しいトークン)、671,000トークンがキャッシュから読み取られることを想定しています。書き込みプレミアムはAnthropicの約125%です。OpenAIとDeepSeekにはありません。DeepSeek V4.1 Flash(API名 deepseek-flash)は、DeepSeekが廃止したV4 Flashに代わるものです。DeepSeekの行はピーク時のレートを使用しています。オフピーク時間帯は半額です。DeepSeekの価格は2026-10-27にapi-docs.deepseek.comで確認しました。その列のすべては、[prompt caching for AI agents](/guides/prompt-caching-for-ai-agents)のルールに従っています。
MCPオーバーヘッドを削減する4つの方法
- エージェントあたりのサーバー数を減らす。各エージェントに、そのタスクに必要な2〜3個のサーバーを与えます。10台ではなく3台にすると、プレフィックスが52,000トークンから17,000トークンに減り、キャッシュなしのSonnet 5実行は$1.53から約$0.69(322,800 × $2 + $0.048)になります。
- ツールフィルタリングと遅延読み込み。OpenAI Agents SDKとClaude Agent SDKはどちらも、MCPサーバーごとにツール名の許可リストを受け入れるため、25ツールのサーバーが4つのツールを提示できます。AnthropicのAPIには、残りのツールに
defer_loadingを指定できるツール検索ツールも用意されており、モデルが検索した場合にのみスキーマがコンテキストにフェッチされます。どちらの方法でも、モデルは呼び出さないスキーマに対して料金を支払うことはありません。 - 結果をソースで切り詰める。すべてのツール結果を数千トークンに制限し、総行数、バイトオフセット、「page=2でもう一度呼び出し」などのヒントを返します。4つの制限されたSQL結果により、上記で計算した432,000トークンを節約できます。
- プレフィックスをキャッシュする。ツール定義は最初にレンダリングされ、その後変更されることはないため、リクエストの中で最もキャッシュしやすいトークンです。Anthropicで最後のツールに1つのブレークポイントを設定するか、OpenAIでツールの順序を安定させるだけで、スキーマコストをキャッシュ読み取りに変換し、リスト価格の約10%に抑えられます。
これら4つをすべて実行してください。加算ではなく乗算になります。フィルタリングされた3つのサーバー、切り詰められた結果、ウォームキャッシュがあれば、MCPオーバーヘッドが1セント未満の実行になります。
これを実現できる最安モデルと、フラッグシップに課金すべきタイミング
MCPツールが適切に指定され、タスクが明確なエージェントの場合、DeepSeek V4.1 Flash($0.30 / $1.20)は10サーバートレースで約$0.23、Gemini 3.8 Flashは約$0.58で実行されます。私たちの経験では、両方ともスキーマが明確であれば正しい構造化ツール呼び出しを行います。Claude Haiku 5.5は10月にリリースされ、$0.10 / $0.50で、価格面では安く、742,800 × $0.10 + 4,800 × $0.50 = 約$0.077ですが、このトレースではテストしていません。その価格ステップに注意してください。ここでの最大の呼び出しは71,800トークンですが、さらに6つのサーバー(約30,000トークン)を追加すると、ステップ12は52,000 + 30,000 + 19,800 = 101,800トークンに達し、Haiku 5.5はリクエスト全体を$0.50 / $2.50で課金します。より広い分野については、[AIエージェント向け最安LLM](/guides/cheapest-llm-for-ai-agents)と[モデルカタログ](/models)を比較してください。
エージェントが多くの類似したツール(10サーバーはしばしば重複する「search」や「read」ツールを意味します)から選択する必要がある場合、または人間を介さずにツールエラーから回復する必要がある場合は、Claude Sonnet 5またはGPT-5.4に支払ってください。安価なモデルが間違ったサーバーを選択してループすると、無駄なステップごとに52,000トークンのプレフィックスが再送信され、その時点ではフラッグシップモデルの方が完了タスクあたりのコストが安くなります。Claude Opus 5の$5 / $25は、ツールの配管にはほとんど正当化されません。計画ステップのために取っておき、[マルチエージェントシステムコスト](/guides/multi-agent-system-cost)で説明されているようにしてください。
支出の上限設定方法
ツールリストが大きいと、暴走ループのコストがより早く増大するため、ガードレールの重要性は低くなるどころか高くなります。
- すべての呼び出しに
max_tokensを設定し、エッセイではなくツール呼び出しに適したサイズにする - 実行ごとのステップ制限。10サーバーのエージェントが20ステップで終了しない場合、通常は徹底的ではなく混乱しています
- モデルが明示的にトリガーできる停止条件
- 各応答の
usageから計算される実行ごとのドル上限。キャッシュ読み取りおよび書き込みトークンを含み、超過時にループを中断します
「[トークンバジェットガードレール](/guides/ai-agent-token-budget-guardrails)」の記事にランナーコードがあります。ツール定義の課金方法に関するベンダー固有の詳細については、[ClaudeエージェントAPIコスト](/guides/claude-agent-api-cost)を参照し、[計算機](/calculator)を使用して、測定後の独自のサーバーリストの価格を確認してください。
重要なポイント
- →MCPにライセンス料はありません。コストはツールスキーマとツール結果で、どちらも各ステップで入力トークンとして課金されます。
- →サーバーあたり約25ツールで3K〜8Kトークンを見積もります。10サーバーで約50Kトークンのプレフィックスになります。
- →10サーバーで、Claude Sonnet 5では12ステップのリファレンス実行が$0.39から$1.53に、GPT-5.4では$0.50から$1.93になります。
- →ステップ2で15KトークンのSQL結果がさらに10回再送されます。そのうち4つで実行に約432K入力トークンが追加されます。
- →プロンプトキャッシングにより、10サーバーのSonnet 5実行は約$0.36に戻ります。サーバー削減と結果切り詰めがさらに効果を高めます。
- →エージェントごとにツールをフィルタリングし、結果をソースで切り詰めます。モデルは呼び出さないスキーマを見るべきではありません。
編集コンテキスト
これは誰向けですか?
Claude、OpenAI、またはGeminiエージェントにMCPサーバーを組み込んでいるチームは、入力トークンが作業よりも速く増加していることに気づいています。
これを使用すべきでない場合
デスクトップチャットユーザーがサブスクリプション製品に1つまたは2つのMCPサーバーを追加する場合、そのオーバーヘッドはベンダーが負担し、ユーザーは負担しません。
料金インサイト
10台のMCPサーバーはステップあたり約50Kトークンを追加します。12ステップの実行では、570Kの追加入力トークン、つまりキャッシュ前のClaude Sonnet 5で約$1.14になります。
検討すべき代替案
エージェントが実際に使用する6つのツールの手書きツールセット、遅延読み込みを使用したAnthropicツール検索、または安価なモデルでどのサーバーをアタッチするかを選択するルーターステップ。
最終的な結論
タスクをカバーする最小限のサーバーを接続し、ツールリストをフィルタリングし、結果を切り詰め、プレフィックスをキャッシュします。この4つを行えば、MCPのオーバーヘッドは誤差範囲になります。
よくある質問
MCPには費用がかかりますか?
プロトコルとリファレンスSDKはオープンソースで無料であり、ほとんどのMCPサーバーも無料で実行できます。費用がかかるのはトークンです。接続されたサーバーのツール定義は、モデル呼び出しのたびに入力として送信され、ツールの結果はすべてコンテキストに戻ります。これらのトークンに対して、通常の入力レートでモデルベンダーに支払います。
MCPサーバーはリクエストに何トークンを追加しますか?
それはサーバーに完全に依存します。説明的なスキーマを持つ約25のツールを公開するサーバーは、推定3,000~8,000トークンになります。豊富なカラム記述を持つデータベースサーバーはさらに多くなる可能性があります。推測ではなく、ベンダーのトークンカウンターで測定してください。その数は実行の各ステップで再送信されるためです。
なぜMCPサーバーを増やすとエージェントが遅く高くなるのですか?
ツールリストはプロンプトの一部だからです。10台のサーバーでは、モデルがタスクを見る前に毎ステップで約50,000トークンを読み込む必要があります。これは、典型的な12ステップの実行におけるタスクとそのすべてのツール結果を合わせた入力よりも多く、さらに最初のトークンまでの時間も増加します。
プロンプトキャッシュはMCPのオーバーヘッドを解決しますか?
ほとんど解決します。ツール定義はプロンプトの先頭に表示され、ステップ間で変化しないため、理想的なキャッシュ素材です。Anthropicでは最後のツールにcache_controlブレークポイントを設定します。OpenAIではプレフィックスが自動的にキャッシュされます。キャッシュ読み取りはリストの約10%なので、10サーバーのSonnet 5実行は約$1.53から約$0.36に下がります。
多くのMCPツールを持つエージェントに最も安価なモデルは何ですか?
価格面では、Claude Haiku 5.5は入力トークン100万あたり$0.10で、10サーバー、12ステップのトレースを約$0.077で実行します。ただし、100,000トークンを超える呼び出しがない場合に限ります(それを超えると5倍のコストになります)。ここではまだテストしていません。テストしたモデルの中では、DeepSeek V4.1 Flash(ピーク時、入力トークン100万あたり$0.30)は約$0.23、Gemini 3.8 Flash(入力トークン100万あたり$0.75)は約$0.58です。どちらも適切に指定されたツール呼び出しを確実に処理します。エージェントが多くの類似したツールから選択する必要がある場合やエラーから回復する必要がある場合は、Claude Sonnet 5またはGPT-5.4に移行してください。
MCPツールの結果を切り詰めるべきですか?
はい、結果がコンテキストに入る前に、サーバー側またはクライアント側で切り詰めてください。ファイル読み取りやSQL結果は5,000~20,000トークンになる可能性があり、後続の各ステップで再送信されます。結果を数千トークンに制限し、行数やオフセットなどのヒントを返して、モデルが必要な場合にのみさらに要求できるようにします。
Related
無料コース · サインアップ不要
まだ決められない?まず基本を学んでから、価格に戻ってきてください。