I built 3 MCP servers so I can ask Claude about my DevOps stack
Source: Dev.to
What’s included
| Package | What it does |
|---|---|
| @peachjed/mcp-prometheus | PromQL queries, firing alerts, rule inspection |
| @peachjed/mcp-kubernetes | List pods, get logs, describe resources, watch events |
| @peachjed/mcp-grafana | Search dashboards, list datasources, check alert states |
Install
npm install -g @peachjed/mcp-prometheus @peachjed/mcp-kubernetes @peachjed/mcp-grafana
Configure Claude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"prometheus": {
"command": "mcp-prometheus",
"env": { "PROMETHEUS_URL": "http://localhost:9090" }
},
"kubernetes": {
"command": "mcp-kubernetes"
},
"grafana": {
"command": "mcp-grafana",
"env": {
"GRAFANA_URL": "http://localhost:3000",
"GRAFANA_TOKEN": "your-token"
}
}
}
}
What you can ask Claude
- “What’s the current CPU usage across all nodes?”
- “Show me the last 50 lines from pod
api-server-xyzin production” - “Are there any firing alerts right now?”
- “List all dashboards in the Infrastructure folder”
How it works
Each server is a small TypeScript process that runs locally via stdio. Claude Desktop spawns it automatically when needed. The Kubernetes server uses your existing ~/.kube/config — no extra auth setup.
Stack
- TypeScript +
@modelcontextprotocol/sdk @kubernetes/client-nodefor the k8s server- Prometheus and Grafana via their HTTP APIs
Source
- GitHub:
- npm packages:
@peachjed/mcp-prometheus,@peachjed/mcp-kubernetes,@peachjed/mcp-grafana
Feedback welcome — especially if you use a different observability stack.