Stage Action
stage_actionPropose an MCP tool call for human approval BEFORE running it. Call this — instead of calling the tool directly — whenever an autonomous or unattended caller (a scheduled standing agent, an unattended agent-runner run, or any MCP client operating without a human watching) is about to perform a write it knows or suspects is risky. The target tool's OWN registered risk hints (readOnlyHint/destructiveHint) decide the tier: GREEN (read-only) tools are never staged — this call is then a no-op passthrough (result: 'not_required') and the caller should just invoke the tool directly. AMBER (reversible write to the caller's own state) and RED (destructive or outward-facing) tools ARE staged: this call does NOT execute anything — it only records the proposal and returns a staged_action_id. A human (or any client acting on the human's behalf) later calls approve_staged_action or reject_staged_action to decide it. Tier: sp500+ (sample rejected — guest has no saved state).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| origin | Yes | Free-form label identifying who/what is proposing this action — e.g. 'agent-runner:managed', 'claude-connector', 'cursor', or any caller-supplied identifier. Lets a human distinguish which session/agent proposed a given write. | |
| tool_args | No | The exact arguments to replay through that tool if/when a human approves. | |
| tool_name | Yes | The MCP tool this action would call once approved (e.g. 'save_thesis', 'create_signal', 'publish_report'). |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| _meta | Yes | Provenance envelope — data lineage for every MCP response | |
| result | Yes | ||
| risk_tier | Yes | ||
| staged_action | Yes | ||
| staged_action_id | Yes |