wait_for_reply
Block-poll an inbox for an unseen reply to a message_id, returning the reply or a timeout flag; late replies stay unread and are returned by the next poll.
Instructions
Block-poll the inbox for a reply to a given message_id that you have NOT seen yet. Returns the reply message, or {timed_out: true, retry: true} when none arrived — nothing is lost on timeout: a late reply stays in the DB and in unread, and the NEXT wait_for_reply call returns it immediately. 'Not seen yet' means: not already marked read by you, and — if you pass 'after_id' — newer than that id. Without this the call returned the oldest reply forever: three calls in a row handed back the same message, marked read half an hour earlier, and a wait that keeps returning the same answer is not a wait. Pass after_id= when you are looping without marking things read. The per-call wait is capped at 50s (below MCP client tool timeouts, see MCP_TOOL_TIMEOUT), so wait longer by simply calling again in a loop until you get the reply or decide to move on.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| after_id | No | ||
| timeout_s | No | ||
| message_id | Yes | ||
| include_read | No | ||
| poll_interval_s | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||