← ブログに戻る

MCPサーバーに接続しただけでトークンが消える — 4サービスで実測した

mcpai-agenttoken-costclaude-codeoptimization

MCPサーバーを5つ接続した状態でClaude Codeを起動したら、何も質問していないのにコンテキストウィンドウの40%が埋まっていました。

私は3秒ほど画面を見つめて、それから接続設定を全部見直しました。

何が起きているのか

MCPサーバーに接続すると、最初に tools/list というリクエストが走ります。これはサーバーが「私はこんなツールを持っています」と自己紹介する仕組みです。ツール名、説明文、パラメータ定義。これらがすべてLLMのコンテキストウィンドウに読み込まれます。

ここが直感に反するポイントです。使わなくても読み込まれる。

従来のAPI呼び出しなら、使いたいAPIだけを叩けばよかった。RESTful APIを10個知っていても、GETリクエストを送らなければ帯域もコストもゼロです。

MCPは違います。図書館に例えると「1冊の本を読みたいだけなのに、全蔵書のカタログを先に読まされる」。しかもその図書館に入るたびに、毎回カタログを最初から読み直します。

4サービスの実測データ

4つのMCPサーバーについて、ツール定義のトークン消費量を実測しました。

MCPサーバーツール数推定トークン数月10回のコスト
PostgreSQL1~35~¥0.07
Google Maps7~704~¥1.4
GitHub26~4,242~¥8.5
freee270~17,500~¥35

PostgreSQLとfreeeの差は約500倍です。

同じ「MCPサーバー」という名前がついているのに、接続のコスト特性がまったく違う。これは正直、実測するまで想像できませんでした。PostgreSQLは「コンビニで水を買う」くらいの感覚ですが、freeeは「コンビニに入ったら全商品の成分表を読まされる」に近い。

4サービスのトークン消費量比較

なぜfreeeは270ツールもあるのか

freeeのMCPサーバーは5つのAPIをカバーしています。

API主な機能ツール数の目安
会計取引、勘定科目、試算表~80
HR従業員、部署、給与~60
請求書請求書作成、送付~40
勤怠打刻、残業、有給~50
販売管理見積、受注、売上~40

freeeは会計だけでなくHR、勤怠、給与、販売管理まで一気通貫で提供するプラットフォームです。MCPサーバーが全APIをカバーしているのは、フル活用するユーザーにとっては合理的な設計です。

ただし、確定申告の経費処理だけが目的なら、必要なのは会計APIの一部(10~20ツール程度)。270ツール全部の定義が読み込まれるのは、蕎麦屋に入ったらフルコースのメニューを端から端まで音読させられるようなものです。

年間コストを計算してみる

確定申告での経費処理を想定して、年間コストを出します。Claude 3.5 Sonnetの入力トークン料金($3/1Mトークン、1ドル=150円)で計算しました。

1回あたりのコスト:
  17,500トークン × $3/1,000,000 × 150円 = ¥7.9/回

利用頻度別の年間コスト:
  月10回(個人事業主の経費処理)  → ¥945/年
  毎日利用(中小企業の経理)     → ¥2,835/年
  月50回(フル活用)            → ¥4,725/年

freeeの月額料金(スタンダードプラン: ¥2,380/月 = ¥28,560/年)と比較すれば小さな金額です。

しかし重要なのは、これがツール定義の読み込みだけのコストだということ。実際のツール呼び出し(取引の作成、勘定科目の検索など)のトークン消費は別途かかります。「サブスクの月額は安いけど、オプション料金が地味にかさむ」パターン。家計簿をつけるためのツールが、見えないところで家計を圧迫している。皮肉な話です。

業界の反応: PerplexityがMCPから距離を置いた

このトークンコスト問題は、私の個人的な発見ではありません。業界全体で認識されつつあります。

2026年3月、Perplexity CTOのDenis Yarats氏はAsk 2026カンファレンスで、社内でMCPから離れてAPIとCLIに戻すと発表しました。理由はコンテキストウィンドウの消費と認証フローの煩雑さ。ある開発者の報告では、MCPツールだけで200Kトークン中143K(72%)を消費していたケースもあります。

