概要
https://azukiazusa.dev/blog/trying-claude-tool-finder/
詳細内容
## Claude のツール検索ツールを試してみた
https://azukiazusa.dev/blog/trying-claude-tool-finder/
ClaudeのTool Search Toolが、Model Context Protocol (MCP) における大規模なツール定義によるコンテキスト圧迫問題を解決し、LLMの効率的なツール利用を可能にすることをデモンストレーションする。
**Content Type**: ⚙️ Tools
**Language**: ja
**Scores**: Signal:4/5 | Depth:4/5 | Unique:3/5 | Practical:5/5 | Anti-Hype:4/5
**Main Journal**: 81/100 | **Annex Potential**: 77/100 | **Overall**: 80/100
**Topics**: [[LLMエージェント, コンテキスト管理, Claude API, ツール利用, Model Context Protocol (MCP)]]
LLMエージェントを開発する上で、Model Context Protocol (MCP) は多数のツール定義をLLMのシステムプロンプトに全て渡すため、コンテキストウィンドウが圧迫され、LLMのパフォーマンス低下や「Context Rot(コンテキストの腐敗)」を引き起こすという重大な課題を抱えている。この記事は、この問題に対する効果的な解決策として、Claudeの「ツール検索ツール (Tool Search Tool)」の活用法を詳細に解説する。
著者は、ツール検索ツールが全てのツール定義を事前に読み込まず、必要に応じて関連ツールのみを検索・提供することで、トークン使用量を大幅に削減する仕組みを強調する。具体的な実装例として、TypeScriptクライアントとAnthropic SDKを用いたデモンストレーションを紹介。`betas`オプションで`advanced-tool-use-2025-11-20`を指定し、モデルには`claude-sonnet-4-5`または`claude-opus-4-5`を使用する必要があることを明示する。ツールの定義において`defer_loading: true`を設定することで、ツール検索ツールが発見した場合にのみ定義が提供される遅延読み込みが実現される。これにより、頻繁に使用される少数のツールは通常通り、その他は遅延読み込みと使い分ける実践的なアプローチを推奨している。
また、MCPサーバーとの連携方法も解説されており、`mcp-client-2025-11-20`ベータ版と`type: mcp_toolset`を用いることで、MCPサーバーから取得されるツール群全体を遅延読み込みとして設定できる。ツール検索ツールには正規表現ベースとBM25ベースの2種類があることも触れられている。このアプローチは、10kトークン以上のツール定義がある場合や、ツールの選択精度に課題がある場合に特に有効だが、検索ステップが追加されるトレードオフも存在するため、ツールの数が少ない場合や全てが頻繁に使用される場合には不向きであることも客観的に示している。このツールは、LLMエージェントのコンテキスト管理を最適化し、より効率的でスケーラブルなアプリケーション構築を可能にするための重要な技術である。