wait_for_conversation
Polls a conversation until the AI finishes its turn, providing live synthetic progress updates. Returns when user input is needed, approval is triggered, or a timeout occurs.
Instructions
Wait for a conversation turn to complete, emitting live synthetic progress.
Preferred over manually polling get_conversation. Since conversation processing has no native progress signal, this tool emits time-based synthetic progress — advancing quickly at first, then slowing as it approaches expected_seconds — so the MCP host shows a "still thinking" indicator rather than a frozen bar.
Returns when any of these conditions are met: user_reply_needed=True → AI asked a question; call send_conversation_reply trigger_execution=True → AI approved execution; preview is auto-queued, switch to wait_for_job(session_id) Non-processing status → unexpected terminal (inspect status field) Timeout → returns last known state with _wait_timeout note
Applies to all conversation types: upload interview, table-maker interview, config refinement.
expected_seconds: typical AI response time for this turn (default 120). First table-maker turn (research + planning): ~120–180s. Upload interview first turn (CSV analysis + plan): ~90–150s. Follow-up confirmations ("yes, proceed"): ~30–60s. poll_interval: seconds between status checks (default 8). timeout_seconds: max wall time before returning (default 900). Upload interview turns can take up to 15 minutes — set accordingly.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| conversation_id | Yes | Conversation ID to wait on. | |
| session_id | Yes | Session ID associated with the conversation. | |
| expected_seconds | No | Expected AI response time in seconds — used to shape synthetic progress curve (default 120). | |
| timeout_seconds | No | Maximum wall-clock seconds to wait before returning last known state (default 900). | |
| poll_interval | No | Seconds between status poll cycles (default 8). |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |