ツール使用により、Claudeはユーザーが定義した関数やAnthropicが提供する関数を呼び出すことができます。Claudeは、ユーザーのリクエストとツールの説明に基づいて、いつツールを呼び出すかを判断します。その後、アプリケーションが実行する(クライアントツール)、またはAnthropicが実行する(サーバーツール)構造化された呼び出しを返します。
以下は、Anthropicが実行するサーバーツールであるWeb検索ツールを使用した最小限の例です。
client = anthropic.Anthropic()
response = client.messages.create(
model="claude-opus-4-8",
max_tokens=1024,
tools=[{"type": "web_search_20260209", "name": "web_search"}],
messages=[{"role": "user", "content": "What's the latest on the Mars rover?"}],
)
print(response.content)ClaudeはAnthropicのインフラストラクチャ上で検索を実行し、引用付きの結果を同じレスポンス内で返します。ユーザーが定義した関数をClaudeに呼び出させるには、input_schemaを持つツールを渡し、Claudeがtool_useブロックを返したときにその呼び出しを実行します。ツールの定義とツール呼び出しの処理で、この往復処理について説明しています。
ツールは主にコードが実行される場所によって異なります。クライアントツール(ユーザー定義ツールや、bashやtext_editorなどのAnthropic定義スキーマを持つツールを含む)は、アプリケーション内で実行されます。Claudeはstop_reason: "tool_use"と1つ以上のtool_useブロックで応答します。コードが操作を実行し、tool_resultを返送します。サーバーツール(web_search、web_fetch、code_execution、tool_searchなど)はAnthropicのインフラストラクチャ上で実行されます。Claudeがクライアントツールの1つと同じ並列ツール呼び出しグループ内でツールを呼び出す場合を除き、実行を処理することなく結果を直接確認できます(停止理由とフォールバックを参照)。
エージェントループや各アプローチを選択するタイミングを含む完全な概念モデルについては、ツール使用の仕組みを参照してください。
「Model Context Protocol」、すなわちMCPサーバーへの接続については、MCPコネクタを参照してください。独自のMCPクライアントを構築する方法については、Model Context ProtocolのMCPクライアントの構築ガイドを参照してください。
デフォルトのtool_choiceである{"type": "auto"}では、Claudeは各ターンでツールを呼び出すか直接応答するかを判断します。リクエストがそのツールの説明された機能に対応し、答えがまだコンテキスト内にない場合にツールを呼び出します。安定した知識、創造的なタスク、会話的なターンに対しては直接応答します。
この境界はシステムプロンプトを通じて調整可能です。期待どおりにClaudeがツールを呼び出さない場合、"Use the tools to investigate before responding."のような軽い指示でツール使用が増加します。"Always call a tool first before responding."のようなより強い形式はさらに促進します。逆に、"Use your judgment about whether to call a tool or respond directly."はトリガー動作を控えめに保ちます。
プロンプトに頼るのではなくツール呼び出しを必須にするには、tool_choiceを設定します。
厳密なツール使用でスキーマ準拠を保証する
カスタムツール定義にstrict: trueを追加すると、Claudeのツール呼び出しが常にスキーマと正確に一致することが保証されます。厳密なツール使用を参照してください。
各サーバーツールのページでは、それぞれのトリガー境界についてより詳しく説明しています。
type文字列、バージョン、ベータヘッダーについては、ツールリファレンスを参照してください。
ユーザーが定義するツールでは、スキーマを記述し、アプリケーションが各呼び出しを実行します。
ツールスキーマを指定し、説明を記述し、Claudeがツールを呼び出すタイミングを制御します。
tool_useブロックを解析し、tool_resultレスポンスをフォーマットし、エラーを処理します。
Anthropicがスキーマを公開し、それに基づいてClaudeをトレーニングします。アプリケーションは引き続き各呼び出しを実行し、tool_resultを返します。
ユーザーが管理するファイルに、会話をまたいで情報を保存および取得します。
状態を維持する永続的なセッションでシェルコマンドを実行します。
テキストファイルを表示および変更して、コードのデバッグ、修正、改善を行います。
デスクトップ環境でスクリーンショットを撮り、マウスとキーボードを制御します。
サーバーツールはAnthropicのインフラストラクチャ上で実行され、アプリケーションにハンドラーコードは不要です。共通の仕組みについてはサーバーツールを参照してください。
知識カットオフを超えた情報をWeb上で検索し、引用元付きで取得します。
指定されたWebページやPDFドキュメントの完全なコンテンツを取得します。
サンドボックス化されたコンテナでPythonとbashコードを実行し、データを分析してファイルを生成します。
より高速な実行モデルが、生成の途中でより高い知能を持つアドバイザーモデルに相談できるようにします。
オンデマンドでツールを検出してロードすることで、数千のツールを扱います。
別途MCPクライアントを用意せずに、Messages APIからリモートMCPサーバーに接続します。
Claude Managed Agentsは、Claudeがセッション内で自律的に使用する組み込みツールセットを提供します。そのツールセットとManaged Agentsでカスタムツールを追加する方法については、ツールページを参照してください。
ツール使用リクエストは、以下に基づいて料金が計算されます。
toolsパラメータに含まれるものを含む)クライアントサイドツールは他のClaude APIリクエストと同じ料金体系ですが、サーバーサイドツールは特定の使用量に基づいて追加料金が発生する場合があります。
ツール使用による追加トークンは、以下から発生します。
toolsパラメータ(ツール名、説明、スキーマ)tool_useコンテンツブロックtool_resultコンテンツブロックtoolsを使用すると、APIはツール使用を有効にするための特別なシステムプロンプトをモデルに自動的に含めます。各モデルに必要なツール使用トークン数は以下のとおりです(上記の追加トークンを除く)。なお、この表は少なくとも1つのツールが提供されていることを前提としています。toolsが提供されていない場合、noneのツール選択では追加のシステムプロンプトトークンは0になります。
| モデル | ツール選択 | ツール使用システムプロンプトのトークン数 |
|---|---|---|
| Claude Opus 4.8 | auto、noneany、tool | 290トークン 410トークン |
| Claude Opus 4.7 | auto、noneany、tool | 675トークン 804トークン |
| Claude Opus 4.6 | auto、noneany、tool | 497トークン 589トークン |
| Claude Opus 4.5 | auto、noneany、tool | 496トークン 588トークン |
| Claude Opus 4.1(非推奨) | auto、noneany、tool | 313トークン 315トークン |
| Claude Opus 4(Google Cloudを除き提供終了) | auto、noneany、tool | 313トークン 315トークン |
| Claude Sonnet 5 | auto、noneany、tool | 354トークン 474トークン |
| Claude Sonnet 4.6 | auto、noneany、tool | 497トークン 589トークン |
| Claude Sonnet 4.5 | auto、noneany、tool | 496トークン 588トークン |
| Claude Sonnet 4(BedrockおよびGoogle Cloudを除き提供終了) | auto、noneany、tool | 313トークン 315トークン |
| Claude Haiku 4.5 | auto、noneany、tool | 496トークン 588トークン |
| Claude Haiku 3.5(BedrockおよびGoogle Cloudを除き提供終了) | auto、noneany、tool | 264トークン 355トークン |
これらのトークン数は、通常の入力および出力トークンに加算され、リクエストの総コストが計算されます。
現在のモデルごとの料金については、モデル概要の表を参照してください。
ツール使用プロンプトを送信すると、他のAPIリクエストと同様に、レスポンスには報告されるusageメトリクスに入力トークン数と出力トークン数の両方が含まれます。
一部のサーバーツールは、トークンに加えて使用量ベースの料金が追加されます。それぞれの料金については、Web検索ツールとコード実行ツールを参照してください。
ツール使用ループ、ツールが実行される場所、文章の代わりにツールを使用するタイミングを理解します。
単一のツール呼び出しから本番環境対応のエージェントループまでのガイド付きウォークスルーです。
Anthropic提供ツールのディレクトリと、オプションのツール定義プロパティのリファレンスです。
Was this page helpful?