MCP 2025-06-18

session_heartbeat

Report session status, progress, and the current step. Pending human instructions are delivered automatically; unacknowledged instructions may be redelivered until the agent acknowledges them.

Input schema

This schema is shared with tools/list. The server also verifies current scopes and resource-level access before returning data or changing a record.

Synthetic example · JSON
{
  "type": "object",
  "properties": {
    "sessionId": {
      "type": "string",
      "description": "Session ID"
    },
    "status": {
      "enum": [
        "active",
        "waiting",
        "blocked"
      ]
    },
    "progressPercent": {
      "type": "number",
      "minimum": 0,
      "maximum": 100
    },
    "currentStep": {
      "type": "string"
    },
    "stepIndex": {
      "type": "integer",
      "minimum": 1,
      "description": "Optional 1-based position of the current step. Send with stepCount."
    },
    "stepCount": {
      "type": "integer",
      "minimum": 1,
      "maximum": 1000,
      "description": "Optional total planned steps. Send with stepIndex."
    },
    "acknowledgedInstructionIds": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Instruction IDs the agent has received and processed."
    },
    "instructionCursor": {
      "type": "string",
      "description": "Opaque continuation cursor returned with the previous pending-instruction page"
    },
    "idempotencyKey": {
      "type": "string",
      "description": "Unique retry key"
    }
  },
  "required": [
    "sessionId",
    "idempotencyKey"
  ],
  "additionalProperties": false
}

Call this tool

Use the tool name below in params.name. Supply the exact arguments described above; this envelope deliberately leaves required resource values for your authorized context.

Synthetic example · JSON
{
  "jsonrpc": "2.0",
  "id": "example_request",
  "method": "tools/call",
  "params": {
    "name": "session_heartbeat",
    "arguments": {}
  }
}

Read the result before continuing

Inspect protocol errors and the tool result’s isError flag. A request being accepted is not proof of an external action completing. Preserve correlation IDs and unchanged mutation idempotency keys across safe retries.