>_toolkitbox

~/tools / Tool Definition Checker

Tool Definition Checker — OpenAI・Anthropic・Gemini のツール・関数定義を確認

OpenAI、Anthropic、Gemini に送るツール(関数)定義を、各 API のドキュメントに書かれた形式と照らして確認します。名前、description、パラメータの schema、strict mode、入力例を調べ、リクエストが失敗する前に間違いを見つけられます。入力した内容はブラウザの外に出ません。

ルールは 2026-10-23 時点のドキュメントで確認しています。

ドキュメント: OpenAI / Anthropic / Gemini API リファレンス

確認していないこと: モデルがそのツールに対応しているか、Anthropic の strict tool use の詳細、Anthropic が自ら提供するツール、ドキュメントに書かれていないルール。

すべてブラウザの中で実行されます。定義はアップロードされません。

ツール呼び出し(tool use、function calling)は、モデルがあなたのコードに関数の実行を依頼する仕組みです。関数は JSON の定義で記述しますが、主要な 3 つの API で期待される形は異なります。OpenAI Chat Completions は function オブジェクトの中に関数を入れ子にし、OpenAI Responses は項目を同じ階層に置き、Anthropic は name と input_schema を使い、Gemini は function declarations を使います。名前のルールも同じではありません。このツールは貼り付けた定義を読み、どの API 向けに書かれているかを判別し、そのベンダーのドキュメントに書かれた内容と照らして、名前、description、パラメータの schema、strict mode、そして Anthropic の場合は各入力例が schema に合っているかを確認します。ある API で使える名前が別の API では拒否される場合も知らせます。ルールは、ツールの下に表示した日付のドキュメントで確認したものです。

こんな時に使う

  • リクエストに加える前にツール定義を確認し、名前の誤りや形の間違いで呼び出しが失敗するのを防ぐ
  • strict mode で関数の schema が拒否される理由を調べる
  • ツールをあるベンダーから別のベンダーへ移すとき、何を直す必要があるかを確かめる

使い方

  1. ツール定義 1 つ、ツールの配列、または tools 配列を含むリクエスト本文を貼り付けます。サンプルを読み込むこともできます。
  2. 各ツールがどの API として認識されたかを確認し、続いて指摘の一覧を読みます。「修正」はドキュメント上、拒否される、または無効とされるもの、「確認」は見ておく価値があるもの、「補足」は情報のみです。
  3. 定義を直して、もう一度貼り付けます。strict mode の問題は、Structured Output Schema Checker で一つずつ詳しく確認できます。

FAQ

定義がどの API 向けかを、どうやって判別しているのですか。

形から判別します。input_schema がある定義は Anthropic として読みます。type が function で、function オブジェクトが入れ子になっているものは OpenAI Chat Completions、type が function で項目が最上位にあるものは OpenAI Responses として読みます。functionDeclarations を持つオブジェクト、または name、description、parameters を持つオブジェクトは Gemini として読みます。各ツールがどれと認識されたかは結果に表示されます。

名前のルールは何ですか。

OpenAI のドキュメントでは、使えるのは英字、数字、アンダースコア、ダッシュで、最大 64 文字です。Anthropic のドキュメントでは、英字、数字、アンダースコア、ダッシュで、最大 128 文字です。Gemini のドキュメントでは、英字、数字、アンダースコア、コロン、ドット、ダッシュで、最大 128 文字です。ある API で有効な名前が別の API では拒否されることがあり、その場合はツールが知らせます。

strict が true のとき、なぜ schema をもう一度確認するのですか。

OpenAI によると、strict mode ではすべてのオブジェクトで additionalProperties を false にし、すべてのプロパティを required に入れる必要があります。省略可能な値は、null も許す type で書きます。これらのルールに反する schema は拒否されます。ツールは問題の数を数え、最初の 1 件の場所を示します。

input_examples では何を確認しますか。

Anthropic によると、各例はそのツールの input_schema に対して有効でなければならず、無効な例があると 400 エラーが返ります。ツールはすべての例を schema と照らし、どれが合っていないかを知らせます。

確認しないことは何ですか。

特定のモデルがそのツールに対応しているか、Anthropic の strict tool use の詳細、Anthropic が自ら提供するツール、そしてドキュメントに書かれていない内容は確認しません。API は呼び出さないため、チェックに通った定義でも、実際のリクエストでは失敗することがあります。

定義はサーバーに送信されますか。

いいえ。確認はブラウザの中で行われます。

Related