MCP Server

OutageDeck

com.outagedeck/outagedeck-status
Cloud & Infrastructure Developer Tools Public & reachable MCP 2026-07-28

What this MCP does

Monitors cloud and SaaS provider status, incidents, uptime, outage history, custom providers, stack health, and alerts.

add_custom_provider
Add a custom provider
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.
Open world
Input schema
{'type': 'object', 'required': ['url'], '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.'}}, 'additionalProperties': False}
check_my_stack
Check a whole stack
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.
Read only Idempotent
Input schema
{'type': 'object', 'required': ['providers'], 'properties': {'providers': {'type': 'array', 'items': {'type': 'string'}, 'maxItems': 12, 'minItems': 1, 'description': 'Provider slugs, names, or product names, one per vendor the stack depends on.'}}, 'additionalProperties': False}
fetch
Fetch an OutageDeck document
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.
Read only Idempotent
Input schema
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'A document id returned by search, e.g., "provider:aws" or "incident:github-actions-delays-2026-07-31".'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['id', 'title', 'text', 'url'], 'properties': {'id': {'type': 'string'}, 'url': {'type': 'string'}, 'text': {'type': 'string'}, 'title': {'type': 'string'}, 'metadata': {'type': 'object', 'additionalProperties': {'type': 'string'}}}, 'additionalProperties': False}
get_incident_details
Get incident details
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.
Read only Idempotent
Input schema
{'type': 'object', 'required': ['incident'], 'properties': {'incident': {'type': 'string', 'description': 'Incident slug, e.g., from an earlier list_active_incidents result.'}}, 'additionalProperties': False}
get_outage_report
Get the cross-vendor outage report
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.
Read only Idempotent
Input schema
{'type': 'object', 'properties': {'days': {'type': 'integer', 'maximum': 90, 'minimum': 7, 'description': 'Trailing window in days (default 30).'}}, 'additionalProperties': False}
get_provider_status
Get provider status
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.
Read only Idempotent
Input schema
{'type': 'object', 'required': ['provider'], 'properties': {'provider': {'type': 'string', 'description': 'Provider slug, name, or product name, e.g., "aws", "GitHub", "chatgpt".'}}, 'additionalProperties': False}
get_uptime
Get uptime history
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.
Read only Idempotent
Input schema
{'type': 'object', 'required': ['provider'], 'properties': {'days': {'type': 'integer', 'maximum': 90, 'minimum': 7, 'description': 'Trailing window in days (default 30).'}, 'provider': {'type': 'string', 'description': 'Provider slug, name, or product name.'}}, 'additionalProperties': False}
list_active_incidents
List active incidents
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.
Read only Idempotent
Input schema
{'type': 'object', 'properties': {'severity': {'enum': ['minor', 'major', 'critical', 'maintenance'], 'type': 'string', 'description': 'Only incidents of this severity.'}}, 'additionalProperties': False}
list_custom_providers
List my 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.
Read only Idempotent
Input schema
{'type': 'object', 'properties': {}, 'additionalProperties': False}
remove_custom_provider
Remove a custom provider
Deletes one of the caller's custom providers and its stored incident history, freeing a slot on their plan. Requires an API key.
Destructive Idempotent
Input schema
{'type': 'object', 'required': ['provider'], 'properties': {'provider': {'type': 'string', 'description': "The custom provider's name or id."}}, 'additionalProperties': False}
search
Search OutageDeck
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.
Read only Idempotent
Input schema
{'type': 'object', 'required': ['query'], '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".'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['results'], 'properties': {'results': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'title', 'url'], 'properties': {'id': {'type': 'string'}, 'url': {'type': 'string'}, 'title': {'type': 'string'}}, 'additionalProperties': False}}}, 'additionalProperties': False}
search_providers
Search tracked providers
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.
Read only Idempotent
Input schema
{'type': 'object', 'required': ['query'], 'properties': {'query': {'type': 'string', 'description': 'Free-text search over provider names and aliases.'}}, 'additionalProperties': False}
update_custom_provider
Update a custom provider
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.
Open world Idempotent
Input schema
{'type': 'object', 'required': ['provider'], 'properties': {'url': {'type': 'string', 'description': 'New status page address.'}, 'name': {'type': 'string', 'description': 'New display name.'}, 'state': {'enum': ['active', 'paused'], 'type': 'string', 'description': 'Resume or pause its checks, which run about every 10 minutes.'}, 'provider': {'type': 'string', 'description': "The custom provider's name or id."}}, 'additionalProperties': False}
watch_provider
Watch a 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.
Idempotent
Input schema
{'type': 'object', 'required': ['provider'], 'properties': {'provider': {'type': 'string', 'description': "A tracked provider (slug, name, or product name) or one of the caller's own custom providers."}}, 'additionalProperties': False}
Added
fetch
Sept. 17, 2026, 12:36 p.m.
Added
search
Sept. 17, 2026, 12:36 p.m.
Added
watch_provider
Sept. 17, 2026, 12:36 p.m.
Added
remove_custom_provider
Sept. 17, 2026, 12:36 p.m.
Added
update_custom_provider
Sept. 17, 2026, 12:36 p.m.
Added
add_custom_provider
Sept. 17, 2026, 12:36 p.m.
Added
list_custom_providers
Sept. 17, 2026, 12:36 p.m.
Added
search_providers
Sept. 17, 2026, 12:36 p.m.
Added
get_outage_report
Sept. 17, 2026, 12:36 p.m.
Added
get_uptime
Sept. 17, 2026, 12:36 p.m.
Added
get_incident_details
Sept. 17, 2026, 12:36 p.m.
Added
list_active_incidents
Sept. 17, 2026, 12:36 p.m.
Added
check_my_stack
Sept. 17, 2026, 12:36 p.m.
Added
get_provider_status
Sept. 17, 2026, 12:36 p.m.