OutageDeck
Live status for 172 cloud and SaaS vendors from their official feeds. Is it you, or is it them?
Should I use this
Quality & Safety
Findings (1)
- LOWin fetch
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"outagedeck-status": {
"url": "https://outagedeck.com/api/mcp"
}
}
}Remote endpoints
https://outagedeck.com/api/mcpstreamable-httpWhat it can do
Tool inventory
Tools (14)
🟢get_provider_status(provider)
Live status for one tracked provider: overall state, non-operational services, and open incidents, read from the vendor's official status feed. Accepts a slug, provider name, or product name (e.g., "claude" resolves to Anthropic). Use this first for any "is X down?" question.
Input Schema
{
"type": "object",
"properties": {
"provider": {
"type": "string",
"description": "Provider slug, name, or product name, e.g., \"aws\", \"GitHub\", \"chatgpt\"."
}
},
"required": [
"provider"
],
"additionalProperties": false
}🟢check_my_stack(providers)
One verdict across up to 12 providers: whether any vendor in the list is reported as having a problem right now. Use before debugging an integration failure to answer "is it us or them?" in a single call. Returns a shareable status-board link and a prefilled alert setup link.
Input Schema
{
"type": "object",
"properties": {
"providers": {
"type": "array",
"items": {
"type": "string"
},
"minItems": 1,
"maxItems": 12,
"description": "Provider slugs, names, or product names, one per vendor the stack depends on."
}
},
"required": [
"providers"
],
"additionalProperties": false
}🟢list_active_incidents(severity)
Every incident currently open across all tracked providers, most severe first. Optionally filter by severity (critical, major, minor, maintenance). Use to answer "what is down right now?" across the whole cloud landscape.
Input Schema
{
"type": "object",
"properties": {
"severity": {
"type": "string",
"enum": [
"minor",
"major",
"critical",
"maintenance"
],
"description": "Only incidents of this severity."
}
},
"additionalProperties": false
}🟢get_incident_details(incident)
Full detail for one incident: updates from the official incident source in chronological order, the services OutageDeck matched to it, severity, and resolution state. Pass the incident slug returned by list_active_incidents or get_provider_status. Use to read what the official source has actually said about an outage.
Input Schema
{
"type": "object",
"properties": {
"incident": {
"type": "string",
"description": "Incident slug, e.g., from an earlier list_active_incidents result."
}
},
"required": [
"incident"
],
"additionalProperties": false
}🟢get_uptime(provider, days)
Independent uptime record for one provider over a trailing window (7-90 days, default 30), computed from OutageDeck's own observations of the vendor's official feed: share of time free of major outages, strict uptime with partial outages counted as downtime, and total impaired durations.
Input Schema
{
"type": "object",
"properties": {
"provider": {
"type": "string",
"description": "Provider slug, name, or product name."
},
"days": {
"type": "integer",
"minimum": 7,
"maximum": 90,
"description": "Trailing window in days (default 30)."
}
},
"required": [
"provider"
],
"additionalProperties": false
}🟢get_outage_report(days)
A reliability summary across every tracked provider over a trailing window (7-90 days, default 30): incident totals, severity and category breakdowns, the providers hit hardest by major outages, and the longest-running severe incidents. Use to answer "which vendors had outages recently?" or to compare vendor reliability.
Input Schema
{
"type": "object",
"properties": {
"days": {
"type": "integer",
"minimum": 7,
"maximum": 90,
"description": "Trailing window in days (default 30)."
}
},
"additionalProperties": false
}🟢search_providers(query)
Find tracked providers by name, product name, or fragment ("postgres", "auth", "claude"). Returns slugs to use with the other tools plus each match's current status. Use when a provider argument did not resolve or to discover what OutageDeck tracks.
Input Schema
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Free-text search over provider names and aliases."
}
},
"required": [
"query"
],
"additionalProperties": false
}🟢list_custom_providers
Lists the custom providers on the caller's own OutageDeck account: vendors they registered themselves by pointing at a status feed we do not track in the public catalog. Requires an API key, and only ever returns that key owner's providers.
Input Schema
{
"type": "object",
"properties": {},
"additionalProperties": false
}🟡add_custom_provider(url, name)
Registers a vendor OutageDeck does not track by pointing at its Statuspage or Instatus status page, so it joins the caller's account with live status, incident history, and alerting. Requires an API key and a plan that includes custom providers. The feed is read live before anything is saved, and it must be reachable from the public internet. Feeds behind authentication are set up on the account page instead, so credentials never travel through a conversation.
Input Schema
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "The vendor's status page address, for example https://status.yourvendor.com."
},
"name": {
"type": "string",
"description": "Optional display name. Defaults to the name the status page publishes."
}
},
"required": [
"url"
],
"additionalProperties": false
}🟡update_custom_provider(provider, name, url, state)
Renames one of the caller's custom providers, points it at a different status page, or pauses and resumes its checks. Requires an API key. A new address is read live before it is stored.
Input Schema
{
"type": "object",
"properties": {
"provider": {
"type": "string",
"description": "The custom provider's name or id."
},
"name": {
"type": "string",
"description": "New display name."
},
"url": {
"type": "string",
"description": "New status page address."
},
"state": {
"type": "string",
"enum": [
"active",
"paused"
],
"description": "Resume or pause its checks, which run about every 10 minutes."
}
},
"required": [
"provider"
],
"additionalProperties": false
}🔴remove_custom_provider(provider)
Deletes one of the caller's custom providers and its stored incident history, freeing a slot on their plan. Requires an API key.
Input Schema
{
"type": "object",
"properties": {
"provider": {
"type": "string",
"description": "The custom provider's name or id."
}
},
"required": [
"provider"
],
"additionalProperties": false
}🟡watch_provider(provider)
Starts sending the caller outage alerts for one provider, either from the tracked catalog or from their own custom providers. Requires an API key. Alerts are emailed to the account address; the other channels (Slack, Teams, Discord, webhook) are set up on the account page, so no webhook URL ever has to be shared in a conversation.
Input Schema
{
"type": "object",
"properties": {
"provider": {
"type": "string",
"description": "A tracked provider (slug, name, or product name) or one of the caller's own custom providers."
}
},
"required": [
"provider"
],
"additionalProperties": false
}🟢search(query)
Search everything OutageDeck tracks: cloud and SaaS providers, and their incident history. Returns citable results with stable ids for the fetch tool. Use for open questions like "who had outages last week" or "find the GitHub Actions incident"; use get_provider_status when the question is simply whether one named vendor is down right now.
Input Schema
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "What to look for: a vendor name, a product, or words from an incident title, e.g., \"cloudflare\", \"elevated error rates\"."
}
},
"required": [
"query"
],
"additionalProperties": false
}Output Schema
{
"type": "object",
"properties": {
"results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"title": {
"type": "string"
},
"url": {
"type": "string"
}
},
"required": [
"id",
"title",
"url"
],
"additionalProperties": false
}
}
},
"required": [
"results"
],
"additionalProperties": false
}🟢fetch(id)
Retrieve the full text of one search result by its id: a provider's current status with its services and open incidents, or an incident's complete timeline. Ids come from the search tool.
Input Schema
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "A document id returned by search, e.g., \"provider:aws\" or \"incident:github-actions-delays-2026-07-31\"."
}
},
"required": [
"id"
],
"additionalProperties": false
}Output Schema
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"title": {
"type": "string"
},
"text": {
"type": "string"
},
"url": {
"type": "string"
},
"metadata": {
"type": "object",
"additionalProperties": {
"type": "string"
}
}
},
"required": [
"id",
"title",
"text",
"url"
],
"additionalProperties": false
}Community
Evidence