PerplexityはMCPサーバーの提供自体はやめていませんが、自社プロダクトの内部ではMCPを使わない方向にシフトしています。「プロトコルとしては支持するが、コスト構造が現実的でない」という判断です。

コスト最適化の3つの戦略

戦略1: 必要なツールだけ公開する

freeeの270ツールのうち、確定申告に必要なのは10ツール程度。Claude DesktopやCursorでは allowedTools で使うツールを絞れます。

{
  "mcpServers": {
    "freee": {
      "allowedTools": [
        "create_deal",
        "list_deals",
        "get_deal",
        "update_deal",
        "get_trial_balance",
        "list_account_items",
        "list_partners",
        "list_taxes",
        "list_walletables",
        "get_company"
      ]
    }
  }
}

10ツールなら約650トークン。17,500トークンから96%の削減です。

最も手軽で効果の大きい対策ですが、意外と知られていません。MCPの導入記事は「接続できた」で終わるものが多く、「接続後にツールを絞る」ステップまで書いてある記事はほとんど見かけません。

戦略2: 遅延読み込み(Lazy Loading)

2026年に入って、MCPのトークン問題に対する技術的な解決策が出てきました。

Claude CodeのTool Search機能(2026年1月発表)は、MCPツールが多すぎる場合にツール定義をコンテキストに直接読み込まず、必要なときだけ動的に検索・読み込みます。50以上のツールがある環境で特に有効です。

lazy-mcpというOSSプロキシも登場しています。MCPサーバーの前段に置いて、ツール定義をオンデマンドで読み込む仕組みです。ある事例では、コンテキスト使用量を90%削減したと報告されています。

コスト最適化の3戦略

戦略3: 接続のタイミングを制御する

最もローテクで確実な方法です。常時接続ではなく、必要な時だけMCPサーバーに接続する。「freeeの作業が終わったら接続を切る」。それだけで、他のタスクでのトークン消費をゼロにできます。

私は確定申告の時期だけfreee MCPを有効にして、それ以外の期間は設定ファイルからコメントアウトしています。年に数回しか使わないツールを365日接続しておく理由はありません。

MCPサーバー選定時のチェックリスト

MCPサーバーを本番導入する際、機能面だけでなくコスト面も評価すべきです。

評価基準良い例要注意
ツール数必要最小限に絞られている全機能がフラットに公開
説明文簡潔・構造化されているAPI仕様書そのまま
権限制御ツール単位で制御可能全ツールが常に有効
ドキュメントトークン消費量の記載あり記載なし

MCPサーバーを自作する場合は、ツール説明文の長さがトークンに直結することを意識してください。API仕様書のような冗長な説明文(約80トークン)を簡潔な説明文(約20トークン)にするだけで、ツールあたり75%のトークン削減になります。

まとめ

  • MCPに接続するだけで、ツール定義のトークンが消費される
  • PostgreSQL(35トークン) vs freee(17,500トークン): 500倍の差
  • freeeの年間コストは約945円(月10回利用)。見えないが確実にかかるコスト
  • allowedTools でツールを絞れば96%削減できる。最初にやるべき対策
  • 2026年はLazy LoadingやTool Searchなど、エコシステム側の対策も進んでいる
  • PerplexityのMCP離脱は、この問題が個人の些事ではなく業界の構造的課題であることを示している

MCPは便利です。私も日常的に使っています。ただ、「接続した瞬間に何が起きているか」を理解した上で使うのと、知らずに使うのとでは、年間のコストと快適さがまるで違います。

冷蔵庫のドアを開けっぱなしにしても、すぐには食材は腐りません。でも電気代は確実に上がります。MCPのトークンコストも同じです。気づいたときに閉めればいい。

参考リンク


さらに深掘りしたい方へ

MCP を本番導入する前に必読 — OWASP MCP Top 10、トークンコスト実測、ファイルアップロード問題の7サービス検証を扱う MCP実践セキュリティ — 本番導入で躓かないための完全ガイド を参考にしてください。