コンテンツにスキップ

トークン最適化

Claude Code を本格的に使い込むと、トークン消費が気になってきます。ここでは、上級者向けのトークン最適化テクニックを紹介します。

基本的なコスト管理は concepts を参照

/cost コマンドの使い方やトークン節約の基本テクニックは 基本概念 > コストとトークンの管理 で解説しています。

MCP のトークンコスト問題

MCP(外部サービスとの接続) は便利な機能ですが、トークン消費の観点では大きなコストがかかります。

なぜ MCP はトークンを消費するのか

MCP サーバーを接続すると、Claude Code はそのサーバーが提供するツールのスキーマ(定義情報)をコンテキストに読み込みます。これは、あなたが何も操作しなくても自動的に消費されるトークンです。

例: GitHub MCP サーバーの場合

  ツール数: 約 30 個
  スキーマのトークン消費: 約 55,000 トークン
  → 何も操作していないのに、接続しただけで消費される

複数の MCP サーバーを接続すると

MCP サーバーを増やすほど、スキーマのトークン消費は積み重なります。

接続サーバー数 推定トークン消費 コンテキストへの影響
1 サーバー 約 7,500 ほぼ影響なし
5 サーバー 約 37,500 やや圧迫
10 サーバー 約 75,000 コンテキストの 1/3 以上を消費

使わない MCP サーバーは接続しない

「とりあえず入れておく」は避けましょう。必要なサーバーだけを接続するのが鉄則です。

CLI 優先アプローチ

MCP の代わりに CLI(コマンドラインツール) を使うと、トークンを大幅に節約できます。

なぜ CLI の方が効率的なのか

CLI にはスキーマの事前読み込みが不要です。Claude はすでに膨大なターミナルコマンドの知識を持っているため、追加のトークンなしでコマンドを実行できます。

同じ作業のトークン比較:

  MCP 経由:  約 145,000 トークン(スキーマ + API 呼び出し)
  CLI 経由:  約   4,150 トークン(コマンド実行のみ)
  → 約 35 倍の効率差

CLI で代替できるサービス

以下のサービスは、MCP よりも CLI の方が効率的です。

サービス CLI ツール 使用例
GitHub gh gh issue list, gh pr create
Git git git log, git diff
Docker docker docker ps, docker logs
AWS aws aws s3 ls, aws ec2 describe-instances
ファイル操作 find, grep 検索、フィルタリング

MCP が有効な場面

一方で、以下の場面では MCP の方が適しています。

  • CLI が存在しないサービス — Figma、Notion など
  • 複雑な認証フロー — OAuth が必要なサービス
  • 監査ログが必要な場面 — 操作の追跡が求められるとき

Claude Code には、MCP のトークン消費を自動的に抑える Tool Search という仕組みが組み込まれています。

仕組み

  • MCP サーバーのスキーマが 10,000 トークンを超えると自動的に有効化
  • 全ツールを読み込む代わりに、必要な 3〜5 個のツールだけをオンデマンドで読み込む
  • スキーマのトークン消費を 約 85% 削減

設定は不要

Tool Search はデフォルトで有効です。手動で設定する必要はありません。ただし、仕組みを知っておくと「MCP を接続しても意外とトークンが少ない」理由がわかります。

Tool Search が効いているか確認する

/cost で確認して、MCP サーバーを接続しているのにトークン消費が少ない場合は、Tool Search が自動的に最適化しています。

コンテキスト監視のテクニック

/cost で定期的に確認する

作業中に /cost を時々実行して、トークン消費の推移を把握しましょう。急にトークンが増えた場合は、大きなファイルを読み込んだり、MCP 経由で大量のデータを取得した可能性があります。

CLAUDE.md にルールを書く

プロジェクトの CLAUDE.md に、トークン節約のルールを明記しておくと効果的です。

# CLAUDE.md の例

## ツール使用ルール
- GitHub の操作は `gh` CLI を優先し、MCP は使わない
- ファイル検索は `find` / `grep` を使い、MCP のファイル検索ツールは使わない
- 大きなファイルを読む前に、必要な部分だけを特定する

これにより、Claude Code が自動的に CLI を優先して使うようになります。

実践チェックリスト

すぐに試せるアクションをまとめました。

  • [ ] /cost を実行して現在のトークン消費を確認する
  • [ ] 使っていない MCP サーバーがあれば .mcp.json から削除する
  • [ ] GitHub 操作を MCP から gh CLI に切り替える
  • [ ] CLAUDE.md に CLI 優先ルールを追加する
  • [ ] 長い作業では /compact をこまめに実行する
  • [ ] 作業を小さなセッションに分割する習慣をつける