> npx -y outage-mcp
// NAME
outage-mcp - let your AI answer "is it down?" with data instead of vibes
// SYNOPSIS
An MCP server that plugs What Broke Today into Claude, Cursor, Windsurf, and anything else that speaks Model Context Protocol. Live incidents from 149 status pages, AI summaries included. No API keys, no signup, no telemetry. Connect it with a URL, or run it locally from npm.
You: Is GitHub down right now?
Claude: GitHub has 1 active incident: [MAJOR] Git operations degraded...
first seen 14:02 UTC. Details: whatbroke.today/incident/...
// CONNECT IT (START HERE)
This is the whole install. Copy the URL:
https://whatbroke.today/mcp/server
In Claude, open
Settings → Connectors → Add custom connector,
paste it in, give it a name like Outages, and save. Then start a
new chat and ask "is anything down right now?"
No API key, no OAuth, no signup. The data is public and the server is read-only, so there is nothing to authorize and nothing you can break. Same URL works on web, desktop, and mobile, and on any other client that accepts a remote MCP URL.
// CLAUDE CODE
One command, same hosted server:
claude mcp add --transport http outage https://whatbroke.today/mcp/server
// CURSOR / WINDSURF / EVERYTHING ELSE
Anything that takes a remote MCP URL takes this one. For clients that still want a local stdio process instead, the same five tools ship as an npm package:
npx -y outage-mcp
// TOOLS
whats_down- "What's broken right now?" Active incidents first, then recently resolved.check_service- "Is Stripe down?" Status and recent history for one service.get_incident- Full detail for one incident by slug or id.outage_stats- "What broke most this week?" The leaderboard, machine-readable.list_services- All 149 services being monitored.
// TWO WAYS TO RUN IT
Hosted at
/mcp/server — Streamable HTTP, stateless, reads the incident
database directly. Nothing to install and no per-IP API rate limit, because
it is not going through the public API.
Local via npx outage-mcp — a Node
process on your machine that calls the public JSON API. That API is limited to
5 requests/min per IP, so the package caches responses for 60 seconds.
Same five tools either way. Use the hosted one unless you specifically want the traffic coming from your own machine.
// NOTES
Severity resolved or info means the incident is closed.
Everything else is treated as active. Incidents that go 24 hours without a provider
update are auto-closed and labelled as such, so a stale incident will not sit
"active" forever.
// SOURCE
--github
github.com/reshadat/outage-mcp - MIT licensed, PRs welcome.
--npm
npmjs.com/package/outage-mcp
// SEE ALSO
how-it-works(7), api(3), is-it-us-or-them(1)