Docs

MCP server

Let Claude, or any other MCP client, check your monitors, read incidents, and manage checks directly, the same way you would from the dashboard or the REST API.

What it is

realuptime runs a standalone Model Context Protocol server at https://mcp.realuptime.io/mcp, a stateless HTTP endpoint (JSON-RPC 2.0, no session state) that exposes seven tools mirroring the REST API exactly. Point any MCP client at that URL with a bearer key, and it can list your monitors, pull a check's live status, create or update checks, and read recent incidents, the same data and the same rules as the dashboard, just callable by an agent instead of a human clicking around.

This is a company-wide, paid-tier feature by design, not a one-off add-on: the same key and the same rules gate the REST API too. See the full API reference for authentication, rate limits, and every REST endpoint the MCP tools mirror.

The seven tools

ToolEquivalent toScope requiredArguments
list_checksGET /checksreadnone
get_check_statusGET /checks/:idreadcheckId (uuid)
create_checkPOST /checksread_writename, url, intervalSeconds?, regions?
update_check_regionsPATCH /checks/:idread_writecheckId (uuid), regions
delete_checkDELETE /checks/:idread_writecheckId (uuid)
list_status_pagesGET /status-pagesreadnone
list_incidentsGET /incidentsreadlimit? (1 to 500)
  • list_checks: List every monitor on the account: id, name, url, and check interval.
  • get_check_status: The current per-region status and aggregate status for one monitor. Same staleness-aware aggregation as the public status page: operational, degraded, down, stale, or unknown.
  • create_check: Add a new monitor. Enforces the account's tier limit and the same target-safety validation as the dashboard and REST API.
  • update_check_regions: Change which of the 4 live regions probe an existing monitor. At least one region is required.
  • delete_check: Remove a monitor and its history.
  • list_status_pages: List the account's public status page(s), including slug and URL path.
  • list_incidents: List recent incidents across every monitor on the account, newest first.

Every tool returns the same JSON shape as its REST equivalent, as a text content block. A not-found, over-limit, unsafe-target, or rate-limited condition sets isError: true on the tool result rather than throwing, so a client sees a clean, structured failure instead of a crash.

Authentication and permission scopes

The MCP server uses the same bearer API key as the REST API, generated from the dashboard's API & MCP access section. Every key has a scope: read can call the four read-only tools above; read_write can also call create_check, update_check_regions, and delete_check. A read key calling a write tool gets a clean isError: true result, not a crash or a silent no-op. Full detail, including rate limits (120 reads/min, 30 writes/min, shared with the REST API) and request-size limits, is in the API reference.

Tier requirements

The MCP server, like the REST API, requires a Growth or Scale plan. A key from a free-tier account is rejected at the transport level before any tool runs. See pricing for what each plan includes.

Setup

Claude Code

claude mcp add --transport http realuptime https://mcp.realuptime.io/mcp \
  --header "Authorization: Bearer ru_live_..."

Claude Desktop, or any MCP client using a JSON config

Add an entry to your client's MCP server configuration:

{
  "mcpServers": {
    "realuptime": {
      "url": "https://mcp.realuptime.io/mcp",
      "headers": {
        "Authorization": "Bearer ru_live_..."
      }
    }
  }
}

Any other MCP client

Point it at https://mcp.realuptime.io/mcp over HTTP, with theAuthorization: Bearer ru_live_... header set on every request. A client library normally handles the initialize to tools/list to tools/call sequence for you; the request below is only useful as a manual sanity check that the server is reachable and your key works.

curl -X POST https://mcp.realuptime.io/mcp \
  -H "Authorization: Bearer ru_live_..." \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"test","version":"1"}}}'

Getting a key

Generate an API key from the dashboard's API & MCP access section on a Growth or Scale account. The key is shown once, at creation, stored hashed server-side; if you lose it, generate a new one and revoke the old.