ツールの作成
1
ToolSetを開く
ツールを追加したいToolSetに移動します。Toolsタブが選択されていることを確認してください。
2
Add Toolをクリック
Add Toolをクリックします。以下の項目を入力するCreate New Toolモーダルが表示されます:
- Name — 人間が読みやすい名前(例:「Post Message」)。
- Slug — URL用の識別子(例:
post-message)。名前から自動生成されます。APIエンドポイントで使用されます。 - Description — ツールの機能の説明(任意)。
3
エディタを開く
Create Toolをクリックします。言語に適したスターターテンプレートが事前に入力されたツールエディタページにリダイレクトされます。
ツールエディタ
ツールエディタは、リサイズ可能なマルチパネルのワークスペースです:コードエディタ
CodeMirrorベースのエディタで、TypeScriptとPythonのシンタックスハイライトを備えています。
テストパネル
JSON入力を入力し、ライブSandboxでツールを実行します。エディタを離れることなく、出力またはエラーを確認できます。
設定パネル
ツールの名前、Slug、説明を編集します。コードからメタデータの自動入力をトリガーできます。
AI Copilot
コードの生成、実行出力に基づく修正の提案、テスト入力の更新が可能な組み込みのチャットアシスタントです。
キーボードショートカット
TypeScriptでのツール作成
TypeScriptのツールはスキーマ定義にZodを使用します。inputとoutputのスキーマ、および非同期のrun関数をエクスポートします:
"zod"からzをインポートします。Sandboxにプリインストールされています。inputとoutputをZodスキーマとしてエクスポートします。バリデーションとAPIのJSON Schema生成に使用されます。runをエントリーポイントとしてエクスポートします。検証済みの入力を受け取り、出力スキーマに一致するオブジェクトを返す必要があります。- ToolSetのPackagesタブに登録されているパッケージを
importできます。 - 環境変数は
process.env経由でアクセスできます。
Pythonでのツール作成
Pythonのツールはスキーマ定義にPydanticを使用します。InputとOutputモデル、およびrun関数を定義します:
InputとOutputをPydanticのBaseModelサブクラスとして定義します。runをエントリーポイントとして定義します。検証済みの入力を受け取り、Outputモデルのインスタンスを返す必要があります。- ToolSetのPackagesタブに登録されているパッケージを
importできます。 - 環境変数は
os.environ経由でアクセスできます。
入力・出力スキーマ
スキーマには2つの目的があります:- バリデーション — APIは実行前に入力を入力スキーマに対して検証します(必須フィールドとプロパティの型)。出力は検証されません。
- ドキュメンテーション — スキーマはAPIおよびMCPエンドポイントを通じて公開され、AIエージェントがツールの期待する入出力を理解できるようにします。
input / outputの定義(ZodまたはPydantic)を実行し、生成されたJSON Schemaを保存します。input、output、runのいずれかが欠けているとツールは保存できません。
各フィールドに.describe()(Zod)またはField(description=...)(Pydantic)を使用して、明確な説明を提供してください。これらの説明はAPIドキュメントに表示され、AIエージェントがツールの呼び出し方法を理解するために使用されます。
メタデータの自動生成
設定パネルのAuto-fillをクリックすると、以下が自動的に入力されます:- Name — コードから推定される人間が読みやすい名前。
- Slug — コードから導出されます。
- Description — ツールの機能の要約。
AI Copilot
ツールエディタの右側パネルは、ツールのコード・言語・最新のテスト結果を把握したAIコーディングエージェントです(ヘッダーにはCoding Agentと表示されます)。既定で開いており、Cmd/Ctrl + Bで表示を切り替えます。閉じている間はパネルの位置にボットアイコン(Open AI Assistant)が表示され、クリックで再び開きます。
Ask anything…ボックスに依頼を入力してEnterで送信します(Shift + Enterで改行)。会話が空の時はExplain this code、Add error handling、Optimize performanceの候補が表示されます。依頼の例:
- コードの生成・変更 — エージェントが実装を書いたり編集したりします。エージェントが編集ツールで行った変更はそのままエディタに反映されます。チャットに表示されたコードはApplyをクリックするとエディタに取り込まれ、ツールも保存されます。Copyはスニペットをコピーするだけです。
- 失敗したテストの修正 — 最新の実行結果(ステータス、入力、出力、エラー、stdout、stderr)はすべてのメッセージに添えて送られます。テストが失敗するとAuto Fix Errorボタンが表示され、その結果に基づいてエラーを修正するようエージェントに依頼できます。
- 実行とテスト入力の反映 — エージェントはツールを自分で実行でき、TestパネルのInputタブにテスト入力の提案を書き込めます(通常は実行が成功した後)。
- 会話 — 会話はツールごと・ユーザーごとに保存されます。パネルを開くと最新の会話が読み込まれ、ヘッダーには会話の選択、New conversation、Export conversationがあります。
APIパネル
APIパネル(Cmd/Ctrl + .またはヘッダーのAPIボタン)を開くと、以下を確認できます:
- Organization Endpoint(
POST .../v1/orgs/{orgId}/toolsets/{slug}/tools/{toolSlug}/run)と、ツールの入力スキーマから生成されたサンプル入力を含むコピー可能なcurl例。 - Public Endpoint(
POST .../v1/public/{orgId}/{slug}/run/{toolSlug})と、ToolSetが公開の場合はそのcurl例、非公開の場合はその旨の注記。 - 各実行が1クレジットを消費するという注記。
保存と削除
- 保存 — Saveボタンをクリックするか、
Cmd/Ctrl + Sを押します。変更はドラフト状態に保存され、公開済みバージョンには影響しません。 - 削除 — ヘッダーのDeleteボタンをクリックします。確認ダイアログが表示されます。ツールを削除するとドラフト状態から削除されます。公開済みバージョンに含まれていた場合、それらのスナップショットは変更されません。
ベストプラクティス
- ツールを単機能に保つ。 各ツールは1つのことを適切に行うべきです。関連するツールをグループ化するにはToolSetを使用します。
- 分かりやすいスキーマを書く。 適切なフィールド説明は、AIエージェントがツールを正しく呼び出すのに役立ちます。
- 公開前にテストする。 新しいバージョンを公開する前に、テストパネルでさまざまな入力による動作を確認します。
- シークレットには環境変数を使用する。 APIキーやトークンをツールコードにハードコードしないでください。ToolSetのEnvironmentタブに保存します。
- 反復にCopilotを活用する。 テスト実行が失敗した後、Copilotはエラー出力にアクセスでき、的確な修正を提案できます。