← All MCP tools

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.

Input JSON Schema
{
  "$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.

Request contract
{
  "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.

Output JSON Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "run": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    }
  },
  "required": [
    "run"
  ],
  "additionalProperties": {}
}

Safety annotations

MCP 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 →

advance_agent_run | AdBuyMCP docs