ArrayKit

MCP ツールスキーマビルダー

ツールを定義して JSON Schema を得ます。strict モードの要件もその場で反映されます。

MCP ツールスキーマビルダー

ツールを定義して JSON Schema を得ます。strict モードの要件もその場で反映されます。

ツール定義は社内システムを説明するものです。すべてブラウザー内で作られ、送信されません。

手元の定義を点検する

MCP ツールスキーマ について

ツール定義には二つの役目があり、JSON なのはそのうち一つだけです。スキーマは引数の形を述べ、説明文はそのツールが何のためにあり、各引数が何を意味するかを述べます。スキーマは完全に妥当でありながら、まちがったタイミングで、もっともらしい出鱈目を詰めて呼ばれるツールを生むことがあります。JSON のどこにも「それが何なのか」が書かれていないからです。このビルダーはスキーマを書き出し、その両面——構造と、そもそも何かが説明されているか——を点検します。strict モードも正しく扱います。すべてのプロパティを required に並べることを要求し、追加のプロパティを禁じるモードで、スキーマの見た目はほかに変わらないため、これに引っかかる人が多いのです。

機能

  • 型・説明・任意の値集合を持つパラメーター
  • strict モードの「すべて required」規則を、あとで気づくのではなくその場で適用
  • strict モードが有効なら additionalProperties を正しく設定
  • 配列には items スキーマを自動付与
  • 説明のないパラメーターに警告
  • パラメーター名の重複を検出
  • 値が一つだけの列挙は定数だと注記
  • スキーマだけでなくツール定義全体を出力

MCP ツールスキーマ の使い方

  1. ツール名と、いつ使うべきかの説明を書きます
  2. 各パラメーターに型と説明を付けて足します
  3. 必須のものを選ぶか、strict モードを有効にします
  4. 定義を tools 配列にコピーします

例

入力

"strict": true

出力

Error: strict mode requires every property to be listed as required

strict モードに任意のプロパティはありません。代わりに null を許可します。

よくあるエラーとトラブルシューティング

  • strict モードが拒否される。 — すべてのプロパティが required で、additionalProperties が false である必要があります。任意のものは required にして null を許すか、strict を切ってください。
  • ツールが誤った引数で呼ばれる。 — たいてい説明のないパラメーターです。名前だけでは意味を推測させることになり、「id」は何でもありえます。
  • ツールが誤ったタイミングで呼ばれる。 — それはスキーマではなくツールの説明文です。何をするかだけでなく、いつ使い、何が返るかを書いてください。
  • 配列のパラメーターが拒否される。 — 配列には中身を述べる items スキーマが要ります。ここでは自動的に付きます。

よくある質問

strict モードで実際に何が変わりますか。
引数がスキーマどおりに検証されることを保証します。代償として、すべてのプロパティを required に並べ、追加のプロパティを認めないことが必要です。本当に任意の引数は「required だが null 可」として設計することになります。
パラメーターの説明はどこまで書きますか。
スキーマだけを読んだ人が何を入れるか分かる程度に。書式、単位、値の出どころです。「注文に使われた顧客のメールアドレス」は「メール」よりはるかに価値があります。
列挙はいつ使うべきですか。
妥当な値の集合が本当に閉じていて短いときです。誤答の一群をまとめて消せます。値が一つだけの列挙は、パラメーターではなく定数なので指摘されます。
MCP ツールと API ツールの両方に使えますか。
スキーマはどちらも同じ JSON Schema の部分集合です。外側の包みは文脈で少し違いますが、間違えやすい入力スキーマの部分は同一です。
良いツールの説明文とは何ですか。
二文で三つのこと。何をするか、いつ使うか、何が返るか。最後は最も省かれがちで、最も役に立ちます。一回の呼び出しで足りるかを呼ぶ側に教えるからです。

関連ツール

AI・エージェントの他のツール

AI・エージェントのツールをすべて見る · すべてのツール