maestro/docs/tools/requesttool.md
oss-sync b1292e34b2
Some checks failed
CI / build-and-test (push) Has been cancelled
sync: update from private repo (edc775f2)
2026-07-06 01:04:12 +00:00

2.7 KiB
Raw Permalink Blame History

RequestTool

この movement で提示されていないツールがどうしても必要なときに、その要求を記録し、可能ならユーザー承認を求めるためのメタツール(常時利用可能)。

いつ使うか

  • 依頼を達成するのに必要なツールが、現在の movement に無いと気づいたとき。
  • まず「本当にそのツールが要るか」を検討すること。多くの作業は既存のツール(Bash / Read / WebSearch 等)で代替できる。

引数

引数 必須 説明
name はい 必要なツール名(例: WebSearch, Bash, mcp__foo__bar
reason はい なぜそのツールが必要かを具体的に。これが記録に残る

承認フローと即時利用の可否

ツールの可否は**ワークスペースのツールポリシー(設定 → ツールSSH**で決まる。RequestTool の挙動は実行環境で変わる:

  • ユーザーが応答できる実行(対話承認が有効): 承認を求めて停車し、承認されればそのまま続行してそのツールを使える。拒否されればツール無しで進む。
  • それ以外の実行: その場では使えない。要求が記録され、タスク詳細とツール要求の集計に表示される。運用者がワークスペースの設定でそのツールを有効化すれば、次回から使える。

その場で使えない場合の進め方:

  1. そのツール無しで達成できないか、もう一度考える。
  2. どうしても無理なら complete({status: "needs_user_input", missing_info: "...", why_no_default: "..."}) でユーザーに依頼する。
  3. 勝手に諦めて中途半端な結果を返さない。

分類(記録される category

  • 既に利用可能: そのツールはこの movement で使える → 記録せず「そのまま呼んでください」と返る。
  • requested: カタログに存在するがこの movement では未許可 → 対話承認が有効なら承認待ちに、無効なら設定漏れ候補として記録。
  • unknown: そんなツールは存在しない(名前の誤り・能力ギャップ)→ エラーを返す(実在ツール名のみ要求可)。診断のため記録は残るが、承認待ちにはならない。エラーを受けたら実在するツールで進めること。

関連

足りないツールを呼んで弾かれた場合も、同じ記録に「受動捕捉(blocked)」として残る。ワークスペースのツール許可の考え方は「ツール」も参照。