I built 3 MCP servers so I can ask Claude about my DevOps stack

Published: (April 17, 2026 at 03:01 AM EDT)
2 min read
Source: Dev.to

Source: Dev.to

What’s included

PackageWhat it does
@peachjed/mcp-prometheusPromQL queries, firing alerts, rule inspection
@peachjed/mcp-kubernetesList pods, get logs, describe resources, watch events
@peachjed/mcp-grafanaSearch 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-xyz in 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-node for 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.

0 views
Back to Blog

Related posts

Read more »