OpsRunr

Connect

Point your app, or your agent, at OpsRunr.

Attach a check to a project: an ingest URL, a poll target, or a heartbeat. Workspace API keys unlock MCP so agents can create those resources.

How customers connect checks

No SDK sprawl. Create a resource, copy the hook, ship.

Create

Add a monitor, webhook, cron job, or log source in the dashboard, or ask an agent via MCP.

Attach

Paste the ingest URL into your cron, logger, or Stripe/GitHub webhook settings. Uptime and Domains need no app code.

Observe

Payloads, heartbeats, and checks land in one workspace. Upgrade to Builder, Studio, or Agency when free caps run out.

Cursor, Claude & Grok

MCP endpoint: https://www.opsrunr.com/api/mcp. Authenticate with a workspace API key (Bearer).

Cursor (HTTP MCP)

{
  "mcpServers": {
    "opsrunr": {
      "url": "https://www.opsrunr.com/api/mcp",
      "headers": {
        "Authorization": "Bearer opr_YOUR_KEY"
      }
    }
  }
}

Claude Desktop / Cursor via mcp-remote

{
  "mcpServers": {
    "opsrunr": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://www.opsrunr.com/api/mcp", "--header", "Authorization: Bearer opr_YOUR_KEY"]
    }
  }
}

Grok / xAI-compatible MCP config

{
  "mcpServers": {
    "opsrunr": {
      "url": "https://www.opsrunr.com/api/mcp",
      "headers": {
        "Authorization": "Bearer opr_YOUR_KEY"
      }
    }
  }
}

After install, ask: “Create a cron heartbeat for nightly-backup and show the curl.” The agent calls OpsRunr tools, then returns the exact snippet for the customer’s app.

Core check hooks

What goes into the customer application for each health-desk check.

Uptime

Outbound checks from OpsRunr. No SDK in your app.

Try free →

OpsRunr polls your public URL on a schedule and records latency + status. Optional status pages expose a shareable /status/:slug URL.

  1. Create a monitor with the URL OpsRunr should hit.
  2. Keep the endpoint publicly reachable (or behind basic auth you configure later).
  3. Optionally publish a status page for customers.
# No client install. OpsRunr calls your URL.
# Create the monitor in the dashboard or via MCP:
# tool: create_uptime_monitor { name, url, intervalMin? }

Webhooks

Point the provider’s webhook URL at OpsRunr.

Try free →

Each endpoint gets a unique ingest URL. Point Stripe, GitHub, Clerk, etc. at that URL. OpsRunr stores the payload and can forward to a tunnel.

  1. Create an endpoint in Webhooks (or via MCP).
  2. Copy the POST URL into your provider’s webhook settings.
  3. Inspect payloads in the dashboard; set Forward URL for local debugging.
POST https://www.opsrunr.com/api/hooks/YOUR_TOKEN
Content-Type: application/json

{ "event": "example.created", "id": "evt_123" }

Forms

Set your form action to the OpsRunr POST URL.

Try free →

HTML forms or fetch() POST to an OpsRunr token URL. Submissions are stored (and optionally emailed). Include a hidden _gotcha field as a honeypot.

  1. Create a Forms endpoint (optional notify email).
  2. Point form action or fetch at the ingest URL.
  3. Review submissions in the dashboard.
<form action="https://www.opsrunr.com/api/forms/YOUR_TOKEN" method="POST">
  <input name="email" type="email" required />
  <input name="message" required />
  <input name="_gotcha" style="display:none" tabindex="-1" autocomplete="off" />
  <button type="submit">Send</button>
</form>

Cron

One HTTP POST at the end of each scheduled run.

Try free →

Your job POSTs a heartbeat when it finishes. If OpsRunr doesn’t hear within the grace window, it alerts.

  1. Create a cron job (token URL is generated).
  2. Add a curl/fetch at the end of your script.
  3. Tune grace period to match your schedule.
# At the end of your scheduled job:
curl -X POST "https://www.opsrunr.com/api/heartbeat/YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"message":"backup ok"}'

Domains

Register the domain name. OpsRunr probes it.

Try free →

OpsRunr reads the real TLS certificate notAfter date and probes HTTPS reachability on a schedule.

  1. Add a domain in the Domains module.
  2. Set alert days (default 30).
  3. Respond to email alerts before expiry.
# No SDK. Register the hostname.
# MCP: create_domain_monitor { domain, alertDays? }

Connect once. Run ops from anywhere.

Create a free workspace, mint an API key, and plug Cursor or Claude into OpsRunr in a few minutes.