Skip to main content

概要

Tools API は Shannon のツールレジストリへの直接アクセスを提供します。利用可能なツールの一覧表示、パラメータ Schema の確認、タスクワークフローを経由せずにツールを直接実行できます。

機能

  • ツール検索 — カテゴリフィルタリングで利用可能なすべてのツールを閲覧
  • JSON Schema 確認 — 任意のツールの完全なパラメータ Schema を取得
  • 直接実行 — Agent ワークフロー外でツールを呼び出し
  • 危険なツールのブロック — 危険とマークされたツールは Gateway レベルで自動的に非表示・ブロック
  • 使用量トラッキング — 実行ごとに Token 消費量とコストを記録
  • Session コンテキスト — オプションで Session にバインド(session_iduser_id のみに制限)

セキュリティモデル

Shannon は dangerous とマークされたツールに対して厳格なセキュリティ境界を適用します:
  • List エンドポイントexclude_dangerous=true を自動適用 — 危険なツールは公開されません
  • Get および Execute エンドポイントは危険なツールに対して 403 Forbidden を返します
  • ツールメタデータは各 Gateway インスタンスで 5 分間インメモリキャッシュされます
  • ツール実行の HTTP クライアントタイムアウトは 120 秒です
危険なツールはいかなる公開 API エンドポイントからもアクセスできません。この制限は Gateway レベルで強制され、クライアントから回避することはできません。

ツール一覧の取得

利用可能なすべてのツールを一覧表示します。危険なツールは自動的に除外されます。

クエリパラメータ

カテゴリフィルタの例

レスポンス

ツールの取得

指定したツールのメタデータとパラメータ Schema を取得します。

パスパラメータ

レスポンス

ツールの実行

指定した引数でツールを直接実行します。

パスパラメータ

リクエストボディ

session_id を指定した場合、ツールには session_iduser_id のみが渡されます。セキュリティのため、tenant_id などの他の Session フィールドは除去されます。

レスポンス

レスポンスフィールド

使用量は非同期(fire-and-forget)で token_usage テーブルに記録されます。Token 数は合成値です:max(100, int(cost_usd / 0.000002))

ツールレスポンスオブジェクト

エラーレスポンス

すべてのエラーは標準フォーマットに従います:

危険なツールのエラー

Get または Execute で危険なツールにアクセスしようとすると以下が返されます:

次のステップ

カスタムツール

カスタムツールの作成と登録方法を学ぶ

エージェント

ツールを自動的に使用する Agent を設定