MCP tool
advance_agent_run
Advance exactly one phase along observe → plan → approve → execute → verify after all pending steps are settled. Entering execute requires a matching approved external-action approvalId and actionDigest from get_agent_run after a permitted human resolved the request in Operator, a current execute mandate, and no pending approvals or open exceptions. This changes control state only; it does not execute the approved action or contact a provider.
Input
Pass fields from this schema as the tool arguments. Runtime ownership, product scope and readiness checks still apply.
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"runId": {
"type": "string",
"minLength": 1,
"maxLength": 128
},
"expectedPhase": {
"type": "string",
"enum": [
"observe",
"plan",
"approve",
"execute",
"verify"
]
},
"nextPhase": {
"type": "string",
"enum": [
"observe",
"plan",
"approve",
"execute",
"verify"
]
},
"approvalId": {
"type": "string",
"minLength": 1,
"maxLength": 128
},
"expectedActionDigest": {
"type": "string",
"pattern": "^[a-f0-9]{64}$"
}
},
"required": [
"runId",
"expectedPhase",
"nextPhase"
]
}REST mapping and authority
The tool wraps this REST endpoint. The mapping identifies path/query/body transformations and approval or idempotency headers.
{
"method": "POST",
"path": "/api/v1/agent/runs/{runId}/advance",
"pathFields": [
"runId"
],
"pathSchema": {
"type": "object",
"properties": {
"runId": {
"type": "string",
"minLength": 1,
"maxLength": 128
}
},
"additionalProperties": false,
"required": [
"runId"
]
},
"pathEncoding": "encodeURIComponent for each path field",
"governedAction": null,
"headers": {},
"bodySchema": {
"type": "object",
"properties": {
"expectedPhase": {
"type": "string",
"enum": [
"observe",
"plan",
"approve",
"execute",
"verify"
]
},
"nextPhase": {
"type": "string",
"enum": [
"observe",
"plan",
"approve",
"execute",
"verify"
]
},
"approvalId": {
"type": "string",
"minLength": 1,
"maxLength": 128
},
"expectedActionDigest": {
"type": "string",
"pattern": "^[a-f0-9]{64}$"
}
},
"additionalProperties": false,
"required": [
"expectedPhase",
"nextPhase"
]
},
"responseMapping": "REST JSON is returned as MCP structuredContent and a compatibility text block; privacy-sensitive tools validate their output schema."
}Output
This is the registered MCP output envelope. Nested fields are only modeled where the schema explicitly defines them.
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"run": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"required": [
"run"
],
"additionalProperties": {}
}Safety annotations
{
"readOnlyHint": false,
"destructiveHint": true,
"idempotentHint": true,
"openWorldHint": false
}Annotations help a client present the tool. The API independently enforces authorization and exact action approvals. Error and retry guidance →