{"name":"down.guide","description":"Free outage feed: live status of ~400 cloud, SaaS and developer providers from their official status pages.","url":"https://down.guide","provider":{"organization":"Sazabi","url":"https://sazabi.com/?utm_source=down-guide&utm_medium=agent-json"},"mcp":{"url":"https://mcp.down.guide/mcp","transport":"streamable-http","auth":"none"},"api":{"openapi":"https://down.guide/openapi.json","base":"https://down.guide/api/v1","auth":"none"},"docs":{"llms":"https://down.guide/llms.txt","llmsFull":"https://down.guide/llms-full.txt","markdown":"Append .md to any page URL"},"feeds":{"rss":"https://down.guide/feed","atom":"https://down.guide/feed?format=atom","json":"https://down.guide/feed?format=json"},"skills":[{"name":"down-guide","url":"https://down.guide/.well-known/agent-skills/down-guide/SKILL.md"}],"capabilities":[{"name":"get_provider","description":"Is <provider> down? One provider's live state from its official status page (operational, degraded, partial_outage, major_outage, maintenance, or not_reporting when down.guide can't read the page), a one-line verdict, open incidents, early warnings (signs of a problem down.guide sees before the provider posts), 90 days of daily bars and reliability stats."},{"name":"list_feed","description":"The newest incidents across providers (14 days), newest first, open ones on top. Filters combine: provider, category, impact, region, component, level (early_warning, confirmed, not_acknowledged), kind (incident, maintenance, all), state (active or recent) and filter=major (major outages plus 30+ minute incidents at the 50 most-depended-on providers). History imported from provider archives is never listed."},{"name":"get_incident","description":"One incident by down.guide id (DWN-…): every update the provider posted, verbatim, down.guide's own evidence (probe regions, report and social counts, always labeled as ours), lead time, a model-written summary (labeled with the model), root cause and postmortem link when published, and the cascade event it belongs to."},{"name":"search","description":"Search incidents (400 days) and providers: the one tool for finding past and present incidents, by words or by fields. Pass q (free text plus query keys: provider:, category:, impact:, region:, component:, level:, state:, kind:, started: (>30d, 2026-10, <2026-01-01), duration: (>2h), has: (rca, summary, lead, event), cause: (deploy_config, dns, network, certificate, capacity, upstream, datacenter, security), event:, sort: (relevance, started, duration, index); terms are ANDed, commas OR values, a leading - excludes), the typed parameters, or both: each parameter is ANDed with q as its key term. With no words, results are newest first, so provider: [\"github\"] lists GitHub's newest incidents. Words match whole words and their English forms, a misspelled word also matches the closest indexed names (githb finds GitHub), and \"last week\" or \"past month\" read as a started: bound. Each result's match says why it matched: the fields each word hit (provider, title, summary, components, updates), the names a misspelled word was also searched as (alsoAs), and the key terms it meets. query echoes what ran, facets counts every match by provider, category, impact, level, kind and state, and problems lists anything the query couldn't use (a query with problems returns no results). With no matches, suggestions lists broader queries that do match; an empty answer is not evidence that nothing happened. Pass next_cursor back as cursor for the next page."},{"name":"check_stack","description":"Which providers a project depends on, and whether any has a problem now. Pass manifest_content: the contents of a package.json, any lockfile, requirements.txt, go.mod, Gemfile, Terraform, docker-compose, a .env file (only variable names are read) or a list of domains (manifest_name, the file name, is optional and only breaks ties); providers: slugs; or stack_id: the id of a stack saved with POST https://down.guide/api/stack (the same body as /api/v1/check; only the provider slugs are kept). They combine. Returns each provider with the reasons it matched, live state, open incidents and a feed URL for exactly that stack. manifest_content is not stored. No providers matched means none found, not that the project has no providers."},{"name":"check_dependency","description":"One dependency to the providers behind it and their live state: a package name (openai, npm:@aws-sdk/client-s3, pypi:stripe), an API host (api.github.com), an environment variable name (STRIPE_SECRET_KEY), a Terraform provider or resource, a container image or a provider name."},{"name":"get_leaderboard","description":"The Down Index: a week's worst incidents scored 0-100 (impact 30, breadth 20, duration 15, reach 20, acknowledgement 15; maintenance and narrow-scope incidents excluded), or with view=reliability the monthly ranking (minutes per impact, incident count, median time to resolve, median acknowledgement lag, postmortem rate)."},{"name":"send_feedback","description":"Send a note to the people who run down.guide: a wrong provider mapping, a missing provider, a bad summary. Not public."},{"name":"report_outage","description":"Report that a provider isn't working for you (or for the agent's user) right now. Reports count only in aggregate against the provider's own baseline, are deduplicated per caller per 10 minutes, and alone never make a public claim."},{"name":"report_affected","description":"Say an existing incident affects you. Counted in aggregate on the incident page, deduplicated per caller per 10 minutes."}]}