Skip to content

原文(日本語に翻訳)

MCPツールのトークンカウントを1回のAPIコールにバッチ処理することで、起動パフォーマンスを改善しました。

原文(英語)

Improved startup performance by batching MCP tool token counting into a single API call

概要

Claude Codeの起動時に、各MCPサーバーのツール情報のトークンカウントを個別にAPIコールしていたものを、1回のAPIコールにまとめる(バッチ処理)ことで起動パフォーマンスが大幅に改善されました。複数のMCPサーバーを使用している環境ほど、この最適化の効果が大きくなります。

基本的な使い方

この改善はバックグラウンドで自動的に適用されます。特別な設定変更は不要です。

bash
# 通常どおりClaudeを起動するだけで改善が適用されます
claude
# → 複数のMCPサーバーが設定されている場合、起動が大幅に高速化

実践例

ユースケース1: 多数のMCPサーバーを設定している環境

json
// settings.json の設定例(多数のMCPサーバー)
{
  "mcpServers": {
    "github": { "command": "npx", "args": ["@modelcontextprotocol/server-github"] },
    "filesystem": { "command": "npx", "args": ["@modelcontextprotocol/server-filesystem"] },
    "postgres": { "command": "npx", "args": ["@modelcontextprotocol/server-postgres"] },
    "slack": { "command": "npx", "args": ["@modelcontextprotocol/server-slack"] }
  }
}
bash
# 以前: 各MCPサーバーのツールトークンを個別にAPIコール(N回のAPIコール)
# 修正後: 全ツールのトークンカウントを1回のAPIコールにまとめる

claude
# → MCPサーバーが多いほど起動時間が大幅に短縮

ユースケース2: 大量のツールを持つMCPサーバー

bash
# 多くのツールを提供するMCPサーバー(例: GitHubサーバーの多数のAPI)
# 以前: ツールごとのトークン計算で起動に時間がかかる
# 修正後: バッチ処理で一括計算

claude
# → ツール数が多いMCPサーバーでも起動が高速

ユースケース3: スクリプトからの繰り返し呼び出し

bash
#!/bin/bash
# 自動化スクリプトでClaudeを繰り返し起動する場合
for task in "${tasks[@]}"; do
  claude -p "$task"
done
# → 各起動の初期化コストが削減され、全体の処理時間が短縮

注意点

  • この最適化はMCPツール情報のトークンカウント処理に関するものです。MCPサーバーの機能やツールの動作には影響しません。
  • 設定しているMCPサーバーの数が多いほど、起動時間の改善効果が大きくなります。
  • MCPサーバーが1つも設定されていない場合は、この最適化の直接的な効果はありません。

関連情報