{"serverId":"mcp-registry/dev.workers.notdown-app.pulse/monitor","tools":[{"name":"delete_check","fixed":{"name":"delete_check","description":"Delete a check and its history, by name or id.","inputSchema":{"type":"object","required":["check"],"properties":{"check":{"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":50,"tokensAfter":50},{"name":"get_check","fixed":{"name":"get_check","description":"Get one check's current status plus its recent ping history (timestamps and notes).","inputSchema":{"type":"object","required":["check"],"properties":{"check":{"type":"string","description":"The check name (or its id)."}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":72,"tokensAfter":72},{"name":"list_checks","fixed":{"name":"list_checks","description":"List all your checks with their current status (up/late/down/pending), last-seen time, ping count, and public status URL.","inputSchema":{"type":"object","properties":{}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":58,"tokensAfter":58},{"name":"ping","fixed":{"name":"ping","description":"Send a heartbeat for a named check — call this once per run of your job/agent. If the named check doesn't exist yet it is created automatically (zero setup), so you can just ping the same name every run. Attach an optional one-line `note` (e.g. what the run did) that shows on the public status page. If a ping doesn't arrive within the expected period + grace, the check flips to 'late' then 'down' on its public status page. Returns the check's status and its public status_url.","inputSchema":{"type":"object","required":["check"],"properties":{"note":{"type":"string","description":"Optional one-line status note shown on the public page, e.g. \"processed 240 rows\" or \"all green\"."},"check":{"type":"string","description":"A stable name for this job/agent, e.g. \"nightly-sync\" or \"my-agent\". Reuse the same name every run — that's how heartbeats accumulate. Created on first ping."},"grace":{"type":"number","description":"Optional: extra seconds of slack before a missed ping counts as down (default 20% of period)."},"period":{"type":"number","description":"Optional: how often you expect to ping, in seconds (default 3600 = hourly). If no ping arrives within period+grace, status becomes late/down."}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":347,"tokensAfter":347}],"toolsChanged":4,"tokensSaved":0,"todo":[{"tool":"delete_check","params":["check"]}],"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."}