MCPサーバー

Heartbeat — dead-man switch for cron jobs & AI agents

io.github.aniripsaretro-max/golemreach-heartbeat
クラウド・インフラ 公開・接続可能 MCP 2026-07-28

このMCPでできること

Monitors scheduled jobs and agents with heartbeat, failure, uptime, and dependency alerting.

create_heartbeat
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.
入力スキーマ
{'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)'}}}
get_status
Full 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.
読み取り専用
入力スキーマ
{'type': 'object', 'properties': {'key': {'type': 'string', 'description': 'monitor key (private lookup; also returns ping/fail URLs)'}, 'name': {'type': 'string', 'description': 'monitor name (public lookup)'}}}
list_heartbeats
List 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.
読み取り専用
入力スキーマ
{'type': 'object', 'properties': {'key': {'type': 'string', 'description': 'optional monitor key; adds the private ping_url/fail_url for that one monitor'}}}
ping_heartbeat
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.
入力スキーマ
{'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}'}}}
record_failure
Explicitly 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.
入力スキーマ
{'type': 'object', 'required': ['key'], 'properties': {'key': {'type': 'string'}}}
追加
get_status
2026年9月17日12:40
追加
list_heartbeats
2026年9月17日12:40
追加
record_failure
2026年9月17日12:40
追加
ping_heartbeat
2026年9月17日12:40
追加
create_heartbeat
2026年9月17日12:40