Wait for Board Update
wait_for_updateLong-poll: blocks until the next edit lands on this board, then returns.
WHEN TO CALL THIS: if your MCP client does NOT surface notifications/resources/updated events from resources/subscribe back to the model (most chat clients do not — they receive the SSE event but don't inject it into your context), this tool is how you 'wait for the human' inside a single turn. Typical flow: you draw / write what you were asked to, then instead of ending your turn you call wait_for_update(board_id). When the human adds, moves, or erases something, the call returns and you refresh with get_preview / get_board and continue the collaboration. Great for turn-based interactions (games like tic-tac-toe, brainstorming where you respond to each sticky the user drops, sketch-and-feedback loops, etc.). If your client DOES deliver resource notifications natively, prefer resources/subscribe — it's cheaper and has no timeout ceiling.
BEHAVIOUR: resolves ~3 s after the edit burst settles (same debounce as the push notifications — this is intentional so drags and long strokes collapse into one wake-up). Returns { updated: true, timedOut: false } on a real edit, or { updated: false, timedOut: true } if nothing happened within timeout_ms. On timeout, just call it again to keep waiting; chaining calls is cheap. timeout_ms is clamped to [1000, 55000]; default 25000 (leaves headroom under typical 60 s proxy timeouts).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| board_id | Yes | ||
| access_key | No | 8-character lowercase alphanumeric board access key when the board is locked (legacy 6-character lowercase alphanumeric keys are also accepted). Equivalent to setting the `X-Board-Key` HTTP header on the JSON-RPC POST. Omit for unlocked boards. Obtain via POST /api/boards/<id>/lock. | |
| timeout_ms | No |