by strowk
Connects to Kubernetes clusters to list contexts, namespaces, resources, nodes, pods, events, logs, and execute commands, exposing these capabilities through the Model Context Protocol.
Provides a Golang‑based MCP server that interfaces with Kubernetes, allowing AI clients and tooling to query and interact with cluster resources such as contexts, namespaces, pods, services, deployments, nodes, events, and logs.
You can run the server directly with npx:
npx @strowk/mcp-k8s
Other installation options include pre‑built binaries via npm (npm install -g @strowk/mcp-k8s
), downloading from GitHub releases, building from source with Go, or pulling the Docker image mcpk8s/server:latest
. The server accepts optional flags:
--allowed-contexts=<ctx1,ctx2,...>
– restricts accessible contexts--readonly
– disables any write operations--help
and --version
Set KUBECONFIG
environment variable if the config file is not located at ~/.kube/config
.Q: How do I limit which Kubernetes contexts are available?
A: Use the --allowed-contexts
flag with a comma‑separated list, e.g., --allowed-contexts=dev,prod
.
Q: Can I prevent the server from making changes to the cluster?
A: Yes, launch the server with --readonly
to disable all write‑capable tools.
Q: Where should my kubeconfig be placed?
A: By default the server reads ~/.kube/config
. Override with the KUBECONFIG
environment variable or mount the file into the Docker container.
Q: Which command should I use in Claude Desktop configuration?
A: Set command
to npx
and args
to ["@strowk/mcp-k8s"]
(or include any desired flags).
Q: Is a Docker image available?
A: Yes, mcpk8s/server:latest
supports linux/amd64 and linux/arm64. Mount your kubeconfig and run:
docker run -i -v ~/.kube/config:/home/nonroot/.kube/config --rm mcpk8s/server:latest
MCP 💬 prompt 🗂️ resource 🤖 tool
To use latest published version with Inspector you can run this:
npx @modelcontextprotocol/inspector npx @strowk/mcp-k8s
Following chat with Claude Desktop demonstrates how it looks when selected particular context as a resource and then asked to check pod logs for errors in kube-system namespace:
To use this MCP server with Claude Desktop (or any other client) you might need to choose which way of installation to use.
You have multiple options:
Smithery | mcp-get | Pre-built NPM | Pre-built in Github | From sources | Using Docker | |
---|---|---|---|---|---|---|
Claude Setup | Auto | Auto | Manual | Manual | Manual | Manual |
Prerequisite | Node.js | Node.js | Node.js | None | Golang | Docker |
To install MCP K8S Go for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @strowk/mcp-k8s --client claude
To install MCP K8S Go for Claude Desktop automatically via mcp-get:
npx @michaellatman/mcp-get@latest install @strowk/mcp-k8s
Use this if you have npm installed and want to use pre-built binaries:
npm install -g @strowk/mcp-k8s
Then check version by running mcp-k8s --version
and if this printed installed version, you can proceed to add configuration to claude_desktop_config.json
file:
{
"mcpServers": {
"mcp_k8s": {
"command": "mcp-k8s",
"args": []
}
}
}
, or using npx
with any client:
npx @strowk/mcp-k8s
For example for Claude:
{
"mcpServers": {
"mcp_k8s": {
"command": "npx",
"args": [
"@strowk/mcp-k8s"
]
}
}
}
Head to GitHub releases and download the latest release for your platform.
Unpack the archive, which would contain binary named mcp-k8s-go
, put that binary somewhere in your PATH and then add the following configuration to the claude_desktop_config.json
file:
{
"mcpServers": {
"mcp_k8s": {
"command": "mcp-k8s-go",
"args": []
}
}
}
You would need Golang installed to build this project:
go get github.com/strowk/mcp-k8s-go
go install github.com/strowk/mcp-k8s-go
, and then add the following configuration to the claude_desktop_config.json
file:
{
"mcpServers": {
"mcp_k8s_go": {
"command": "mcp-k8s-go",
"args": []
}
}
}
This server is built and published to Docker Hub since 0.3.1-beta.2 release with multi-arch images available for linux/amd64 and linux/arm64 architectures.
You can use latest tag f.e like this:
docker run -i -v ~/.kube/config:/home/nonroot/.kube/config --rm mcpk8s/server:latest
Windows users might need to replace ~/.kube/config
with //c/Users/<username>/.kube/config
at least in Git Bash.
For Claude:
{
"mcpServers": {
"mcp_k8s_go": {
"command": "docker",
"args": [
"run",
"-i",
"-v",
"~/.kube/config:/home/nonroot/.kube/config",
"--rm",
"mcpk8s/server:latest"
]
}
}
}
The following environment variables are used by the MCP server:
KUBECONFIG
: Path to your Kubernetes configuration file (optional, defaults to ~/.kube/config)The following command-line options are supported:
--allowed-contexts=<ctx1,ctx2,...>
: Comma-separated list of allowed Kubernetes contexts that users can access. If not specified, all contexts are allowed.--readonly
: Disables any tool which can write changes to the cluster--help
: Display help information--version
: Display version informationFor example if you are configuring Claude Desktop, you can add the following configuration to claude_desktop_config.json
file:
{
"mcpServers": {
"mcp_k8s": {
"command": "mcp-k8s",
"args": [
"--allowed-contexts=dev,prod",
"--readonly"
]
}
}
}
, which would allow only dev
and prod
contexts to be used and would disable any tool which can write changes to the cluster.
Please log in to share your review and rating for this MCP.
{ "mcpServers": { "mcp_k8s": { "command": "npx", "args": [ "@strowk/mcp-k8s" ] } } }
Explore related MCPs that share similar capabilities and solve comparable challenges
by zed-industries
A high‑performance, multiplayer code editor designed for speed and collaboration.
by modelcontextprotocol
Model Context Protocol Servers
by modelcontextprotocol
A Model Context Protocol server for Git repository interaction and automation.
by modelcontextprotocol
A Model Context Protocol server that provides time and timezone conversion capabilities.
by cline
An autonomous coding assistant that can create and edit files, execute terminal commands, and interact with a browser directly from your IDE, operating step‑by‑step with explicit user permission.
by continuedev
Enables faster shipping of code by integrating continuous AI agents across IDEs, terminals, and CI pipelines, offering chat, edit, autocomplete, and customizable agent workflows.
by upstash
Provides up-to-date, version‑specific library documentation and code examples directly inside LLM prompts, eliminating outdated information and hallucinated APIs.
by github
Connects AI tools directly to GitHub, enabling natural‑language interactions for repository browsing, issue and pull‑request management, CI/CD monitoring, code‑security analysis, and team collaboration.
by daytonaio
Provides a secure, elastic infrastructure that creates isolated sandboxes for running AI‑generated code with sub‑90 ms startup, unlimited persistence, and OCI/Docker compatibility.