Loading...
    • 開発者ガイド
    • API リファレンス
    • MCP
    • リソース
    • リリースノート
    Search...
    ⌘K
    はじめに
    Claude の紹介クイックスタート
    モデルと料金
    モデル概要モデルの選び方Claude 4.6 の新機能移行ガイドモデルの廃止料金
    Claude で構築する
    機能概要Messages API の使用停止理由の処理プロンプトのベストプラクティス
    コンテキスト管理
    コンテキストウィンドウコンパクションコンテキスト編集
    機能
    プロンプトキャッシング拡張思考適応型思考エフォートメッセージのストリーミングバッチ処理引用多言語サポートトークンカウントエンベディングビジョンPDF サポートFiles API検索結果構造化出力
    ツール
    概要ツール使用の実装方法きめ細かいツールストリーミングBash ツールコード実行ツールプログラムによるツール呼び出しコンピュータ使用ツールテキストエディタツールWeb フェッチツールWeb 検索ツールメモリツールツール検索ツール
    Agent Skills
    概要クイックスタートベストプラクティスエンタープライズ向け SkillsAPI での Skills の使用
    Agent SDK
    概要クイックスタートTypeScript SDKTypeScript V2(プレビュー)Python SDK移行ガイド
    API での MCP
    MCP コネクタリモート MCP サーバー
    サードパーティプラットフォームの Claude
    Amazon BedrockMicrosoft FoundryVertex AI
    プロンプトエンジニアリング
    概要プロンプトジェネレータープロンプトテンプレートの使用プロンプト改善ツール明確かつ直接的に例を使う(マルチショットプロンプティング)Claude に考えさせる(CoT)XML タグを使うClaude に役割を与える(システムプロンプト)複雑なプロンプトを連鎖させる長文コンテキストのヒント拡張思考のヒント
    テストと評価
    成功基準の定義テストケースの開発評価ツールの使用レイテンシの削減
    ガードレールの強化
    ハルシネーションの削減出力の一貫性を高めるジェイルブレイクの軽減ストリーミング拒否プロンプト漏洩の防止Claude をキャラクターに保つ
    管理とモニタリング
    Admin API 概要データレジデンシーワークスペースUsage and Cost APIClaude Code Analytics APIゼロデータリテンション
    Console
    Log in
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...

    Solutions

    • AI agents
    • Code modernization
    • Coding
    • Customer support
    • Education
    • Financial services
    • Government
    • Life sciences

    Partners

    • Amazon Bedrock
    • Google Cloud's Vertex AI

    Learn

    • Blog
    • Catalog
    • Courses
    • Use cases
    • Connectors
    • Customer stories
    • Engineering at Anthropic
    • Events
    • Powered by Claude
    • Service partners
    • Startups program

    Company

    • Anthropic
    • Careers
    • Economic Futures
    • Research
    • News
    • Responsible Scaling Policy
    • Security and compliance
    • Transparency

    Learn

    • Blog
    • Catalog
    • Courses
    • Use cases
    • Connectors
    • Customer stories
    • Engineering at Anthropic
    • Events
    • Powered by Claude
    • Service partners
    • Startups program

    Help and security

    • Availability
    • Status
    • Support
    • Discord

    Terms and policies

    • Privacy policy
    • Responsible disclosure policy
    • Terms of service: Commercial
    • Terms of service: Consumer
    • Usage policy
    ツール

    Claudeでのツール使用

    Claudeのツールおよび関数との連携機能を活用して、Claudeの能力を拡張し、より幅広いタスクを実行する方法を学びます。

    Was this page helpful?

    • ClaudeでMCPツールを使用する
    • MCPツールをClaudeフォーマットに変換する

    Claudeはツールや関数と連携する機能を備えており、Claudeの能力を拡張してより幅広いタスクを実行できます。

    新しいコースの一部として、Claudeでのツール使用をマスターするために必要なすべてを学びましょう!引き続き、この フォームを使用してアイデアや提案を共有してください。

    厳密なツール使用によるスキーマ準拠の保証

    Structured Outputsは、ツール入力に対する保証されたスキーマバリデーションを提供します。ツール定義にstrict: trueを追加することで、Claudeのツール呼び出しが常にスキーマに正確に一致することを保証します—型の不一致や欠落フィールドはもうありません。

    無効なツールパラメータが障害を引き起こす本番エージェントに最適です。厳密なツール使用を使用するタイミングを学ぶ →

    以下は、Messages APIを使用してClaudeにツールを提供する方法の例です:

    curl https://api.anthropic.com/v1/messages \
      -H "content-type: application/json" \
      -H "x-api-key: $ANTHROPIC_API_KEY" \
      -H "anthropic-version: 2023-06-01" \
      -d '{
        "model": "claude-opus-4-6",
        "max_tokens": 1024,
        "tools": [
          {
            "name": "get_weather",
            "description": "Get the current weather in a given location",
            "input_schema": {
              "type": "object",
              "properties": {
                "location": {
                  "type": "string",
                  "description": "The city and state, e.g. San Francisco, CA"
                }
              },
              "required": ["location"]
            }
          }
        ],
        "messages": [
          {
            "role": "user",
            "content": "What is the weather like in San Francisco?"
          }
        ]
      }'

    ツール使用の仕組み

    Claudeは2種類のツールをサポートしています:

    1. クライアントツール:あなたのシステム上で実行されるツールで、以下を含みます:

      • あなたが作成・実装するユーザー定義のカスタムツール
      • コンピュータ使用やテキストエディタなどのAnthropic定義ツール(クライアント側の実装が必要)
    2. サーバーツール:ウェブ検索やウェブフェッチツールなど、Anthropicのサーバー上で実行されるツール。これらのツールはAPIリクエストで指定する必要がありますが、あなた側での実装は不要です。

    Anthropic定義ツールは、モデルバージョン間の互換性を確保するためにバージョン付きの型(例:web_search_20250305、text_editor_20250124)を使用します。

    クライアントツール

    以下の手順でクライアントツールをClaudeと統合します:

    1. 1

      Claudeにツールとユーザープロンプトを提供する

      • APIリクエストで、名前、説明、入力スキーマを含むクライアントツールを定義します。
      • これらのツールが必要になる可能性のあるユーザープロンプトを含めます。例:「サンフランシスコの天気は?」
    2. 2

      Claudeがツールの使用を決定する

      • Claudeは、ユーザーのクエリに対していずれかのツールが役立つかどうかを評価します。
      • 役立つ場合、Claudeは適切にフォーマットされたツール使用リクエストを構築します。
      • クライアントツールの場合、APIレスポンスのstop_reasonはtool_useとなり、Claudeの意図を示します。
    3. 3

      ツールを実行して結果を返す

      • Claudeのリクエストからツール名と入力を抽出します
      • あなたのシステム上でツールコードを実行します
      • tool_resultコンテンツブロックを含む新しいuserメッセージで結果を返します
    4. 4

      Claudeがツールの結果を使用して応答を作成する

      • Claudeはツールの結果を分析して、元のユーザープロンプトに対する最終的な応答を作成します。

    注意:ステップ3と4はオプションです。一部のワークフローでは、Claudeのツール使用リクエスト(ステップ2)だけで十分であり、結果をClaudeに返す必要がない場合があります。

    サーバーツール

    サーバーツールは異なるワークフローに従います:

    1. 1

      Claudeにツールとユーザープロンプトを提供する

      • ウェブ検索やウェブフェッチなどのサーバーツールには、独自のパラメータがあります。
      • これらのツールが必要になる可能性のあるユーザープロンプトを含めます。例:「AIに関する最新ニュースを検索して」や「このURLのコンテンツを分析して」
    2. 2

      Claudeがサーバーツールを実行する

      • Claudeは、ユーザーのクエリに対してサーバーツールが役立つかどうかを評価します。
      • 役立つ場合、Claudeはツールを実行し、結果は自動的にClaudeの応答に組み込まれます。
    3. 3

      Claudeがサーバーツールの結果を使用して応答を作成する

      • Claudeはサーバーツールの結果を分析して、元のユーザープロンプトに対する最終的な応答を作成します。
      • サーバーツールの実行には、追加のユーザーインタラクションは不要です。

    ClaudeでMCPツールを使用する

    Model Context Protocol (MCP)を使用するアプリケーションを構築している場合、MCPサーバーのツールをClaudeのMessages APIで直接使用できます。MCPツール定義は、Claudeのツールフォーマットに似たスキーマフォーマットを使用します。inputSchemaをinput_schemaにリネームするだけです。

    独自のMCPクライアントを構築したくないですか? MCPコネクタを使用して、クライアントを実装せずにMessages APIからリモートMCPサーバーに直接接続できます。

    MCPツールをClaudeフォーマットに変換する

    MCPクライアントを構築してMCPサーバーでlist_tools()を呼び出すと、inputSchemaフィールドを持つツール定義を受け取ります。これらのツールをClaudeで使用するには、Claudeのフォーマットに変換します:

    次に、これらの変換されたツールをClaudeに渡します:

    Claudeがtool_useブロックで応答した場合、call_tool()を使用してMCPサーバー上でツールを実行し、tool_resultブロックで結果をClaudeに返します。

    MCPクライアントの構築に関する完全なガイドについては、MCPクライアントの構築を参照してください。


    ツール使用の例

    以下は、さまざまなツール使用パターンとテクニックを示すいくつかのコード例です。簡潔さのため、ツールはシンプルなものであり、ツールの説明は最適なパフォーマンスを確保するために理想的な長さよりも短くなっています。


    料金

    Tool use requests are priced based on:

    1. The total number of input tokens sent to the model (including in the tools parameter)
    2. The number of output tokens generated
    3. For server-side tools, additional usage-based pricing (e.g., web search charges per search performed)

    Client-side tools are priced the same as any other Claude API request, while server-side tools may incur additional charges based on their specific usage.

    The additional tokens from tool use come from:

    • The tools parameter in API requests (tool names, descriptions, and schemas)
    • tool_use content blocks in API requests and responses
    • tool_result content blocks in API requests

    When you use tools, we also automatically include a special system prompt for the model which enables tool use. The number of tool use tokens required for each model are listed below (excluding the additional tokens listed above). Note that the table assumes at least 1 tool is provided. If no tools are provided, then a tool choice of none uses 0 additional system prompt tokens.

    ModelTool choiceTool use system prompt token count
    Claude Opus 4.6auto, none
    any, tool
    346 tokens
    313 tokens
    Claude Opus 4.5auto, none
    any, tool
    346 tokens
    313 tokens
    Claude Opus 4.1auto, none
    any, tool

    These token counts are added to your normal input and output tokens to calculate the total cost of a request.

    現在のモデルごとの料金については、モデル概要テーブルをご参照ください。

    ツール使用プロンプトを送信すると、他のAPIリクエストと同様に、レスポンスは報告されるusageメトリクスの一部として入力トークン数と出力トークン数の両方を出力します。


    次のステップ

    クックブックで、すぐに実装できるツール使用のコード例のリポジトリをご覧ください:

    計算ツール

    Claudeにシンプルな計算ツールを統合して、正確な数値計算を行う方法を学びましょう。

    from mcp import ClientSession
    
    async def get_claude_tools(mcp_session: ClientSession):
        """Convert MCP tools to Claude's tool format."""
        mcp_tools = await mcp_session.list_tools()
    
        claude_tools = []
        for tool in mcp_tools.tools:
            claude_tools.append({
                "name": tool.name,
                "description": tool.description or "",
                "input_schema": tool.inputSchema  # Rename inputSchema to input_schema
            })
    
        return claude_tools
    import anthropic
    
    client = anthropic.Anthropic()
    claude_tools = await get_claude_tools(mcp_session)
    
    response = client.messages.create(
        model="claude-opus-4-6",
        max_tokens=1024,
        tools=claude_tools,
        messages=[{"role": "user", "content": "What tools do you have available?"}]
    )

    346 tokens
    313 tokens
    Claude Opus 4auto, none
    any, tool
    346 tokens
    313 tokens
    Claude Sonnet 4.5auto, none
    any, tool
    346 tokens
    313 tokens
    Claude Sonnet 4auto, none
    any, tool
    346 tokens
    313 tokens
    Claude Sonnet 3.7 (deprecated)auto, none
    any, tool
    346 tokens
    313 tokens
    Claude Haiku 4.5auto, none
    any, tool
    346 tokens
    313 tokens
    Claude Haiku 3.5auto, none
    any, tool
    264 tokens
    340 tokens
    Claude Opus 3 (deprecated)auto, none
    any, tool
    530 tokens
    281 tokens
    Claude Sonnet 3auto, none
    any, tool
    159 tokens
    235 tokens
    Claude Haiku 3auto, none
    any, tool
    264 tokens
    340 tokens
    カスタマーサービスエージェント

    クライアントツールを活用してサポートを強化する、レスポンシブなカスタマーサービスボットを構築しましょう。

    JSON抽出ツール

    Claudeとツール使用を活用して、非構造化テキストから構造化データを抽出する方法をご覧ください。