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.