Cursor SDK: 実行中の舵取り(steer)とツールの読み取り専用注釈
Cursor SDK で作った自前エージェントは、run.steer() で走行中に追加指示を差し込め、カスタムツールに MCP の readOnlyHint / destructiveHint を付けて安全に扱わせられる。システムプロンプトも差し替え可能。
どんな時に使う?
- 社内ツールや CI から Cursor のエージェントを動かしていて、途中で方針修正したい
- 自作ツールのうち「読むだけ」と「消す・書き換える」を区別して承認フローを変えたい
手順
- 実行中に方針を足す: 実行ハンドルに対して
run.steer("テストは unit だけにして")のように追加入力(途中で止めて作り直す必要がない) - カスタムツール定義に MCP 注釈を付ける
readOnlyHint: true… 読み取りのみdestructiveHint: true… 破壊的操作(確認を挟む対象)
- エージェント作成時にカスタムシステムプロンプトを指定し、社内規約などを最初から与える
注意点
- 注釈は「ヒント」。実際の権限制御はツール側で行う(注釈を信じて危険な操作を通さない)。
- 正確なメソッド名・引数は SDK のバージョンで変わりうるので公式 changelog を確認。