Give your AI agent eyes on production: uptime monitoring over MCP
Updated 8 August 2026 · by Cassian Wei · 3 min read
Agents ship code, deploy services, and run long unattended loops — and then have no
idea whether any of it is still alive. An agent can curl a URL once, but it can't watch
it every minute, alert a human at 3am, or notice that its own loop stopped running. That's what a
monitoring service is for, and the Model Context Protocol is how an agent gets one as a
first-class tool.
Why an agent needs an outside monitor
- An agent can't see itself die. If the loop crashes, the process that would have noticed the crash is the one that's gone. Detection has to live outside — the same dead-man's-switch logic as cron jobs.
- One-shot checks aren't monitoring. A URL that answered once at deploy time says nothing about an hour later. Continuous checks with alerting are a service, not a tool call.
- Humans need to be in the alert path. When the site goes down at 3am, the fix may be an agent's job, but a human should hear about it through channels they actually watch — email, Slack, Discord, phone push.
What MCP gives you
MCP (Model Context Protocol) is an open standard that lets agent runtimes — Claude Desktop, Claude Code, Cursor, and a growing list of others — call external tools over JSON-RPC. Instead of teaching your agent to compose REST calls from docs, you point it at an MCP server and it discovers typed, described tools it can call directly.
Watchpup runs a native MCP server at https://watchpup.watchpup.workers.dev/mcp — Streamable HTTP,
stateless, no OAuth dance: authentication is your API key in a header. It exposes 12 tools:
- Look:
check_url(is this URL up right now — works with no account),list_monitors,get_monitor,get_status_page(read any public status page — also keyless),get_account. - Act:
create_monitor(http, tcp, tls-expiry, domain-expiry, dns, heartbeat),update_monitor(incl. pause/resume),delete_monitor. - Respond:
list_incidents,ack_incident("someone is on it" — pauses reminder alerts),add_incident_note(postmortems, published to your status page),list_channels.
Connect it (one config block)
# Claude Code
claude mcp add --transport http watchpup https://watchpup.watchpup.workers.dev/mcp \
--header "Authorization: Bearer wp_YOUR_KEY"
# Cursor / Claude Desktop / generic mcpServers config
{
"mcpServers": {
"watchpup": {
"url": "https://watchpup.watchpup.workers.dev/mcp",
"headers": { "Authorization": "Bearer wp_YOUR_KEY" }
}
}
}
No key yet? check_url and get_status_page work anyway (10/hour per IP),
and every other tool answers with signup instructions — one POST /api/signup — so an
agent can bootstrap its own account end to end without a human in the loop.
Patterns worth stealing
- Heartbeat your agent loop. Create a heartbeat monitor for the agent itself and have it ping after each successful cycle. Loop dies → humans get alerted. This one closes the "who watches the watcher" hole.
- Monitor what you deploy, at deploy time. End every deploy task with
create_monitoron the new endpoint. Monitoring that's part of the deploy step never gets forgotten. - Use a read-only key for investigation agents. A read-only API key lets an agent read monitors and incidents but not delete anything — MCP honors the same key rules as the REST API.
- Ack and annotate through the agent. When your agent starts working an incident,
ack_incidentsilences the reminder spam; when it's fixed,add_incident_notewrites the postmortem your status-page visitors see.
Safety notes
Every MCP tool call goes through the exact same validation, rate limits and ownership checks as the
REST API — an agent can't do anything your key can't. Mutations are tagged mcp in your
account's activity log, so you can always audit what the agent changed. delete_monitor is
flagged destructive in its tool annotations, so well-behaved runtimes ask a human first.
Prefer raw HTTP? The same server speaks plain JSON-RPC to curl, and everything MCP does
is also on the REST API (OpenAPI spec,
llms.txt quickstart). Full details: MCP docs.
Watchpup is free uptime & cron monitoring — 1-minute checks, heartbeats, TLS/domain expiry, status pages, alerts everywhere. Sign up, try the live demo, or read more guides.