{"serverId":"mcp-registry/io.github.aniripsaretro-max/golemreach-heartbeat","tools":[{"name":"create_heartbeat","fixed":{"name":"create_heartbeat","description":"Arm a new dead-man switch monitor. Returns the key plus a ping_url your job must hit after every run. No account needed. Names are globally unique on this instance and each name gets a PUBLIC status page; the secret key is the only credential — keep it.","inputSchema":{"type":"object","required":["name"],"properties":{"kind":{"enum":["push","pull","selfcheck"],"type":"string","default":"push","description":"push = you ping us; pull = we probe target_url every min(period_s,60)s; selfcheck = your box runs our egress-trust probe script and POSTs verdict reports to the ping URL"},"name":{"type":"string","description":"unique name, 1-40 chars [A-Za-z0-9_.-]"},"grace_s":{"type":"integer","default":300,"description":"extra seconds of slack before DOWN (0-86400)"},"pass_key":{"type":"string","description":"Pro pass key from a $5 USDC payment (optional; skips rate limits)"},"period_s":{"type":"integer","default":300,"description":"expected seconds between pings (60-86400)"},"depends_on":{"type":"array","items":{"type":"string"},"description":"parent monitor names and/or gate:<gate-name> entries (max 5). When a parent is DOWN or a gate parent is HALT this monitor becomes DEGRADED-BY-UPSTREAM: notified once, own silence paging suppressed until the parent recovers."},"target_url":{"type":"string","description":"public http(s) URL to probe (pull only)"},"webhook_url":{"type":"string","description":"public http(s) URL that receives UP/DOWN alerts (optional)"}}},"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":421,"tokensAfter":421},{"name":"ping_heartbeat","fixed":{"name":"ping_heartbeat","description":"Record one successful run for a monitor (same as GETting https://golemreach.com/heartbeat/ping/<key>). Call this every time your job runs. For kind=selfcheck monitors pass an 'endpoints' array of {\"name\",\"status_code\",\"cf_mitigated\",\"tls_ms\"} objects instead — alerts fire on trusted->challenged / recovery transitions only.","inputSchema":{"type":"object","required":["key"],"properties":{"key":{"type":"string","description":"monitor key returned by create_heartbeat"},"endpoints":{"type":"array","items":{"type":"object","required":["name"],"properties":{"url":{"type":"string"},"name":{"type":"string"},"tls_ms":{"type":"integer"},"verdict":{"enum":["trusted","rate_limited","error","challenged"],"type":"string"},"status_code":{"type":"integer"},"cf_mitigated":{"type":"boolean"}}},"description":"selfcheck monitors only: one object per probed surface, e.g. {\"name\":\"claude-session\",\"status_code\":200,\"cf_mitigated\":false,\"tls_ms\":230}"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":279,"tokensAfter":279}],"toolsChanged":2,"tokensSaved":0,"todo":[{"tool":"record_failure","params":["key"]}],"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."}