Skip to content

MCP server docs

Your agents can ask what's down, too

Upcertain ships a Model Context Protocol server. Point Claude, Cursor or your own agent at it and they can read monitors, uptime and incidents, and create checks. Sign in from the app, or use an API key for scripts.

Before you start

  1. 01MCP is included in the Team plan and up. Check yours under Settings, Plan & usage.
  2. 02Apps that support MCP sign-in (Claude, Claude Code, Cursor, VS Code) only need the address below. They open Upcertain in your browser, where you choose the workspace and read-only or read-write access. Anyone in the workspace can connect their own apps, and disconnect them under Settings, API & MCP.
  3. 03For scripts and clients without sign-in, an owner or admin creates an API key under Settings, API & MCP. Use a read-write key if the agent should create or pause monitors and acknowledge incidents.
Server address (Streamable HTTP)
https://upcertain.com/api/mcp
Authentication
OAuth 2.1 sign-in (discovered from the server), or Authorization: Bearer <API key>

Connect a client

Sign in from the app

Claude (claude.ai and the desktop app): Settings, Connectors, Add custom connector, and paste https://upcertain.com/api/mcp.

Claude Code: add the server, then run /mcp and choose Authenticate.

claude mcp add --transport http upcertain https://upcertain.com/api/mcp

Cursor: add this to ~/.cursor/mcp.json and click Connect.

{
  "mcpServers": {
    "upcertain": {
      "url": "https://upcertain.com/api/mcp"
    }
  }
}

VS Code:

code --add-mcp '{"name":"upcertain","type":"http","url":"https://upcertain.com/api/mcp"}'

With an API key

Claude Code:

claude mcp add --transport http upcertain https://upcertain.com/api/mcp --header "Authorization: Bearer <your API key>"

Claude Desktop: add this to claude_desktop_config.json (Settings, Developer, Edit config) and restart Claude. It uses the mcp-remote bridge, so Node.js must be installed.

{
  "mcpServers": {
    "upcertain": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://upcertain.com/api/mcp",
        "--header",
        "Authorization:${UPCERTAIN_AUTH}"
      ],
      "env": {
        "UPCERTAIN_AUTH": "Bearer <your API key>"
      }
    }
  }
}

Cursor and other clients: add this to ~/.cursor/mcp.json, or give any client that supports remote HTTP servers the address and header above.

{
  "mcpServers": {
    "upcertain": {
      "url": "https://upcertain.com/api/mcp",
      "headers": {
        "Authorization": "Bearer <your API key>"
      }
    }
  }
}

Tools

ToolArgumentsWhat it doesAccess
list_monitorsstatus (up, down, paused, pending), typeMonitors with status, last check and 24-hour uptime.Any
get_monitormonitor_idOne monitor's configuration and current state.Any
get_uptimemonitor_id, window (24h, 7d, 30d, 90d)Uptime, incident count, downtime and average response time.Any
list_incidentssince (7d or an ISO date), status, monitor_id, limitIncidents, newest first.Any
get_incidentincident_idOne incident with its activity log.Any
list_status_pages—Status pages with their address and visibility.Any
create_monitortype, url or host, port, keyword, name, interval_sec, heartbeat_period_secCreate an HTTP, keyword, ping, port, SSL or heartbeat monitor.Read-write
pause_monitormonitor_idPause checks for a monitor.Read-write
resume_monitormonitor_idResume a paused monitor.Read-write
acknowledge_incidentincident_idAcknowledge an ongoing incident so repeat alerts stop.Read-write

Resource upcertain://account returns the plan, limits, monitor counts and open incidents. Tool calls follow the same rate limit as the REST API: 60 requests per minute per key or connected app.

Things to ask

  • > Which of our APIs had incidents this week, and how long were they down?
  • > Add a keyword monitor for https://example.com that checks for "Welcome" every 5 minutes.
  • > Build me a table of 30-day uptime for every monitor, worst first.
  • > Acknowledge the open incident on payments-api.

Prefer plain HTTP?

API keys also work with the REST API at https://upcertain.com/api/v1. Errors come back as { "error": { "code", "message" } }.

curl -H "Authorization: Bearer <your API key>" https://upcertain.com/api/v1/incidents?since=7d

The full endpoint list is in Settings, API & MCP. Create an account to get started.