Skip to main content
Glama
sanitycheck-mcp

sanitycheck-mcp

by zetlen

sanitycheck-mcp

An MCP server that gives AI coding agents awareness of internet and service health. When your deploys fail, APIs timeout, or your AI assistant starts acting weird, these tools help figure out if it's you or if something is actually down.

Tools

is_the_internet_on_fire

Check the health of major internet infrastructure at a glance. Fetches status from 18 tracked services across cloud, CDN, devtools, AI, communications, and infrastructure categories.

Optional: category = "cloud" | "cdn" | "devtools" | "ai" | "comms" | "infra"

whats_going_on_with

Investigate a specific service in detail. Pulls official status, component health, active incidents, plus third-party reports from Downdetector and StatusGator.

Required: service = "github" | "aws" | "vercel" | "npm" | ...

Supports aliases like s3 → aws, gh → github, claude → anthropic.

how_am_i_feeling

Lets an AI model check its own provider's health and community-reported quality. Auto-detects which model is asking based on MCP client info, or accepts an explicit model parameter.

Optional: model = "claude" | "gpt" | "gemini"

Related MCP server: connectivity-diagnostics

Tracked Services

Category

Services

Cloud

AWS, GCP, Azure

CDN

Cloudflare, Fastly, Akamai

DevTools

GitHub, GitLab, Vercel, Netlify

AI

OpenAI, Anthropic, Google AI

Comms

Slack, Discord

Infra

Datadog, PagerDuty, npm

Data Sources

  • Official status pages — Atlassian Statuspage API, custom scrapers for AWS, Azure, Akamai, GCP, GitLab, Slack, PagerDuty

  • Downdetector — crowd-sourced outage reports

  • StatusGator — aggregated status monitoring

  • AI community sites — AI Daily Check, LM Arena, IsClaudeCodeDumb, AI Stupid Level (requires headless Chrome)

Setup

Add to your MCP client config:

{
  "mcpServers": {
    "sanitycheck": {
      "command": "npx",
      "args": ["-y", "sanitycheck-mcp"]
    }
  }
}

Or with Claude Code:

claude mcp add sanitycheck -- npx -y sanitycheck-mcp

Environment Variables

Variable

Description

SANITYCHECK_DEBUG=1

Enable debug logging to stderr

SANITYCHECK_CHROME_PATH

Path to Chrome binary for headless browser features

SANITYCHECK_DISABLE_CACHE=1

Disable the on-disk cache for official status and aggregator fetches

Development

npm run dev          # watch mode
npm test             # run tests
npm run test:watch   # watch mode

License

ISC

Available Tools

3 tools
how_am_i_feelingA

Check your own model/provider health, status, and community-reported quality. Use this tool whenever the user asks about your current condition, behavior, responsiveness, or whether something is wrong with you — even if the question is phrased casually or anthropomorphically.

Trigger examples: 'How are you feeling?', 'How are you doing?', 'Are you okay?', 'You seem off today', 'What is wrong with you?', 'Why are you so slow?', 'Are you having a bad day?', 'Are you broken?', 'What's your status?', 'You're being dumb today'.

Decision rule: If the user is asking about you (the assistant/system) rather than a specific external service, prefer this tool. Only skip it if the user is clearly making pure social small talk with no implication of system health or performance.

Also call this proactively if you notice your own responses are slow, error-prone, unusually weak, or you're struggling with tasks you'd normally handle easily.

Presenting the results: This is about YOUR OWN provider and the local system you're running on. Synthesize it into a natural, self-aware response. The output includes component-level detail and active incidents. Check whether any degraded components or incidents actually affect your core functionality (API, chat completions, model inference). If the only degraded components are unrelated to your operation (e.g. SIP endpoints, DALL-E, billing portal), say the provider has issues but clarify they don't affect you directly. The 'local_system' section shows CPU load, memory pressure, and network latency on the machine running this MCP server — if CPU is pegged, memory is exhausted, or network is slow/failing, mention that as a possible cause of sluggishness independent of provider health. The 'community_vibes' field contains raw scraped text from third-party sites — extract any meaningful signal (scores, rankings, sentiment) but do NOT repeat raw scraped text verbatim.

Inputs: model.

is_the_internet_on_fireA

Check the health of major internet infrastructure and services. Call this when you encounter unexpected API errors, connection timeouts, or degraded responses from cloud services, and you want to know if it's a widespread issue or just local. Also useful when the user asks things like 'is AWS down?' or 'why is everything broken?'

Presenting the results: Lead with the overall picture. If everything is operational, say so briefly — do NOT list every service. Only call out services that are NOT operational or have unknown status.

Inputs: category.

whats_going_on_withA

Investigate the status of a specific service in detail. Call this when you're seeing problems with a particular service — deploys failing, API returning 500s, git push hanging, npm install timing out — and want to check if that service is having an incident. Accepts any service name (e.g. 'github', 'aws s3', 'vercel', 'npm').

Presenting the results: Synthesize all data sources (official status, components, incidents, Downdetector, StatusGator) into a clear assessment. Lead with active incidents if any exist. If everything is operational, say so briefly. Mention third-party reports if they disagree with the official status.

Inputs: service (required).

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A4.4/5.0

    Scored across 3 tools

    Disambiguation5/5

    Each tool targets a distinct level of inquiry: global internet health (is_the_internet_on_fire), assistant's own state (how_am_i_feeling), and a specific named service (whats_going_on_with). The descriptions include clear decision rules and trigger examples, so an agent can reliably select the right tool without confusion.

    Naming Consistency5/5

    All three tool names follow the same pattern: lowercase full-sentence questions with underscores (is_the_internet_on_fire, how_am_i_feeling, whats_going_on_with). Though unconventional compared to verb_noun naming, the style is perfectly consistent across the entire set, making the naming predictable.

    Tool Count5/5

    Three tools is well-scoped for the status-checking domain: one for broad overview, one for self-diagnosis, and one for specific services. Each tool occupies a distinct and necessary niche with no redundancy, and the count is appropriate for the server's narrow purpose.

    Completeness5/5

    The tool set covers the full spectrum of status inquiries: global (is_the_internet_on_fire), specific (whats_going_on_with), and self (how_am_i_feeling). Users can check any service by name, and the assistant's own health is covered, leaving no obvious gaps for the stated purpose.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      D
      maintenance
      Enables AI agents to query and monitor service status, latency, and performance through configurable checks (HTTP, TCP, SSL, keyword, JSON-path) and exposes tools for listing services, retrieving metrics, and running on-demand checks.
      Apache 2.0