LabscoMCP early access ↗
containersMCP SERVER

Kubernetes & OpenShift MCP Server

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

by containers ↗Containers, Kubernetes & Cluster OperationsCommunity

LABSCO 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