tools claudeとは|Tool UseとClaude Codeの違い・使い方

「tools claude」と検索すると、Claude APIのTool UseとClaude Codeの組み込みツールが同じ結果に並び、どちらを調べればよいか迷いがちです。この記事では、2つの意味を切り分けたうえで、外部機能を呼び出す仕組み、実装の流れ、権限管理の考え方を整理します。

Conclusion

tools claudeは、APIで外部関数を呼ぶTool Useと、Claude Codeがファイル編集やコマンド実行に使う組み込みツールの2系統を指す。目的を先に分ければ、必要な設定と安全対策を選択できる。

Contents (7)

tools claudeで検索される2つの「ツール」

検索上位には、Claude APIのTool Use、Claude Codeのツールリファレンス、Function Callingの実装例が並びます。つまり「tools claude」という語だけでは、単独の製品名を指しているわけではありません。主な検索意図は次の2つです。

調べたいこと 対象 代表的な用途
Claudeから自社APIや関数を呼びたい Claude APIのTool Use 在庫照会、予約、社内検索、計算
Claude Codeが何を操作できるか知りたい Claude Codeの組み込みツール ファイル読取・編集、検索、コマンド実行

APIのTool Useは、開発者がアプリケーションへ組み込む仕組みです。一方、Claude Codeのツールは、開発作業を進めるために最初から用意された操作手段です。名称は似ていますが、設定場所も実行環境も異なります。

Claude APIのTool Useは外部機能を呼ぶ仕組み

Tool Useは、Claudeに関数の名前・説明・入力形式を渡し、ユーザーの依頼に応じて「どの機能を、どの引数で使うべきか」を構造化データで返させる仕組みです。Function Callingと呼ばれることもあります。

重要なのは、Claudeが必ずしも外部処理を直接実行するわけではない点です。ユーザー定義の機能では、Claudeがtool_useブロックを返し、アプリケーション側が処理を実行します。その結果をtool_resultとして会話へ戻すと、Claudeが最終回答を作ります。

AnthropicのTool Use概要では、ツールを「コードがどこで実行されるか」で分類しています。出典URL: https://platform.claude.com/docs/ja/agents-and-tools/tool-use/overview

この仕組みにより、Claude単体では持っていない最新の在庫情報や顧客ごとの契約状況を参照し、自然文の回答へ反映できます。ただし、ツール定義を渡しただけで社内システムへ接続されるわけではありません。認証、実行処理、入力検証、結果の返却は開発側で設計する必要があります。

クライアントツールとサーバーツールの違い

Claude APIで使うツールは、大きくクライアントツールとサーバーツールに分かれます。

種類 実行する場所 開発側の役割
クライアントツール 自分のアプリケーション 呼び出しを受けて処理し、結果を返す 社内DB検索、注文登録、独自計算
サーバーツール Anthropicの基盤 利用設定と結果確認を行う Web検索、Web取得、コード実行

クライアントツールは自由度が高く、既存業務と接続しやすい反面、実行権限やエラー処理を自分で管理します。サーバーツールは実行部分をAnthropic側に任せられるため導入しやすいものの、対応モデル、料金、利用可能な環境を確認しなければなりません。

「検索結果を回答へ加えたい」だけならサーバーツールが候補です。「受注を登録する」「顧客別価格を返す」など自社固有の処理なら、クライアントツールとして関数を定義します。機密データを扱う場合は、Claudeへ渡す情報を必要最小限に絞ることが前提です。

Claude Codeの組み込みツールはAPIとは別物

Claude Codeには、コードベースを理解し変更するための組み込みツールがあります。たとえばReadはファイルを読み、GrepGlobは対象箇所を探し、Editは既存ファイルを変更し、Bashはコマンドを実行します。

Claude Codeのツールリファレンスによると、ツール名は権限ルールやフックの設定で使う正式な文字列です。作業ディレクトリ内の読取系ツールと、変更やコマンド実行を伴うツールでは、確認が必要になる条件が異なります。出典URL: https://code.claude.com/docs/ja/tools-reference

