Your agent deploys code. It should also monitor it. UptimeSignal's MCP server and API let Claude Code, Cursor, Windsurf, GitHub Copilot, and any MCP-compatible agent create monitors, check uptime, and manage alerts without leaving the terminal.
One command to install. Two fields to create a monitor. Free for up to 25 monitors.
Create a monitor
"Monitor my production API at api.example.com/health"
create_monitor({
name: "Production API",
url: "https://api.example.com/health"
})
Check what's down
"Are any of my monitors currently failing?"
get_dashboard_stats()
// { total: 8, up: 7, down: 1, paused: 0 }
Suppress alerts during deploys
"Pause alerts on staging for 15 minutes while I deploy"
POST /monitors/:id/suppress
{ "minutes": 15 }
Check uptime stats
"What's the 30-day uptime for my payment API?"
get_monitor_stats({ period: "30d" })
// { uptime_percent: 99.95, avg_response_time: 142 }
Get your API token from app.uptimesignal.io > Settings > API Tokens. Then add the MCP server config to your agent.
Add to ~/.claude/settings.json:
{
"mcpServers": {
"uptimesignal": {
"command": "npx",
"args": ["-y", "uptimesignal-mcp"],
"env": {
"UPTIMESIGNAL_API_KEY": "your-api-token"
}
}
}
}
Add to .cursor/mcp.json:
{
"mcpServers": {
"uptimesignal": {
"command": "npx",
"args": ["-y", "uptimesignal-mcp"],
"env": {
"UPTIMESIGNAL_API_KEY": "your-api-token"
}
}
}
}
Add to VS Code settings.json:
{
"github.copilot.chat.mcp.servers": {
"uptimesignal": {
"command": "npx",
"args": ["-y", "uptimesignal-mcp"],
"env": {
"UPTIMESIGNAL_API_KEY": "your-api-token"
}
}
}
}
Add to your Windsurf MCP configuration:
{
"mcpServers": {
"uptimesignal": {
"command": "npx",
"args": ["-y", "uptimesignal-mcp"],
"env": {
"UPTIMESIGNAL_API_KEY": "your-api-token"
}
}
}
}
Add to ~/.codex/config.toml:
[mcp.uptimesignal]
command = "npx"
args = ["-y", "uptimesignal-mcp"]
[mcp.uptimesignal.env]
UPTIMESIGNAL_API_KEY = "your-api-token"
Any agent that can make HTTP requests can use the REST API directly:
# Create a monitor — only name and url required
curl -X POST https://api.uptimesignal.io/monitors \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"name": "My API", "url": "https://api.example.com/health"}'
# Check if a URL is up (no auth needed)
curl -X POST https://api.uptimesignal.io/tools/check-url \
-H "Content-Type: application/json" \
-d '{"url": "https://example.com"}'
These are the tools available to your agent once the MCP server is configured.
| Tool | What it does |
|---|---|
| create_monitor | Create a monitor. Only name + URL required. |
| list_monitors | List all monitors with current status, uptime %, and response time. |
| get_monitor | Get detailed info about a single monitor. |
| update_monitor | Change a monitor's URL, interval, expected status, etc. |
| delete_monitor | Permanently remove a monitor. |
| pause_monitor | Stop checks and alerts for a monitor. |
| resume_monitor | Resume a paused monitor. |
| get_monitor_stats | Uptime %, avg response time for 24h/7d/30d. |
| get_monitor_checks | Recent check history with status codes and timings. |
| check_url | One-off URL check without creating a monitor. |
| get_dashboard_stats | Overall counts: total, up, down, paused monitors. |
| create_status_page | Create a public status page for selected monitors. |
| list_status_pages | List all status pages. |
| delete_status_page | Remove a status page. |
Minimal API surface
Two fields to create a monitor: name and url. No config files, no complex setup. Agents don't need to guess at required parameters.
Flat pricing
$10/mo for unlimited monitors. Agents can create monitors freely without worrying about per-monitor billing or usage caps beyond the free tier's 25.
Test endpoints included
Agents can verify their integration works using /test/healthy (always 200) and /test/unhealthy (always 500) without needing a real endpoint.
Deterministic responses
Every API response follows the same JSON format. Errors include human-readable messages. No HTML error pages, no ambiguous status codes.
Deploy-aware
Agents deploying code can suppress alerts with POST /monitors/:id/suppress and resume after verifying the deploy succeeded.
No auth overhead
Bearer token auth. No OAuth flows, no API key rotation, no scoped permissions to configure. One token does everything.
Once the MCP server is configured, try these prompts:
"Create a monitor for https://api.example.com/health"
"Show me all my monitors and their current status"
"Which monitors are currently down?"
"What's the 30-day uptime for my production API?"
"Pause alerts on staging for 15 minutes"
"Check if https://example.com is responding right now"
"Create a status page with my production monitors"
"Show me the last 10 checks for my payment API"
Free
No credit card required
Pro — $10/mo
$10/mo billed annually
Either works. The MCP server is a wrapper around the REST API that exposes tools in a format AI agents understand natively. If your agent supports MCP (Claude Code, Cursor, Windsurf, GitHub Copilot), use the MCP server for the best experience. If not, any agent that can make HTTP requests can call the API directly with curl or fetch.
Account creation requires clicking a magic link sent to your email, which needs human interaction. The recommended flow: sign up at app.uptimesignal.io, create an API token in Settings, then give the token to your agent. After that, the agent can manage everything independently.
Just name and url. Defaults: GET method, 5-min interval on free / 1-min on Pro, expects HTTP 200, email alerts on. No other uptime monitoring API accepts fewer parameters.
llms.txt has a complete endpoint listing with examples. llms-full.txt has the full API reference with all request/response formats. Both are plain text, optimized for LLM consumption.
Yes. Any agent that supports MCP can use the MCP server. Any agent that can make HTTP requests can use the REST API. The API returns JSON with consistent error formats, so it's straightforward for any programmatic client.
25 monitors free. No credit card required.
Also see: API Monitoring · Status Pages · Uptime Badges