Skip to content

Conversation Receive

Receive the oldest unacknowledged user turn for a generation-leased conversation consumer.

MCP name: conversation_receive

Category: conversations

Mutates state (retry policy: replay)

Parameters

Name Type Required Description
consumer string Yes Stable consumer name supplied by the owning workflow
conversation_id string Yes Conversation ID
generation string Yes Current lease generation supplied by the owning workflow
timeout_seconds integer No Block and wait for a user turn (max 110s)

Details

Returns the oldest user turn that this consumer has not acknowledged. Delivery does not advance the cursor, so a process restart receives the same turn again. Only the current generation lease can receive; a replaced driver gets lease_lost and must stop. A user turn may carry typed context. For context.kind="action_snapshot", the returned action_snapshot_id names the exact frozen document version and focus. The driver passes that ID and this turn's message_id to cowork_action_snapshot_get, then uses the returned consumer/generation/message-bound receipt for its reply and conversation_ack. A discussion.kind="cothink_item" context remains an exact non-evidential perspective, not a Verify finding.