PingRobot / Docs
MCP server
Let your AI assistant work with PingRobot. With the MCP server it can tell you which sites are down and why, add monitors, schedule maintenance and post status-page updates.
The server runs at https://pingrobot.io/mcp (Streamable HTTP). It uses the same API keys as the REST API, so the same plan limits apply. It's available on every plan, including Free.
1. Create a key
In the app, open Settings → API keys and create a key. Choose the access level you want the assistant to have:
- Read only if it should only answer questions ("what's down?", "how was uptime last week?"). This is the safe default for a chat assistant.
- Read & write if it should also create, change or delete monitors and windows.
2. Connect your client
Claude Code
claude mcp add --transport http pingrobot https://pingrobot.io/mcp \
--header "Authorization: Bearer pr_live_…"
Claude Desktop
Open Settings → Developer → Edit config and add the server to claude_desktop_config.json. It connects through mcp-remote, which needs Node.js:
{
"mcpServers": {
"pingrobot": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://pingrobot.io/mcp", "--header", "Authorization:${PINGROBOT_AUTH}"],
"env": { "PINGROBOT_AUTH": "Bearer pr_live_…" }
}
}
}
Restart Claude Desktop afterwards.
Cursor
Add to ~/.cursor/mcp.json (or .cursor/mcp.json in a project):
{
"mcpServers": {
"pingrobot": {
"url": "https://pingrobot.io/mcp",
"headers": { "Authorization": "Bearer pr_live_…" }
}
}
}
VS Code
Add to .vscode/mcp.json. VS Code asks for the key once and stores it securely:
{
"inputs": [{ "type": "promptString", "id": "pingrobot-key", "description": "PingRobot API key", "password": true }],
"servers": {
"pingrobot": {
"type": "http",
"url": "https://pingrobot.io/mcp",
"headers": { "Authorization": "Bearer ${input:pingrobot-key}" }
}
}
}
Other clients
Any client that supports remote MCP servers over Streamable HTTP with a custom header will work. Use the URL https://pingrobot.io/mcp and the header Authorization: Bearer <your key>. Clients that only run local (stdio) servers can use mcp-remote as shown for Claude Desktop. Connectors that sign in with OAuth, such as custom connectors on claude.ai, aren't supported yet.
3. Ask
- "Which of my monitors are down, and since when?"
- "Why did the checkout monitor fail last night?"
- "Add a monitor for https://api.example.com/health that checks $.status equals ok every minute."
- "Create a heartbeat for my nightly backup and give me the curl command for the end of the script."
- "Pause all checks for the shop from 02:00 to 03:00 Istanbul time every Sunday."
- "Post on the status page that we're investigating slow logins."
Tools
| Tool | What it does | Key |
|---|---|---|
get_account | Plan, limits and usage. | Read |
list_monitors | Every monitor with its status, last failure and 30-day uptime; can filter by status. | Read |
get_monitor | One monitor in full, with uptime stats and recent incidents. | Read |
get_incident | Why a monitor went down: the status, headers and start of the body (or the error) the failing check saw, and comments. | Read |
comment_on_incident | Adds a comment to an incident, such as the cause or the fix. | Write |
create_monitor | Website, API (JSON rules), keyword, TCP port, DNS record or cron heartbeat. | Write |
update_monitor | Changes only the fields given. | Write |
pause_monitor, resume_monitor | Stop and restart checks. | Write |
delete_monitor | Deletes a monitor and its history. | Write |
test_monitor | Runs one check without saving. | Write |
list_contacts | Alert contacts and available channels. | Read |
create_contact, delete_contact | Add or remove an email, webhook, Slack, Discord or ntfy contact. | Write |
send_test_alert | Sends a test alert to a contact. | Write |
list_maintenance_windows | Windows and whether each is active. | Read |
create_maintenance_window, delete_maintenance_window | One-off, daily or weekly pauses. | Write |
list_status_pages | Your public status pages. | Read |
list_announcements | A page's incidents and notices. | Read |
post_announcement, add_announcement_update | Post on a status page and update it. | Write |
Each tool carries MCP hints (read-only, destructive), so clients can ask you before the assistant deletes something or posts publicly.
Good to know
- The assistant can do only what its key allows. Use a read-only key unless you want it to make changes.
- Status-page announcements are public. Review the wording before the assistant posts one.
- Calls count toward the API limit of 120 requests a minute per key.
- Revoke a key in Settings and it stops working at once, in every client.
Building your own integration instead? See the REST API and its OpenAPI document.