A hand-maintained Kubernetes tool list goes stale the moment kubectl adds a subcommand; this one is derived from the binary on your machine, which means the coverage matches your version exactly. The flip side is that the full surface is exposed, delete included, and it inherits your kubeconfig context — so which cluster is current is the only thing standing between an assistant and production.
A kubectl plugin that turns the CLI you already have into an MCP server. Rather than hand-writing a tool per resource, it recursively traverses the kubectl command tree and registers each command with its description, usage, flags and parameters, so the assistant discovers what kubectl can do from kubectl itself. It runs over stdio.
- Every kubectl command — get, apply, delete and the rest — exposed as a tool with the prefix `kubectl___`
- Each command's help text, flags and required parameters carried through, so the model can pick arguments rather than guess
- Structured responses that a model can parse instead of raw terminal output
- A stdio server invoked as `kubectl-mcp`, which works anywhere the plugin is on PATH
A working kubectl with a valid kubeconfig — the plugin runs as you, with whatever cluster access your context already has. Build with `make kubectl-mcp`, move the binary onto your PATH, and confirm with `kubectl plugin list | grep mcp`. Register it in your client's config as the `kubectl-mcp` command. Resource creation and other long operations have a 45-second timeout on the response while the process keeps running in the background, so watch those separately.
One command — kubectl-mcp
