{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_hzph3h4wt5bt","handle":"heartbeat-monitor","url":"https://wellknown.network/agents/heartbeat-monitor","links":{"self":"https://wellknown.network/agents/heartbeat-monitor/record.json","html":"https://wellknown.network/agents/heartbeat-monitor","markdown":"https://wellknown.network/agents/heartbeat-monitor/record.md","api":"https://wellknown.network/api/v1/agents/heartbeat-monitor","status":"https://wellknown.network/api/v1/agents/heartbeat-monitor/status","claim":"https://wellknown.network/agents/heartbeat-monitor/claim","claimApi":"https://wellknown.network/api/v1/claims","badge":"https://wellknown.network/agents/heartbeat-monitor/badge.svg","openapi":"https://wellknown.network/openapi.json"},"ard":{"identifier":"urn:air:cronping.cronping-oren.workers.dev:server:heartbeat-monitor","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"heartbeat-monitor","summary":"Dead-man's-switch for cron jobs & AI agents. Import a crontab to arm one silent-miss alert per job.","description":"Dead-man's-switch for cron jobs & AI agents. Import a crontab to arm one silent-miss alert per job.","publisher":{"name":"dev.workers.cronping-oren.cronping","url":null},"homepage":"https://cronping.cronping-oren.workers.dev","repository":null,"version":"1.4.0","license":null,"protocols":["mcp"],"tags":[],"pricing":null,"endpoints":[{"url":"https://cronping.cronping-oren.workers.dev/mcp","type":"mcp_streamable_http","auth":null,"probeable":true}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-08-29T10:56:30.132435Z","publishedAt":"2026-08-29T10:56:30.132435Z","registryName":"dev.workers.cronping-oren.cronping/heartbeat-monitor"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","homepageUrl":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[{"slug":"communication.chat","name":"Team Chat","confidence":1,"provenance":"derived"},{"slug":"automation.scheduling","name":"Scheduling & Cron","confidence":0.833,"provenance":"derived"},{"slug":"dev.monitoring","name":"Monitoring & Observability","confidence":0.554,"provenance":"derived"},{"slug":"communication.notifications","name":"Notifications","confidence":0.51,"provenance":"derived"}],"categories":["automation","communication","dev"]},"observed":{"status":"live","statusReason":"Responded 6h ago.","lastOkAt":"2026-09-06T01:23:46.443Z","lastProbedAt":"2026-09-06T01:23:46.443Z","statusComputedAt":"2026-09-06T01:24:40.328Z","reliability30d":{"probes":1,"successRate":1,"p50Ms":8},"latestObservations":[{"at":"2026-09-06T01:23:46.443Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":8,"error":null,"detail":{"tools":[{"name":"create_heartbeat","description":"Create a Cronping heartbeat monitor (dead-man's-switch). Returns a ping_url to call on each successful run of your agent loop, worker, or cron job, plus a claim"},{"name":"ping_heartbeat","description":"Send a heartbeat signal to a Cronping check. signal=\"success\" (default) marks it UP and resets the timer; \"start\" records that a run began (for duration); \"fail"},{"name":"get_heartbeat_status","description":"Get the live status of a Cronping check (up/down/new, last ping time, ping count, and whether an alert channel is set)."},{"name":"set_heartbeat_alert","description":"Add or change the alert channel on an EXISTING Cronping check (use this instead of creating a duplicate). Sets the email and/or webhook (Slack/Discord/generic h"},{"name":"import_crontab","description":"Arm a dead-man's-switch for EVERY line of a crontab in one call. Paste raw crontab text; Cronping parses each schedule, derives the expected interval from the c"},{"name":"delete_heartbeat","description":"Permanently delete a Cronping heartbeat monitor and all its events. Use this to tear down an ephemeral check your agent created (e.g. at shutdown, or after a on"},{"name":"pause_heartbeat","description":"Pause or resume monitoring on an existing Cronping check without deleting it. Pause during planned maintenance or a known downtime window so a silent job does n"}],"toolCount":7,"serverName":"cronping","capabilities":["tools"],"serverVersion":"1.4.0","protocolVersion":"2024-11-05"}}],"tools":[{"name":"create_heartbeat","description":"Create a Cronping heartbeat monitor (dead-man's-switch). Returns a ping_url to call on each successful run of your agent loop, worker, or cron job, plus a claim"},{"name":"ping_heartbeat","description":"Send a heartbeat signal to a Cronping check. signal=\"success\" (default) marks it UP and resets the timer; \"start\" records that a run began (for duration); \"fail"},{"name":"get_heartbeat_status","description":"Get the live status of a Cronping check (up/down/new, last ping time, ping count, and whether an alert channel is set)."},{"name":"set_heartbeat_alert","description":"Add or change the alert channel on an EXISTING Cronping check (use this instead of creating a duplicate). Sets the email and/or webhook (Slack/Discord/generic h"},{"name":"import_crontab","description":"Arm a dead-man's-switch for EVERY line of a crontab in one call. Paste raw crontab text; Cronping parses each schedule, derives the expected interval from the c"},{"name":"delete_heartbeat","description":"Permanently delete a Cronping heartbeat monitor and all its events. Use this to tear down an ephemeral check your agent created (e.g. at shutdown, or after a on"},{"name":"pause_heartbeat","description":"Pause or resume monitoring on an existing Cronping check without deleting it. Pause during planned maintenance or a known downtime window so a silent job does n"}],"package":null},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"dev.workers.cronping-oren.cronping/heartbeat-monitor","url":"https://registry.modelcontextprotocol.io/v0/servers/dev.workers.cronping-oren.cronping%2Fheartbeat-monitor","firstSeenAt":"2026-09-05T23:20:59.127Z","fetchedAt":"2026-09-05T23:20:59.127Z","normalizedAt":"2026-09-05T23:20:59.127Z"}]},"firstSeenAt":"2026-09-05T23:20:59.127Z","updatedAt":"2026-09-06T01:24:48.335Z"}