カスタム機能を増やしたい場合はMCPサーバーを接続します。また、Skillは再利用可能な手順や知識をClaude Codeへ与える仕組みであり、個別の新しいツール名を直接追加するものではありません。この区別がつくと、次の選択を誤りにくくなります。

  • 操作を許可・拒否したい: 権限設定を使う
  • 外部サービスの機能を追加したい: MCPを使う
  • 定型の進め方を再利用したい: Skillを使う

Tool Useを実装する基本手順

独自の天気取得や商品検索をClaudeから呼ぶ場合、実装は次の順番で進めます。

  1. 実行させたい処理を通常の関数として作り、単体でテストします。
  2. namedescriptioninput_schemaを含むツール定義を作ります。
  3. Messages APIのtoolsへ定義を渡し、ユーザーの依頼を送ります。
  4. 応答のtool_useを検出し、許可した関数だけを実行します。
  5. 実行結果をtool_resultとして返し、最終回答を生成します。

最小の定義は次のような形です。説明文には、機能だけでなく「いつ使うか」「何を返すか」も明記します。

tools = [
    {
        "name": "get_stock",
        "description": "商品IDから現在庫数を取得する。購入可否の確認時に使う。",
        "input_schema": {
            "type": "object",
            "properties": {
                "product_id": {"type": "string"}
            },
            "required": ["product_id"]
        }
    }
]

Claudeが返した関数名をそのまま任意実行せず、許可済みの名前と照合してください。引数もJSON Schemaだけに依存せず、型、桁数、許容文字、権限をアプリケーション側で再検証します。

検索上位のZennのFunction Calling実装例は、関数定義から結果返却までの流れを理解する参考になります。ただし2024年公開でベータ版APIを前提としているため、コードをそのまま転用せず、現在の公式ドキュメントと照合する必要があります。出典URL: https://zenn.dev/ttks/articles/b7115073a5712c

ツール呼び出しの精度と安全性を上げる方法

ツール名は短く具体的にし、説明文の役割が重ならないようにします。searchのような広すぎる名前を複数並べるより、search_productsget_order_statusのように対象と動作を分けたほうが、Claudeが選択しやすくなります。

書込系の処理では、読取系より強い制限が必要です。見積金額の計算は自動でも、注文確定や返金は利用者の確認後に実行する、といった境界を設けます。APIキーはツール定義やプロンプトへ書かず、実行環境の秘密情報として管理してください。

また、ツールの戻り値を「信頼済みの指示」として扱うのは危険です。Webページや外部データに命令文が混ざる可能性があるため、戻り値はあくまでデータとしてClaudeへ渡します。タイムアウト、再試行回数、最大呼び出し回数を決めておけば、失敗時の無限反復や料金の増加も防げます。

本番投入前には、正常系だけでなく、該当データなし、認証切れ、外部API停止、不正な引数、同じ書込の再送をテストします。書込処理には一意なリクエストIDを付け、同じ操作が二重実行されない設計にすると安全です。

tools claudeで迷ったときの選び方

チャットアプリから在庫や予約システムを呼びたいなら、調べるべき対象はClaude APIのTool Useです。Claude Codeで読めるファイル、実行できるコマンド、確認画面の条件を知りたいなら、Claude Codeのツールリファレンスを確認します。

Web検索やコード実行をAPIから使いたい場合は、Anthropicが実行するサーバーツールを選びます。Claude Codeへ社内サービスの操作を追加したい場合はMCP、繰り返す作業手順を整えたい場合はSkillが候補です。

判断基準は「誰が実行するか」です。自分のアプリケーションが実行するならクライアントツール、Anthropicの基盤が実行するならサーバーツール、Claude Code内の開発操作なら組み込みツールと整理できます。この3分類から始めれば、検索結果に複数の「tools」が混在していても、必要な情報へ迷わず進めます。

Helpful? ♡
Clauder Navi Editorial Team
@clauder_navi

Delivering the latest Claude / Claude Code news and practical insights daily. Learn more about us at About this site.