Heartbeat — dead-man switch for cron jobs & AI agents
Measured conclusion: Deep-tested. L2 outcome: tools_ok.
Dead-man switch monitors for cron & AI agents with dependency-cascade alerts. No account needed.
| Author | io.github.aniripsaretro-max |
|---|---|
| Access | remote |
| Publisher key required | No |
| Measured state | Deep-tested |
| L1 liveness | alive |
| L1 latency | 2625 ms |
| Last measured | 2026-10-26 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"Heartbeat — dead-man switch for cron jobs & AI agents": {
"url": "https://golemreach.com/heartbeat/mcp",
"transport": "streamable-http"
}
}
}
Measured tools (5)
create_heartbeatArm 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.
Parameters:
name(required) — string — unique name, 1-40 chars [A-Za-z0-9_.-]kind— string — 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 URLgrace_s— integer — extra seconds of slack before DOWN (0-86400)pass_key— string — Pro pass key from a $5 USDC payment (optional; skips rate limits)period_s— integer — expected seconds between pings (60-86400)depends_on— array — 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— string — public http(s) URL to probe (pull only)webhook_url— string — public http(s) URL that receives UP/DOWN alerts (optional)
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
ping_heartbeatRecord 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.
Parameters:
key(required) — string — monitor key returned by create_heartbeatendpoints— array — selfcheck monitors only: one object per probed surface, e.g. {"name":"claude-session","status_code":200,"cf_mitigated":false,"tls_ms":230}
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
record_failureExplicitly mark a run as FAILED for a monitor (same as GET https://golemreach.com/heartbeat/fail/<key>). The monitor goes DOWN immediately and alerts fire.
Parameters:
key(required) — string
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
list_heartbeatsread-onlyList monitors on this Heartbeat instance with current status (new/up/late/down). Names and statuses are public by design — every monitor has a public status page. Pass your secret key to also include that monitor's private ping/fail URLs in the result.
Parameters:
key— string — optional monitor key; adds the private ping_url/fail_url for that one monitor
Hints: read-only yes · destructive not declared · idempotent not declared · open-world not declared
get_statusread-onlyFull current state of one monitor: status, 30-day uptime %, schedule, last ping, alert config, recent event history and its public URLs. Look up by name OR by your secret key; key lookups additionally return the private ping/fail URLs.
Parameters:
key— string — monitor key (private lookup; also returns ping/fail URLs)name— string — monitor name (public lookup)
Hints: read-only yes · destructive not declared · idempotent not declared · open-world not declared
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.