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
- 01MCP is included in the Team plan and up. Check yours under Settings, Plan & usage.
- 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.
- 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/mcpCursor: 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
| Tool | Arguments | What it does | Access |
|---|---|---|---|
| list_monitors | status (up, down, paused, pending), type | Monitors with status, last check and 24-hour uptime. | Any |
| get_monitor | monitor_id | One monitor's configuration and current state. | Any |
| get_uptime | monitor_id, window (24h, 7d, 30d, 90d) | Uptime, incident count, downtime and average response time. | Any |
| list_incidents | since (7d or an ISO date), status, monitor_id, limit | Incidents, newest first. | Any |
| get_incident | incident_id | One incident with its activity log. | Any |
| list_status_pages | — | Status pages with their address and visibility. | Any |
| create_monitor | type, url or host, port, keyword, name, interval_sec, heartbeat_period_sec | Create an HTTP, keyword, ping, port, SSL or heartbeat monitor. | Read-write |
| pause_monitor | monitor_id | Pause checks for a monitor. | Read-write |
| resume_monitor | monitor_id | Resume a paused monitor. | Read-write |
| acknowledge_incident | incident_id | Acknowledge 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=7dThe full endpoint list is in Settings, API & MCP. Create an account to get started.