MCP server that exposes Red Hat's status page data to LLMs. Built with FastMCP and httpx.
This is definitely a work in progress.
| Tool | Description |
|---|---|
get_overall_status |
Top-level severity indicator (operational, minor, major, critical) |
list_service_groups |
List all groups, or pass group_name to drill into one group's child services |
get_incidents |
Currently unresolved incidents with impact, status, and latest updates |
get_maintenances |
Active and upcoming scheduled maintenance windows |
| Prompt | Description |
|---|---|
triage_service_issue |
Walk through status, incidents, and maintenances for a specific service |
status_report |
Full status report across all groups, incidents, and maintenances |
uv sync
uv run redhat-status-mcpuv run redhat-status-mcp --transport streamable-http --port 8000Or use environment variables:
MCP_TRANSPORT=streamable-http MCP_PORT=8000 uv run redhat-status-mcpSSE transport is also supported:
uv run redhat-status-mcp --transport sse --port 8000The container defaults to streamable-http on 0.0.0.0:8000:
podman run --rm -p 8000:8000 ghcr.io/rhel-lightspeed/redhat-status-mcp:latestOverride transport settings with environment variables:
podman run --rm -p 9090:9090 \
-e MCP_TRANSPORT=sse \
-e MCP_PORT=9090 \
ghcr.io/rhel-lightspeed/redhat-status-mcp:latestRegister as a connector in your llama-stack config.yaml:
connectors:
- connector_type: mcp
connector_id: redhat-status
url: http://localhost:8000/mcpAdd to mcp_servers in your lightspeed-stack.yaml:
mcp_servers:
- name: "redhat-status"
url: "http://localhost:8000/mcp"uv sync # install deps
make ci # lint + typecheck + complexity + tests
make lint # ruff check
make format # ruff format
make typecheck # ty check
make radon # cyclomatic complexity gate (fail on C+)
make test # pytest with coverage