outage-mcp
Monitors Cloudflare's service status and provides incident details and outage information.
Monitors GitHub's service status and provides incident details, including ongoing incidents and history.
Monitors Stripe's service status and provides incident details and outage information.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@outage-mcpIs GitHub down right now?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
outage-mcp
Ask your AI if Cloudflare is down.
An MCP server that gives Claude, Cursor, and any MCP client live outage data from whatbroke.today, which monitors 100+ service status pages continuously. No API keys, no signup.
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/...Install
Claude Desktop / Claude Code — add to your MCP config:
{
"mcpServers": {
"outage": {
"command": "npx",
"args": ["-y", "outage-mcp"]
}
}
}Claude Code one-liner:
claude mcp add outage -- npx -y outage-mcpWorks the same in Cursor, Windsurf, and any MCP-capable client.
Related MCP server: downdetector-mcp
Tools
Tool | What it answers |
| "What's broken right now?" Active incidents first, then recently resolved. |
| "Is Stripe down?" Status and recent history for one service. |
| Full detail for one incident, including AI root-cause analysis when available. |
| "What broke most this week?" Leaderboard and totals. |
| The 100+ services being monitored. |
Notes
Data comes from whatbroke.today, which aggregates official status pages and adds AI summaries and RCAs.
The upstream API is rate-limited to 5 requests/min per IP; this server caches responses for 60 seconds, which in practice keeps you under it.
Severity
resolvedmeans the provider closed the incident. Everything else is treated as active.
Development
git clone https://github.com/reshadat/outage-mcp
cd outage-mcp
npm install
npm run build
node dist/index.js # speaks MCP over stdioMIT. Built by Reshadat Ali between 10pm and 1am.
Available Tools
4 toolscheck_serviceA
Check the outage status and recent incident history of a specific service (e.g. cloudflare, github, aws, openai, stripe).
| Name | Required | Description | Default |
|---|---|---|---|
| service | Yes | Service name, e.g. 'cloudflare' or 'github' |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations, but description clearly indicates a read operation without side effects. Does not contradict any structured data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, front-loaded with purpose, no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Adequate for a simple tool with one parameter and no output schema. Could mention output format or freshness, but not critical.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers 100% of parameter description. Description adds examples but no new semantics beyond what schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clear verb 'Check' and resource 'outage status and recent incident history of a specific service' with examples. Distinguishes from siblings like get_incident and list_services.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implied usage for checking a specific service's outage status, but no explicit guidance on when to use vs siblings or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_incidentA
Get full detail for one incident by its slug or numeric id, including the AI root-cause analysis when available.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Incident slug or id, as returned by whats_down / check_service |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations; description adds that it includes AI root-cause analysis when available, but doesn't address auth, rate limits, or side effects (though it's a read operation).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, no unnecessary words, front-loaded with action and resource.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple single-param read tool, description covers purpose and key output detail (AI analysis) but could mention that output is an incident object.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers 100%; description adds meaning that 'slug' can be slug or numeric id and clarifies origin from sibling tool outputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clear verb 'get' with specific resource 'incident' by slug/id, and distinguishes from siblings like 'check_service' by focusing on incident detail.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Specifies input source (slug from whats_down/check_service) and that it provides full detail including AI analysis, but lacks explicit when-not or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_servicesA
List all services monitored for outages, with lifetime incident counts.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully convey behavioral traits. It states that it lists services with incident counts, implying a read operation with aggregated data. However, it does not explicitly confirm it is read-only, nor disclose any potential side effects, rate limits, or data freshness considerations. Basic transparency, but lacking explicit safety cues.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, concise and front-loaded with the core action 'List all services'. Every word adds value, with no redundancy or fluff. Ideal length for a simple tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description adequately indicates the return type: services with incident counts. The tool is simple with no parameters, so the description covers the essential behavior. Could marginally improve by clarifying the default sort order or whether it includes all services regardless of status, but it is sufficiently complete for the complexity level.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so schema description coverage is 100% (trivially). The description adds no parameter details because none are needed. It correctly describes what the tool does without requiring parameter explanations. This meets the baseline and exceeds it by being perfectly sufficient for a parameterless tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'List all services monitored for outages, with lifetime incident counts.' It specifies the verb 'list', the resource 'services', and the scope 'all monitored' with additional detail 'incident counts'. This distinguishes it from siblings like 'check_service' (targets a specific service) and 'whats_down' (likely current status only).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when/when-not advice or alternatives are given. The purpose is clear enough to infer usage, but the description does not guide the agent on when to prefer this over 'whats_down' or other list variants. Implicit usage is adequate but not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
whats_downA
Check what services are having outages or incidents right now. Returns active incidents first, then recently resolved ones.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max incidents to return |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses that it returns active incidents first then resolved, which is behavioral. No annotations are provided, so description carries full burden, but it doesn't explicitly state read-only nature or idempotency. However, 'Check' suggests read-only.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, concise, front-loaded with key info, no fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Explains ordering but omits detail on incident fields returned. With no output schema, description should compensate more.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and description adds no additional meaning to the limit parameter beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses specific verb 'Check' with resource 'outages or incidents', and specifies ordering (active first). It distinguishes from sibling tools check_service, get_incident, list_services by focusing on current incidents.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies usage for current status overview, but does not explicitly state when to use vs check_service for specific service or get_incident for details.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
4 tool updates
v0.1.1- First observed
check_service - First observed
get_incident - First observed
list_services - First observed
whats_down
TDQS
Each tool targets a distinct query: check_service for a specific service's history, get_incident for incident details, list_services for the service catalog, and whats_down for current active outages. There is no confusion.
Three tools follow verb_noun pattern (check_service, get_incident, list_services), but 'whats_down' breaks the pattern with informal phrasing and no underscore.
4 tools is well-scoped for an outage monitoring server, covering the essential operations without unnecessary bloat.
The server covers the main use cases: listing services, checking specific history, current outages, and incident details. However, it lacks a global incident list or ability to search incidents across services, which is a minor gap.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Live service status, active incidents, search, and outage history from Downtester.
Check real-time uptime and incident status for 275+ APIs and cloud services.
Is GitHub, npm, Cloudflare or your AI provider down right now? 20 status pages, one call.
Real-time status for 75+ AI services (OpenAI, Anthropic, Cursor). No auth, CORS-enabled.
Related MCP Servers
- AlicenseCqualityBmaintenanceMonitor the real-time status of 200+ popular APIs and services. Check if services like GitHub, Stripe, AWS, and Slack are experiencing outages or degraded performance directly from your AI assistant.5231MIT
- AlicenseAqualityAmaintenanceThis server enables checking real-time service status and outage information from Downdetector for various services and regions.1552MIT
- AlicenseAqualityBmaintenanceLive operational status for 2,400+ major software services — AWS, GitHub, Stripe, OpenAI, Cloudflare, and more — pulled from each provider's official status page and returned as a normalised up / degraded / down result for any service you ask about.51MIT
- FlicenseNot gradedqualityDmaintenanceEnables management of Atlassian Statuspage incidents, components, and subscribers through natural language.-
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/reshadat/outage-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server