Create
Add a monitor, webhook, cron job, or log source in the dashboard, or ask an agent via MCP.
Connect
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.
No SDK sprawl. Create a resource, copy the hook, ship.
Add a monitor, webhook, cron job, or log source in the dashboard, or ask an agent via MCP.
Paste the ingest URL into your cron, logger, or Stripe/GitHub webhook settings. Uptime and Domains need no app code.
Payloads, heartbeats, and checks land in one workspace. Upgrade to Builder, Studio, or Agency when free caps run out.
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.
What goes into the customer application for each health-desk check.
Outbound checks from OpsRunr. No SDK in your app.
OpsRunr polls your public URL on a schedule and records latency + status. Optional status pages expose a shareable /status/:slug URL.
# No client install. OpsRunr calls your URL.
# Create the monitor in the dashboard or via MCP:
# tool: create_uptime_monitor { name, url, intervalMin? }Point the provider’s webhook URL at OpsRunr.
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.
POST https://www.opsrunr.com/api/hooks/YOUR_TOKEN
Content-Type: application/json
{ "event": "example.created", "id": "evt_123" }Set your form action to the OpsRunr POST URL.
HTML forms or fetch() POST to an OpsRunr token URL. Submissions are stored (and optionally emailed). Include a hidden _gotcha field as a honeypot.
<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>
One HTTP POST at the end of each scheduled run.
Your job POSTs a heartbeat when it finishes. If OpsRunr doesn’t hear within the grace window, it alerts.
# 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"}'Register the domain name. OpsRunr probes it.
OpsRunr reads the real TLS certificate notAfter date and probes HTTPS reachability on a schedule.
# No SDK. Register the hostname.
# MCP: create_domain_monitor { domain, alertDays? }Create a free workspace, mint an API key, and plug Cursor or Claude into OpsRunr in a few minutes.