Skip to main content

UptimeRobot MCP Integration Guide

Updated over a month ago

Connect AI assistants to your UptimeRobot monitors and incidents through the Model Context Protocol.

Getting started

Step 1: Generate your API token

You'll need a UptimeRobot API key to authenticate the MCP server. Get it from your UptimeRobot dashboard:

  1. Log in to UptimeRobot

  2. Navigate to Integrations & API

  3. Copy your Main API Key, or read-only API key if you want to use MCP for read-only actions.

Step 2: Configure the MCP server

The UptimeRobot MCP server runs as a remote HTTP server. Add this configuration to your MCP client replacing <your-api-token> with your actual token:

{
"mcpServers": {
"uptimerobot": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://mcp.uptimerobot.com/mcp",
"--header",
"Authorization: Bearer <your-api-token>",
"--header",
"X-MCP-Content-Format: true"
]
}
}
}

Step 3: Test your connection

Your AI assistant can now access UptimeRobot data. Try these:

  • "Show me all monitors that are currently down"

  • "What's the availability of my website monitor this month?"

  • "What incidents occurred yesterday?"

  • "Pause monitor 801150533 for maintenance"


Monitor Management

Your AI assistant can manage monitoring infrastructure through natural language. Ask questions like:

  • "Show me all monitors that are currently down"

  • "What's the availability of my website monitor this month?"

  • "Create a new HTTP monitor for https://example.com"

  • "Pause monitor 801150533 for maintenance"

Monitors

  • List monitors: Shows all monitors with optional filtering by status, search, and tags

  • Get monitor details: Provides monitor configuration, current status, SSL/domain expiration, and custom settings

  • Get monitor stats: Calculates uptime percentages, incident counts, and status breakdowns

  • Get response times: Analyzes historical response time data with statistical summaries (1h to 90d time ranges)

  • Update monitor status: Pauses or resumes monitoring for specific monitors

  • Update monitor: Modifies monitor configuration including name, URL, interval, timeout, alert contacts, and tags

  • Create monitor: Creates new monitors (HTTP, KEYWORD, PING, PORT, DNS, or HEARTBEAT) with full configuration

Example queries:

  • "List all monitors with status DOWN"

  • "Show me details for monitor ID 801150533"

  • "What's the uptime for monitor mywebsite.com over the last 7 days?"

  • "Get response times for monitor 801150533 for the last 30 days"

  • "Pause monitor 801150533"

  • "Update monitor 801150533 to check every 5 minutes"

  • "Create a new HTTP monitor for https://api.example.com checking every 5 minutes"


Incident Management

Your AI assistant can investigate incidents and view monitoring data through natural language. Ask questions like:

  • "What incidents occurred yesterday?"

  • "Show me all incidents from the last 24 hours"

  • "Get details about incident 927921560"

Incidents

  • List incidents: Finds incidents by time range, monitor ID, or status with pagination support

  • Get incident details: Shows comprehensive incident information including timeline, error codes, request logs, checker locations, and affected regions

Example queries:

  • "List all incidents from the last 24 hours"

  • "Show me incidents for monitor ID 801150533"

  • "Get details for incident ID 927921560"

  • "What incidents are currently ongoing?"


Integration Management

Your AI assistant can view alert integrations and their status. Ask questions like:

  • "List all my alert integrations"

  • "Show me all active integrations"

Integrations

  • List integrations: Shows all configured alert integrations (email, SMS, voice, mobile app, webhooks) with their status and configuration

Example queries:

  • "List all my alert integrations"

  • "Show me all active integrations"

  • "What integrations are configured for notifications?"


Available Tools

Monitor Management Tools

list-monitors

  • Lists all monitors in your account

  • Supports filtering by status (UP, DOWN, PAUSED, NOT_STARTED, EXPIRING_DOMAIN, EXPIRING_SSL_CERTIFICATE)

  • Full-text search by monitor name or URL

  • Pagination support (default: 10 per page, max: 100)

  • Returns monitor ID, name, URL, type, status, interval, and current state duration

get-monitor-details

  • Retrieves comprehensive details for a specific monitor

  • Includes configuration settings (interval, timeout, SSL settings, authentication)

  • Shows current status, SSL/domain expiration dates

  • Displays monitor type-specific settings (HTTP method, keywords, ports, etc.)

  • Returns tags, alert contacts, and custom HTTP headers

get-monitor-stats

  • Provides aggregated statistics for monitors

  • Shows uptime percentages, incident counts, and status breakdowns

  • Supports time range filtering (relative: 1h-90d, or absolute ISO 8601 dates)

  • Returns counts of monitors by status (UP, DOWN, PAUSED, DEGRADED)

  • Calculates overall uptime percentage across all monitors

get-response-times

  • Retrieves historical response time data for a specific monitor

  • Supports time ranges from 1 hour to 90 days

  • Returns time series data with statistical summaries (min, max, avg, p95)

  • Optional bucket size for time aggregation

  • Useful for performance analysis and trend identification

update-monitor-status

  • Pauses or resumes monitoring for a specific monitor

  • Use PAUSED to temporarily stop monitoring during maintenance

  • Use STARTED to resume monitoring after maintenance

  • Returns confirmation of status change

update-monitor

  • Updates configuration of an existing monitor

  • Supports partial updates (only provided fields are modified)

  • Can update name, URL, interval, timeout, alert contacts, tags

  • Type-specific settings (HTTP method, keywords, ports, etc.)

  • Validates changes against subscription limits

create-monitor

  • Creates a new monitor of any supported type

  • Supported types: HTTP, KEYWORD, PING, PORT, HEARTBEAT, DNS

  • Configures monitoring interval, timeout, and type-specific parameters

  • Sets up alert contacts, tags, and custom settings

  • Validates all parameters before creation

Incident Management Tools

list-incidents

  • Lists all incidents across your account or for a specific monitor

  • Filters by time range (relative: 1h-90d, or absolute ISO 8601 dates)

  • Optional filtering by monitor ID

  • Pagination support (default: 10 per page, max: 100)

  • Returns incident ID, status, duration, start/end times, and monitor information

get-incident-details

  • Retrieves comprehensive details for a specific incident

  • Includes full timeline (start/end times, duration)

  • Shows error codes, reasons, and primary error messages

  • Provides request logs with timestamps, regions, and error details

  • Lists affected regions and checker locations

  • Includes traceroute data when available

Integration Management Tools

list-integrations

  • Lists all alert integrations configured in your account

  • Shows integration types: email, SMS, voice, mobile app, webhooks

  • Displays integration status and configuration

  • Pagination support (default: 10 per page, max: 100)

  • Returns integration IDs and details for management


Troubleshooting

"Authentication failed" or "Invalid API key"

  • Verify your API key is correct in the UptimeRobot dashboard

  • Check for extra spaces when pasting the API key

  • Generate a new API key if needed


Security

  • Keep your API keys secure and never share them publicly or commit them to version control

  • Your Main API key has the same permissions as your UptimeRobot account


Limitations

  • API calls are subject to UptimeRobot's rate limits

  • Data and feature availability depends on your subscription plan

Did this answer your question?