protogrid

Search / dev.workers.cronping-oren.cronping/heartbeat-monitor

heartbeat-monitor

not classified

Dead-man's-switch for cron jobs & AI agents. Import a crontab to arm one silent-miss alert per job.

v1.4.0 · active · website · descriptor JSON · versions

Not classified yet.The remote endpoints have not been probed successfully, or the listing has nothing to connect to.
Quality91good
Trust50of 100
Uptime, 30 days72%
Latency p50151 ms

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "heartbeat-monitor": {
      "type": "http",
      "url": "https://cronping.cronping-oren.workers.dev/mcp"
    }
  }
}
claude mcp add --transport http heartbeat-monitor https://cronping.cronping-oren.workers.dev/mcp
[mcp_servers.heartbeat-monitor]
url = "https://cronping.cronping-oren.workers.dev/mcp"
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "heartbeat-monitor": {
      "type": "remote",
      "url": "https://cronping.cronping-oren.workers.dev/mcp",
      "enabled": true
    }
  }
}
{
  "mcpServers": {
    "heartbeat-monitor": {
      "type": "http",
      "url": "https://cronping.cronping-oren.workers.dev/mcp"
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=heartbeat-monitor&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vY3JvbnBpbmcuY3JvbnBpbmctb3Jlbi53b3JrZXJzLmRldi9tY3AifQ%3D%3D"
}
{
  "servers": {
    "heartbeat-monitor": {
      "type": "http",
      "url": "https://cronping.cronping-oren.workers.dev/mcp"
    }
  }
}
{
  "mcpServers": {
    "heartbeat-monitor": {
      "httpUrl": "https://cronping.cronping-oren.workers.dev/mcp"
    }
  }
}
extensions:
  "heartbeat-monitor":
    enabled: true
    name: "heartbeat-monitor"
    type: streamable_http
    uri: "https://cronping.cronping-oren.workers.dev/mcp"
    timeout: 300

Quality 91 / 100good

protocol75 · weight 25
  • warn
    protocol.modernnewest supported version is 2024-11-05; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
  • n/a
    protocol.statelessonly applies to 2026-07-28 servers
  • pass
    protocol.transportstreamable HTTP
  • n/a
    protocol.list_ttlonly applies to 2026-07-28 servers
authorizationn/a · weight 15
  • n/a
    auth.prm, auth.as_metadata, auth.cimdno remote uses OAuth
  • n/a
    auth.secret_in_urlno templated URL
tool hygiene100 · weight 30
  • pass
    tools.descriptionsevery tool has a description
  • pass
    tools.description_lengthdescriptions are concise
  • pass
    tools.schemasevery tool has an object input schema
  • pass
    tools.annotations7 of 7 tools declare readOnlyHint or destructiveHint
  • pass
    tools.directory_hintsevery tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
  • pass
    tools.token_costabout 2,000 tokens to load every tool
  • pass
    tools.api_dumptools are not a one-to-one API dump
stability100 · weight 15
  • pass
    stability.changesno tool changes in 30 days
  • pass
    stability.rug_pullno tool changed its meaning under the same name
dependenciesn/a · weight 15
  • n/a
    deps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI package

7 tools, about 2,000 tokens to load them all · tool set 2360bc940b36 · checked 2026-10-19 12:00 UTC

Tool changes

No tool definition changes recorded. A server's first observation is its baseline; later probes record what changes.

Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.

Trust 50 / 100

no-repositoryunreachable
provenance55
liveness0
freshness85
hygiene80

+dns-namespace +website -unreachable(9 failures) ~updated-51d-ago -no-repository

Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.

Endpoints

remoteauthreachableuptime 30dp50protocollast ok
https://cronping.cronping-oren.workers.dev/mcp streamable-httpnoneno (9 failures)72%151 ms2024-11-052026-09-30

Tools (7)

create_heartbeatCreate 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_token to manage it. If pings stop arriving within period+grace, Cronping raises an alert. No account required. After creating, send one verification ping (call ping_heartbeat with the returned id) to confirm setup — the check flips from 'new' to UP so you know it's wired correctly. Alternatively, pass pull_url to make a PULL check: Cronping fetches that URL on schedule and alerts if it fails — for targets that can't call a ping URL (a health endpoint, status page, or API).
delete_heartbeatdestructivePermanently 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 one-off job) so it stops being monitored and can never raise a stale DOWN alert. Requires the claim_token returned by create_heartbeat. This is irreversible — the id and ping_url stop working immediately. To silence a check temporarily instead of deleting it, use pause_heartbeat.
get_heartbeat_statusread-onlyGet the live status of a Cronping check (up/down/new, last ping time, ping count, and whether an alert channel is set).
import_crontabArm 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 cron expression itself (using the longest gap between runs so weekend/twice-daily schedules don't false-alarm), and creates one heartbeat monitor per job. Returns, for each line, a ping_url plus the same command with `&& curl -fsS <ping_url>` already appended so you can drop it straight back into the crontab. Also anchors each new check's first deadline to the schedule's real next run — so a fresh switch neither pages at t=0 nor sleeps a full period. No account required. Ideal when an agent or operator wants to instrument a whole box's scheduled jobs at once. Up to 20 lines per call. Lines with no fixed interval (e.g. @reboot) are skipped.
pause_heartbeatPause 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 not raise a false DOWN alert; resume to re-arm the dead-man's-switch. While paused, missed pings are ignored and no alerts fire. Requires the claim_token returned by create_heartbeat.
ping_heartbeatSend 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" marks it DOWN immediately and alerts. Optionally pass progress_token (a digest of your run's actual output) on success pings: if the same token repeats for several consecutive runs, the check flips to STUCK — catching a "zombie" job that keeps pinging on schedule while its real work has stalled.
set_heartbeat_alertAdd 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 https) that Cronping notifies when the monitor goes silent or recovers. Without an alert channel a check tracks status but can't warn you — call this once per check to make the dead-man's-switch actually protect you.

Schemas: list_tools.

Similar MCP servers

Official server.json
{
  "name": "dev.workers.cronping-oren.cronping/heartbeat-monitor",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "remotes": [
    {
      "url": "https://cronping.cronping-oren.workers.dev/mcp",
      "type": "streamable-http"
    }
  ],
  "version": "1.4.0",
  "websiteUrl": "https://cronping.cronping-oren.workers.dev",
  "description": "Dead-man's-switch for cron jobs & AI agents. Import a crontab to arm one silent-miss alert per job."
}