MCP for AI agents

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, scoped to your account's API key.

Before you start

  1. MCP is included in the Team plan and up. Check yours under Account, Plan & usage.
  2. An owner or admin creates an API key under Account, API keys. It is shown once.
  3. Use a read-write key if the agent should create or pause monitors and acknowledge incidents. Read-only and monitor-specific keys can only read.
Server address (Streamable HTTP)https://upcertain.innovation-insight.com/api/mcpAuthentication: Authorization: Bearer <API key>

Connect a client

Claude Code

Run this in your terminal, then ask Claude about your monitors.

claude mcp add --transport http upcertain https://upcertain.innovation-insight.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.innovation-insight.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.innovation-insight.com/api/mcp",
      "headers": {
        "Authorization": "Bearer <your API key>"
      }
    }
  }
}

Tools

ToolArgumentsWhat it doesKey
list_monitors—All monitors 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_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.

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?

The same API key works with the REST API at https://upcertain.innovation-insight.com/api/v1. Errors come back as { "error": { "code", "message" } }.

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

The full endpoint list is on the API keys page in your account. Create an account to get started.