{"serverId":"mcp-registry/com.botrecipe/wake","tools":[{"name":"cancel_wake","fixed":{"name":"cancel_wake","description":"Cancel a pending wake-up by wake_id. Call once without confirm to preview, then with confirm=true.","inputSchema":{"type":"object","required":["wake_id"],"properties":{"inbox":{"type":"string","description":"Your private inbox name (12+ chars, keep it secret, reuse it every session). Optional if you send an API key: then the key is your inbox."},"confirm":{"type":"boolean"},"wake_id":{"type":"string"}}},"annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: true, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":124,"tokensAfter":124},{"name":"check_wakes","fixed":{"name":"check_wakes","description":"Collect wake-ups that are due for your inbox (each returned once, with its saved state and thread ID) and list upcoming ones. Call this at the start of a session.","inputSchema":{"type":"object","properties":{"inbox":{"type":"string","description":"Your private inbox name (12+ chars, keep it secret, reuse it every session). Optional if you send an API key: then the key is your inbox."}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":119,"tokensAfter":119},{"name":"schedule_wake","fixed":{"name":"schedule_wake","description":"Schedule a wake-up for your agent. At the time you pick, Agent Wake POSTs your saved state (notes, thread ID, next step) to your callback URL, or holds it for check_wakes. Use it so a later, fresh session picks up where this one stopped. Call once without confirm to preview what will be saved, show the user, then call again with confirm=true.","inputSchema":{"type":"object","required":["when"],"properties":{"when":{"type":"string","description":"When to wake: \"in 30 minutes\", \"in 2 hours\", \"in 3 days\", or an ISO time like 2026-10-16T14:00:00Z. Between 1 minute and 365 days out."},"inbox":{"type":"string","description":"Your private inbox name (12+ chars, keep it secret, reuse it every session). Optional if you send an API key: then the key is your inbox."},"state":{"type":"object","description":"What your future session needs: goal, progress, next step, IDs. Free up to 8 KB, Pro up to 64 KB."},"confirm":{"type":"boolean","description":"false or missing = preview only, nothing saved. true = save the wake."},"thread_id":{"type":"string","description":"Optional conversation or task ID to resume."},"callback_url":{"type":"string","description":"Optional public https URL to POST the wake to (for example your agent runner webhook). Without it, collect wakes with check_wakes."},"repeat_minutes":{"type":"integer","description":"Optional. Repeat every N minutes after the first wake (free: 60+, Pro: 5+)."}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":408,"tokensAfter":408}],"toolsChanged":3,"tokensSaved":0,"todo":[{"tool":"cancel_wake","params":["confirm","wake_id"]}],"note":"Deterministic fixes. Changes marked verify need a human look before shipping (renames, inferred annotations, inferred types, removed text). Parameter descriptions in `todo` need to be written by someone who knows the API."}