MCP field guide / Kubernetes

// mcp field guide · infrastructure

Kubernetes MCP server

This is the high-stakes one. With writes enabled, the agent holds kubectl-equivalent power over a live cluster — and a mis-scoped delete of a namespace or PVC is the Kubernetes DROP TABLE. The built-in read-only flags help, but they're coarse and have already failed once. Here's the sourced map.

Servers: containers/kubernetes-mcp-server · Flux159/mcp-server-kubernetes Category: infrastructure

GUARD FIT · READ TIER

PASS-THROUGH

get/describe/logs/events are genuinely safe. Gating them adds friction with zero risk reduction.

GUARD FIT · MUTATE / DESTROY TIER

STRONG

Delete a namespace/PVC, drain a node, scale to zero, exec in a container — high blast radius, often irreversible. A pre-call human checkpoint is essential.

Overall fit: STRONG — one of the clearest cases in this guide.

The two dominant servers

containers/kubernetes-mcp-server — hosted under the Red Hat-sponsored containers org (Podman/Buildah/Skopeo), OpenShift-aware, with Helm and Tekton toolsets. Flux159/mcp-server-kubernetes — a widely-installed community server (~20k npm downloads/week) that wraps kubectl/helm directly, including a kubectl_generic escape hatch for arbitrary kubectl. Both default to full cluster control and rely on the operator to opt into restricted modes.13

Tools by risk surface

Tool names are verbatim from each project's README; the risk grouping is our classification of each tool's documented effect.

Tiercontainers/kubernetes-mcp-serverFlux159/mcp-server-kubernetes
read-onlypods_list, pods_get, pods_log, resources_get, events_list, nodes_top, helm_listkubectl_get, kubectl_describe, kubectl_logs, explain_resource, list_api_resources
mutatingresources_create_or_update, resources_scale, pods_run, pods_exec, helm_install, tekton_*kubectl_create, kubectl_apply, kubectl_scale, kubectl_patch, kubectl_rollout, kubectl_generic, port_forward
destructivepods_delete, resources_delete (namespace / PVC!), helm_uninstallkubectl_delete, cleanup, cleanup_pods, node_management (drain/cordon), uninstall_helm_chart

Restricted-mode toggles exist--read-only and --disable-destructive on the containers server; ALLOW_ONLY_NON_DESTRUCTIVE_TOOLS=true on Flux159. Red Hat recommends --read-only plus a dedicated RBAC-scoped service account. But they're set at start and are all-or-nothing.2

Why a start-time flag isn't a guard — CVE-2026-46519. A security advisory found that the Flux159 server's non-destructive filter applied only to the tools/list response — it hid the dangerous tools from discovery, but tools/call still executed them. Restricted tools remained directly invokable until the fix in v3.6.0.4 The lesson generalizes: hiding a tool is not the same as refusing to run it. Enforcement has to sit at the point of the call, checking the actual request — exactly where a transparent proxy operates, and exactly what a toggle can't do.

Real use cases

SRE / incident response. "Show me all pods in CrashLoopBackOff" — correlate pods_list + events_list + pods_log, propose a cause, and (if writes are on) restart or rescale.

Interactive troubleshooting. "Why isn't my deployment scaling?" — inspect the Deployment/HPA, read events, and scale to remediate.

Cluster hygiene. "Clean up failed pods in staging" → cleanup_pods / kubectl_delete — the scenario where a wrong context or fat-fingered selector is catastrophic.

Where a human-approval guard fits

Don't gate the read tier. get/describe/logs/events are genuinely safe — gate them and you've added friction for nothing.

Gate the mutate/destroy tier — this is the strongest fit in the guide. The irreversibility is concrete, not theoretical:

The honest framing: a guard that intercepts the destructive tools/call and shows the exact target — context + namespace + resource — for human approval before it runs is precisely what the coarse start-time flags miss. For a deleted namespace there's no compensation to run; the guard's job is the pre-commit checkpoint and an honest "this cannot be undone" — compensation is not undo, at cluster scale.

Put a human before the delete hits prod

ChronoMCP gates the destructive tools/call at the point it's made — showing context, namespace and resource — while reads pass straight through.

Read the quickstart → More MCP profiles

Sources

  1. containers/kubernetes-mcp-server (README — tool names, flags): github.com/containers/kubernetes-mcp-server
  2. Red Hat Developer — positioning & read-only guidance: developers.redhat.com/articles/2025/09/25/kubernetes-mcp-server-ai-powered-cluster-management
  3. Flux159/mcp-server-kubernetes (README — tool names, non-destructive mode): github.com/Flux159/mcp-server-kubernetes
  4. Manifold Security — CVE-2026-46519, read-only bypass (tools/list vs tools/call): manifold.security/blog/mcp-server-kubernetes-readonly-bypass

Profiles describe third-party software from its public sources; ChronoMCP is not affiliated with these projects. Risk groupings are our classification of each tool's documented effect. Capabilities reflect sources current as of Aug 2026 and can change — check the source links for the latest.