devops-status-mcp-server

v0.2.3 pre-1.0

Check vendor status pages, inspect SSL/TLS certificates, verify DNS propagation, and get incident-response playbooks via MCP. STDIO or Streamable HTTP.

devops-status.caseyjhand.com/mcp
claude mcp add --transport http devops-status-mcp-server https://devops-status.caseyjhand.com/mcp
codex mcp add devops-status-mcp-server --url https://devops-status.caseyjhand.com/mcp
{
  "mcpServers": {
    "devops-status-mcp-server": {
      "url": "https://devops-status.caseyjhand.com/mcp"
    }
  }
}
gemini mcp add --transport http devops-status-mcp-server https://devops-status.caseyjhand.com/mcp
{
  "mcpServers": {
    "devops-status-mcp-server": {
      "command": "bunx",
      "args": [
        "mcp-remote",
        "https://devops-status.caseyjhand.com/mcp"
      ]
    }
  }
}
{
  "mcpServers": {
    "devops-status-mcp-server": {
      "type": "http",
      "url": "https://devops-status.caseyjhand.com/mcp"
    }
  }
}
curl -X POST https://devops-status.caseyjhand.com/mcp \
  -H "Content-Type: application/json" \
  -H "MCP-Protocol-Version: 2025-11-25" \
  -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-11-25","capabilities":{},"clientInfo":{"name":"curl","version":"1.0.0"}}}'

Tools

7

devops_list_vendors

List vendors in the built-in registry, optionally filtered by category or name search. Returns slug, display name, category, and Statuspage base URL for each entry. Use to discover the correct slug to pass to other tools, or to see which vendors are available before configuring a stack.

read
invocation
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "devops_list_vendors",
    "arguments": {}
  }
}
schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "query": {
      "description": "Free-text search against vendor name and slug. Case-insensitive. E.g., \"cloud\", \"auth\", \"slack\".",
      "type": "string"
    },
    "category": {
      "description": "Filter to one category: cloud, cdn-edge, dev-platform, data, comms, auth, monitoring, or ai.",
      "type": "string",
      "enum": [
        "cloud",
        "cdn-edge",
        "dev-platform",
        "data",
        "comms",
        "auth",
        "monitoring",
        "ai"
      ]
    }
  },
  "additionalProperties": false
}
view source ↗

devops_status_check

open-world

Check the current health status for one or more vendors. Accepts registered vendor slugs (e.g., "github", "cloudflare") or raw Statuspage base URLs. Returns per-vendor operational indicator (none = all clear, minor, major, critical), degraded components, and active incidents. Use mode: "detailed" for full component lists and maintenance windows. Batch-friendly — pass a list to check your full stack in one call.

read
invocation
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "devops_status_check",
    "arguments": {
      "vendors": "<vendors>"
    }
  }
}
schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "vendors": {
      "minItems": 1,
      "maxItems": 20,
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "description": "A vendor slug (e.g., \"github\") or raw Statuspage base URL."
      },
      "description": "Vendor slugs from the built-in registry (e.g., \"github\", \"cloudflare\") or raw Statuspage base URLs. Mix freely. Use devops_list_vendors to discover available slugs."
    },
    "mode": {
      "default": "summary",
      "description": "summary: indicator + degraded components + active incidents only. detailed: adds full component list and scheduled maintenance windows.",
      "type": "string",
      "enum": [
        "summary",
        "detailed"
      ]
    }
  },
  "required": [
    "vendors",
    "mode"
  ],
  "additionalProperties": false
}
view source ↗

devops_get_incidents

open-world

Fetch incident history and scheduled maintenance windows for a vendor. Returns full incident timeline — each investigator update, affected components, and resolution. Filter by status to focus on active incidents (use before deploy), resolved history (for postmortem), or upcoming maintenance windows.

read
invocation
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "devops_get_incidents",
    "arguments": {
      "vendor": "<vendor>"
    }
  }
}
schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "vendor": {
      "type": "string",
      "minLength": 1,
      "description": "Vendor slug (e.g., \"github\") or raw Statuspage base URL. Use devops_list_vendors to find slugs."
    },
    "filter": {
      "default": "all",
      "description": "all: incidents plus scheduled maintenances. active: only incidents with status investigating/identified/monitoring. resolved: only fully resolved incidents. scheduled: only scheduled maintenance windows.",
      "type": "string",
      "enum": [
        "all",
        "active",
        "resolved",
        "scheduled"
      ]
    },
    "limit": {
      "default": 20,
      "description": "Maximum incidents to return. Statuspage returns at most 50 per call. Use a lower limit for recent-history queries.",
      "type": "integer",
      "minimum": 1,
      "maximum": 50
    }
  },
  "required": [
    "vendor",
    "filter",
    "limit"
  ],
  "additionalProperties": false
}
view source ↗

devops_watch_stack

open-world

Check the health of a named vendor stack — a saved list of vendors representing your infrastructure dependencies. On the first call, provide vendors to define the stack; subsequent calls can omit vendors to reuse the persisted list. Returns a unified health snapshot with an aggregate rollup plus per-vendor detail. Ideal for morning status checks or pre-deploy sweeps. Multiple stacks can coexist (e.g., "production", "staging").

