Labsco
MCP SERVER

Kubernetes MCP Server

by manusa

Read and change any Kubernetes or OpenShift resource through the API server itself — no kubectl, no helm binary, nothing else to install.

Containers, Kubernetes & Cluster Operations
Summary
A native client for the Kubernetes API, not a wrapper around kubectl.

Because it speaks to the API server directly there is nothing to install alongside it and no command output to parse — results come back structured, and `resources_list` and `resources_get` reach any kind in the cluster rather than a curated subset. Everything a debugging session needs is present: pod logs, exec, kubelet-level node stats, and events filtered by field selector.

What it is

A Go MCP server that talks to the Kubernetes API server directly rather than shelling out to `kubectl`. It ships as a single native binary for Linux, macOS and Windows, and also as an npm package, a Python package and a container image. It reads your kubeconfig, picks up changes to it, and can address several clusters at once.

What you get
  • Pods in full: `pods_list`, `pods_list_in_namespace`, `pods_get`, `pods_log`, `pods_exec`, `pods_top`, `pods_run`, `pods_delete`
  • Any resource at all by apiVersion and kind, CRDs included — `resources_list`, `resources_get`, `resources_create_or_update`, `resources_delete`, `resources_scale`
  • The cluster's own account of what went wrong: `events_list` narrowed by field selector, `nodes_log` straight from the kubelet, `nodes_stats_summary` for CPU, memory, filesystem and network per node, pod and container
  • Namespaces and OpenShift projects — `namespaces_list`, `projects_list`
  • Kubeconfig without leaving the conversation: `configuration_view`, `configuration_contexts_list`, `targets_list`
  • Optional toolsets behind `--toolsets`: `helm` for `helm_install`, `helm_list` and `helm_uninstall`, plus `tekton`, `kubevirt`, `kiali`, `netobserv` and `kcp`
  • Two switches worth setting deliberately: `--read-only` blocks every write, `--disable-destructive` keeps creates but blocks deletes and updates
  • Sensitive values — tokens, keys, passwords, cloud credentials — redacted out of the log messages sent to clients
Requirements

Access to a Kubernetes cluster. That is the whole list: no account, no key, and no external CLI, because the binary speaks to the API server itself. Run it with `npx -y kubernetes-mcp-server@latest`, `uvx kubernetes-mcp-server@latest`, the release binary, or the `ghcr.io/containers/kubernetes-mcp-server` image with your kubeconfig mounted and `KUBECONFIG` pointed at it. `--port` switches from stdio to Streamable HTTP on `/mcp`; longer-lived setups go in a TOML config file, reloadable on SIGHUP, where you can also deny whole resource kinds such as Secret. The `config` and `core` toolsets are on by default and everything else is opt-in.

Setup effort

One command — npx -y kubernetes-mcp-server@latest