Install
$ agentstack add mcp-cyanheads-devops-status-mcp-server ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ● Environment & secrets Used
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
@cyanheads/devops-status-mcp-server Check vendor status pages, inspect SSL/TLS certificates, verify DNS propagation, and get incident-response playbooks via MCP. STDIO or Streamable HTTP. 7 Tools • 1 Resource
[](./CHANGELOG.md) [](./LICENSE) [](https://github.com/users/cyanheads/packages/container/package/devops-status-mcp-server) [](https://modelcontextprotocol.io/) [](https://www.npmjs.com/package/@cyanheads/devops-status-mcp-server) [](https://www.typescriptlang.org/) [](https://bun.sh/)
[](https://github.com/cyanheads/devops-status-mcp-server/releases/latest/download/devops-status-mcp-server.mcpb) [](https://cursor.com/en/install-mcp?name=devops-status-mcp-server&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsIkBjeWFuaGVhZHMvZGV2b3BzLXN0YXR1cy1tY3Atc2VydmVyIl19) [](https://vscode.dev/redirect?url=vscode:mcp/install?%7B%22name%22%3A%22devops-status-mcp-server%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22%40cyanheads%2Fdevops-status-mcp-server%22%5D%7D)
[](https://www.npmjs.com/package/@cyanheads/mcp-ts-core)
Public Hosted Server: https://devops-status.caseyjhand.com/mcp
Tools
Seven tools in three capability groups — vendor status (50 built-in vendors across Atlassian Statuspage, Status.io, Slack, AWS Health, and Firehydrant backends, normalized to one shape, + raw Statuspage URL passthrough), pure-TypeScript cert/DNS checks (any domain), and incident-response guidance:
| Tool | Description | |:-----|:------------| | devops_list_vendors | List vendors in the built-in registry, optionally filtered by name or category. Returns slug, display name, category, and status page URL. | | devops_status_check | Check the current health status for one or more vendors. Returns per-vendor indicator (none / minor / major / critical), degraded components, and active incident summaries. | | devops_get_incidents | Fetch incident history for a vendor — active, resolved, or scheduled maintenance. Returns the full incident timeline with per-update bodies and affected components. | | devops_watch_stack | Check the health of a named vendor stack persisted in session state. Pass vendors once to save the list; subsequent calls reuse it. Returns an aggregate health rollup plus per-vendor detail. | | devops_check_certs | Inspect SSL/TLS certificate health for one or more domains via a real TLS handshake. Reports expiry, chain depth, protocol version, cipher suite, and HSTS presence. Pure TypeScript — no external API. | | devops_check_dns | Resolve DNS records and verify propagation for one or more domains across Google (8.8.8.8), Cloudflare (1.1.1.1), and Quad9 (9.9.9.9). Reports per-resolver latency and resolver discrepancies. Pure TypeScript — no external API. | | devops_suggest_action | Instruction tool — returns a tailored incident-response playbook and pre-filled follow-up tool calls given a vendor name and optional incident context. No external calls; fully deterministic. |
devops_list_vendors
Discover available vendors before running status checks or configuring a stack.
- Accepts an optional free-text
query(matches name and slug, case-insensitive) and an optionalcategoryfilter - Eight categories:
cloud,cdn-edge,dev-platform,data,comms,auth,monitoring,ai - Returns slug (what to pass to other tools), display name, category, and status page URL
- 50 built-in entries — well-known public vendors with verified status endpoints (most on Atlassian Statuspage;
aws,gitlab,neon,slack, andredis-cloudserved through native-API adapters)
Built-in vendor registry:
| Category | Vendors | |:---------|:--------| | cloud | digitalocean, linode, aws | | cdn-edge | cloudflare, akamai | | dev-platform | gitlab, github, npm, vercel, netlify, render, fly-io, circleci, travis-ci, snyk, atlassian, figma, launchdarkly | | data | mongodb-atlas, planetscale, supabase, neon, redis-cloud, elastic, influxdb, upstash, cloudinary, segment | | comms | slack, discord, twilio, sendgrid, mailgun, hubspot, brevo, courier, loops | | auth | auth0, clerk, workos | | monitoring | datadog, sentry, new-relic, grafana-cloud, honeycomb | | ai | openai, anthropic, elevenlabs, pinecone, cohere |
Most registry entries are Atlassian Statuspage endpoints; aws (AWS Health Dashboard), gitlab / neon (Status.io), slack (Slack's own status API), and redis-cloud (Firehydrant) are served through adapters that normalize into the same shapes, so every tool works identically for them. GCP and Azure publish no keyless machine-readable feed and remain out of the registry — Statuspage-compatible pages can still be reached by passing a raw base URL.
devops_status_check
Batch health snapshot across one or more vendors in a single call.
- Accepts registered vendor slugs (e.g.,
"github","aws") or raw Atlassian Statuspage base URLs (e.g.,"https://www.githubstatus.com") — mix freely mode: "summary"(default): indicator + degraded components + active incidentsmode: "detailed": adds full component list and scheduled maintenance windowsPromise.allSettledfan-out — one failing vendor does not block the rest; errors surface inline- Results served from a 60-second in-memory cache;
cached: trueflag on each result
devops_get_incidents
Full incident timeline for a vendor with filter support.
filter: "all"(default): incidents plus scheduled maintenancesfilter: "active": only incidents with statusinvestigating/identified/monitoringfilter: "resolved": only fully resolved incidentsfilter: "scheduled": only scheduled maintenance windows- Returns per-update bodies in chronological order, affected component names, duration in minutes (resolved incidents), and a direct shortlink to the incident page
- Configurable
limit(1–50) withoffsetfor paging through longer history; a truncated result discloses the total and names the nextoffsetto fetch - AWS exposes only currently-open events (no history feed) —
filter: "resolved"andfilter: "scheduled"are always empty foraws
devops_watch_stack
Named, persisted vendor stack for recurring health sweeps.
- On the first call, provide
vendorsto define the stack — it is saved to tenant-scoped session state understack_name - Subsequent calls can omit
vendors; the saved list is reused automatically - Multiple stacks coexist via distinct
stack_namevalues (e.g.,"production","data-layer") - Aggregate health output:
all_operational/degraded/partial_outage/major_outage/unknown(a vendor could not be reached — errored vendors count asunavailableand never roll up asall_operational) - Note: stack state is in-memory; it does not persist across server restarts
devops_check_certs
Direct TLS handshake inspection — no external API required.
- Accepts bare hostnames (no
https://prefix) — up to 10 per call - Reports: days to expiry (flagged
warningat /logs` |
| OTEL_ENABLED | Enable OpenTelemetry instrumentation. | false |
See [.env.example](./.env.example) for the full list of optional overrides.
Running the server
Local development
- Build and run:
``sh bun run rebuild bun run start:stdio # or bun run start:http ``
- Run checks and tests:
``sh bun run devcheck # Lint, format, typecheck, security bun run test # Vitest test suite bun run lint:mcp # Validate MCP definitions against spec ``
Docker
docker build -t devops-status-mcp-server .
docker run --rm -p 3010:3010 devops-status-mcp-server
The Dockerfile defaults to HTTP transport, stateless session mode, and logs to /var/log/devops-status-mcp-server. OpenTelemetry peer dependencies are installed by default — build with --build-arg OTEL_ENABLED=false to omit them.
Project structure
| Path | Purpose | |:-----|:--------| | src/index.ts | createApp() entry point — registers tools, resources, and inits services. | | src/config/ | Server-specific environment variable parsing and validation with Zod. | | src/mcp-server/tools/ | Tool definitions (*.tool.ts). | | src/mcp-server/resources/ | Resource definitions (*.resource.ts). | | src/services/cert/ | node:tls — TLS handshake, X.509 parsing, expiry and protocol flagging. | | src/services/dns/ | node:dns — multi-resolver DNS fan-out, propagation discrepancy detection. | | src/services/statuspage/ | Statuspage public API client with 60-second in-memory cache. | | src/services/status-adapters/ | Native-API adapters (Status.io, Slack, AWS Health, Firehydrant) + api_type dispatch, normalizing into the Statuspage shapes. | | src/services/vendor-registry/ | In-memory vendor registry loaded from src/data/vendor-registry.ts. | | src/data/ | Static vendor registry data file (vendor-registry.ts). | | tests/ | Vitest tests mirroring src/. |
Development guide
See [CLAUDE.md](./CLAUDE.md) for development guidelines and architectural rules. The short version:
- Handlers throw, framework catches — no
try/catchin tool logic - Use
ctx.logfor request-scoped logging,ctx.statefor tenant-scoped storage - Register new tools and resources via the barrels in
src/mcp-server/*/definitions/index.ts devops_check_certsanddevops_check_dnsuse only Node.js stdlib — add no external deps for these paths
Contributing
Issues and pull requests are welcome. Run checks and tests before submitting:
bun run devcheck
bun run test
License
Apache-2.0 — see [LICENSE](LICENSE) for details.
Source & license
This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: cyanheads
- Source: cyanheads/devops-status-mcp-server
- License: Apache-2.0
- Homepage: https://www.npmjs.com/package/@cyanheads/devops-status-mcp-server
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.