read
invocation
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "devops_watch_stack",
    "arguments": {}
  }
}
schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "vendors": {
      "description": "Vendor slugs or raw Statuspage URLs. When provided, saves this list as the stack. When omitted, uses the previously saved list for stack_name.",
      "type": "array",
      "items": {
        "type": "string",
        "description": "A vendor slug (e.g., \"github\") or raw Statuspage base URL."
      }
    },
    "stack_name": {
      "default": "default",
      "description": "Name for this vendor stack. Defaults to \"default\". Use distinct names to manage multiple stacks (e.g., \"production\", \"data-layer\").",
      "type": "string"
    },
    "mode": {
      "default": "summary",
      "description": "summary: indicator + degraded components + active incidents. detailed: adds full component lists and maintenance windows.",
      "type": "string",
      "enum": [
        "summary",
        "detailed"
      ]
    }
  },
  "required": [
    "stack_name",
    "mode"
  ],
  "additionalProperties": false
}
view source ↗

devops_check_certs

open-world

Inspect SSL/TLS certificate health for one or more domains by performing a real TLS handshake. Works for any internet-accessible domain — no vendor registry required. Reports days to expiry (flagged at < 30 days warning and < 7 days critical), certificate subject and SANs, issuer, chain depth, TLS protocol version negotiated (flags TLS 1.0/1.1 as insecure), cipher suite, and HSTS presence.

read
invocation
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "devops_check_certs",
    "arguments": {
      "domains": "<domains>"
    }
  }
}
schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "domains": {
      "minItems": 1,
      "maxItems": 10,
      "type": "array",
      "items": {
        "type": "string",
        "pattern": "^[a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(\\.[a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$",
        "description": "Domain name without protocol (e.g., \"api.github.com\", \"example.com\")."
      },
      "description": "Domains to inspect. Do not include \"https://\" — pass the bare hostname. Up to 10 per call."
    },
    "port": {
      "default": 443,
      "description": "TLS port. Defaults to 443. Use 8443 or custom ports for non-standard HTTPS endpoints.",
      "type": "integer",
      "minimum": 1,
      "maximum": 65535
    },
    "timeout_ms": {
      "default": 5000,
      "description": "Connection timeout per domain in milliseconds. Increase for slow or geographically distant endpoints.",
      "type": "integer",
      "minimum": 1000,
      "maximum": 15000
    }
  },
  "required": [
    "domains",
    "port",
    "timeout_ms"
  ],
  "additionalProperties": false
}
view source ↗

devops_check_dns

open-world

Resolve DNS records and verify propagation for one or more domains across multiple public resolvers. Works for any domain — no vendor registry required. Reports records found (A/AAAA/CNAME/MX/TXT/NS), resolution latency per resolver, and discrepancies between resolvers (propagation gaps).

read
invocation
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "devops_check_dns",
    "arguments": {
      "domains": "<domains>"
    }
  }
}
schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "domains": {
      "minItems": 1,
      "maxItems": 10,
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "description": "A domain name to query (e.g., \"github.com\", \"api.example.com\")."
      },
      "description": "Domain names to query. Up to 10 per call."
    },
    "record_types": {
      "default": [
        "A",
        "AAAA",
        "MX",
        "TXT"
      ],
      "description": "DNS record types to resolve. Defaults to A, AAAA, MX, and TXT. Add NS to check nameserver delegation. Add CNAME when investigating redirect chains.",
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "A",
          "AAAA",
          "CNAME",
          "MX",
          "TXT",
          "NS"
        ]
      }
    },
    "resolvers": {
      "default": [
        "8.8.8.8",
        "1.1.1.1",
        "9.9.9.9"
      ],
      "description": "Resolver IP addresses to query. Defaults to Google (8.8.8.8), Cloudflare (1.1.1.1), and Quad9 (9.9.9.9). Add custom resolvers to check internal DNS or test resolver-specific behavior.",
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "description": "A resolver IP address (e.g., \"8.8.8.8\")."
      }
    },
    "timeout_ms": {
      "default": 3000,
      "description": "Query timeout per domain+resolver combination in milliseconds.",
      "type": "integer",
      "minimum": 1000,
      "maximum": 10000
    }
  },
  "required": [
    "domains",
    "record_types",
    "resolvers",
    "timeout_ms"
  ],
  "additionalProperties": false
}
view source ↗

devops_suggest_action

Return an incident-response playbook tailored to a vendor degradation, with pre-filled follow-up tool calls. Synthesizes category-specific guidance (cloud, CDN, dev-platform, auth, etc.) from built-in incident knowledge and the provided context. Use after devops_status_check or devops_get_incidents surfaces a problem to determine what to investigate next.

read
invocation
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "devops_suggest_action",
    "arguments": {
      "vendor": "<vendor>"
    }
  }
}
schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "vendor": {
      "type": "string",
      "minLength": 1,
      "description": "Vendor slug or display name (e.g., \"cloudflare\", \"github\"). Used to tailor category-specific guidance (CDN outage vs. CI/CD outage vs. auth provider outage)."
    },
    "incident_summary": {
      "description": "Latest incident description or update body from devops_get_incidents. Paste the most recent update to get more targeted advice.",
      "type": "string"
    },
    "affected_components": {
      "description": "Component names affected (from devops_status_check degraded_components or devops_get_incidents affected_components). Used to tailor suggestions to the impacted subsystem.",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "your_domain": {
      "description": "Your own domain or service URL. When provided, nextToolSuggestions will be pre-filled with your domain for cert and DNS checks.",
      "type": "string"
    }
  },
  "required": [
    "vendor"
  ],
  "additionalProperties": false
}
view source ↗

Resources

1

Full registry entry for a vendor by slug — Statuspage base URL, category, and API type. Read-only, stable. Use devops_list_vendors to discover available slugs.

uri devops-status://vendors/{name} mime application/json