by Flux159
Connects to a Kubernetes cluster and offers a unified MCP interface for kubectl, Helm, port‑forwarding, diagnostics, and non‑destructive read‑only mode.
Provides an MCP server that can automatically load kubeconfig, connect to the current kubectl context, and expose a rich set of Kubernetes management tools (kubectl commands, Helm operations, port‑forwarding, troubleshooting prompts, and a non‑destructive mode).
Add the server to your Claude Desktop or mcp‑chat configuration:
{
"mcpServers": {
"kubernetes": {
"command": "npx",
"args": ["mcp-server-kubernetes"]
}
}
}
Run the server with npx mcp-server-kubernetes
. Use environment variable ALLOW_ONLY_NON_DESTRUCTIVE_TOOLS=true
to enable read‑only mode. The server will immediately connect to the kubeconfig found at ~/.kube/config
(or other configured sources).
kubectl_get
, kubectl_describe
, kubectl_create
, kubectl_apply
, kubectl_delete
, kubectl_logs
, kubectl_scale
, kubectl_patch
, kubectl_rollout
, kubectl_generic
, kubectl_context
, list_api_resources
, explain_resource
, port_forward
, stop_port_forward
k8s-diagnose
for systematic pod analysisk8s-diagnose
promptQ: Which kubeconfig locations are supported?
A: The server loads from ~/.kube/config
by default, then checks environment variables (KUBECONFIG
), custom paths set in ADVANCED_README.md
, and other standard locations.
Q: Do I need Helm installed on the host? A: Yes, Helm v3 must be in the PATH for Helm‑related tools; the server itself does not bundle Helm.
Q: How can I enable read‑only mode?
A: Prefix the command with ALLOW_ONLY_NON_DESTRUCTIVE_TOOLS=true
, e.g., ALLOW_ONLY_NON_DESTRUCTIVE_TOOLS=true npx mcp-server-kubernetes
.
Q: What if a destructive tool is needed temporarily?
A: Remove or unset the ALLOW_ONLY_NON_DESTRUCTIVE_TOOLS
variable to re‑enable all tools.
Q: Can I run the server on Windows?
A: Yes, with Bun or Node.js installed; the same npx
command works across platforms.
Q: How do I test the server locally?
A: Use bun run dev
for hot‑reload development, bun run test
for unit tests, or the Inspector tool (npx @modelcontextprotocol/inspector node dist/index.js
).
MCP Server that can connect to a Kubernetes cluster and manage it. Supports loading kubeconfig from multiple sources in priority order.
https://github.com/user-attachments/assets/f25f8f4e-4d04-479b-9ae0-5dac452dd2ed
{
"mcpServers": {
"kubernetes": {
"command": "npx",
"args": ["mcp-server-kubernetes"]
}
}
}
By default, the server loads kubeconfig from ~/.kube/config
. For additional authentication options (environment variables, custom paths, etc.), see ADVANCED_README.md.
The server will automatically connect to your current kubectl context. Make sure you have:
You can verify your connection by asking Claude to list your pods or create a test deployment.
If you have errors open up a standard terminal and run kubectl get pods
to see if you can connect to your cluster without credentials issues.
mcp-chat is a CLI chat client for MCP servers. You can use it to interact with the Kubernetes server.
npx mcp-chat --server "npx mcp-server-kubernetes"
Alternatively, pass it your existing Claude Desktop configuration file from above (Linux should pass the correct path to config):
Mac:
npx mcp-chat --config "~/Library/Application Support/Claude/claude_desktop_config.json"
Windows:
npx mcp-chat --config "%APPDATA%\Claude\claude_desktop_config.json"
kubectl_get
kubectl_describe
kubectl_get
kubectl_create
kubectl_apply
kubectl_delete
kubectl_logs
kubectl_context
explain_resource
list_api_resources
kubectl_scale
kubectl_patch
kubectl_rollout
kubectl_generic
ping
kubectl_scale
(replaces legacy scale_deployment
)port_forward
k8s-diagnose
)
kubectl get secrets
commands, does not affect logs)The MCP Kubernetes server includes specialized prompts to assist with common diagnostic operations.
This prompt provides a systematic troubleshooting flow for Kubernetes pods. It accepts a keyword
to identify relevant pods and an optional namespace
to narrow the search.
The prompt's output will guide you through an autonomous troubleshooting flow, providing instructions for identifying issues, collecting evidence, and suggesting remediation steps.
Make sure that you have bun installed. Clone the repo & install dependencies:
git clone https://github.com/Flux159/mcp-server-kubernetes.git
cd mcp-server-kubernetes
bun install
bun run dev
bun run test
bun run build
npx @modelcontextprotocol/inspector node dist/index.js
# Follow further instructions on terminal for Inspector link
{
"mcpServers": {
"mcp-server-kubernetes": {
"command": "node",
"args": ["/path/to/your/mcp-server-kubernetes/dist/index.js"]
}
}
}
bun run chat
See the CONTRIBUTING.md file for details.
You can run the server in a non-destructive mode that disables all destructive operations (delete pods, delete deployments, delete namespaces, etc.):
ALLOW_ONLY_NON_DESTRUCTIVE_TOOLS=true npx mcp-server-kubernetes
For Claude Desktop configuration with non-destructive mode:
{
"mcpServers": {
"kubernetes-readonly": {
"command": "npx",
"args": ["mcp-server-kubernetes"],
"env": {
"ALLOW_ONLY_NON_DESTRUCTIVE_TOOLS": "true"
}
}
}
}
All read-only and resource creation/update operations remain available:
kubectl_get
, kubectl_describe
, kubectl_logs
, explain_resource
, list_api_resources
kubectl_apply
, kubectl_create
, kubectl_scale
, kubectl_patch
, kubectl_rollout
install_helm_chart
, upgrade_helm_chart
port_forward
, stop_port_forward
kubectl_context
The following destructive operations are disabled:
kubectl_delete
: Deleting any Kubernetes resourcesuninstall_helm_chart
: Uninstalling Helm chartscleanup
: Cleanup of managed resourceskubectl_generic
: General kubectl command access (may include destructive operations)For additional advanced features, see the ADVANCED_README.md.
See this DeepWiki link for a more indepth architecture overview created by Devin.
This section describes the high-level architecture of the MCP Kubernetes server.
The sequence diagram below illustrates how requests flow through the system:
See this DeepWiki link for a more indepth architecture overview created by Devin.
Go to the releases page, click on "Draft New Release", click "Choose a tag" and create a new tag by typing out a new version number using "v{major}.{minor}.{patch}" semver format. Then, write a release title "Release v{major}.{minor}.{patch}" and description / changelog if necessary and click "Publish Release".
This will create a new tag which will trigger a new release build via the cd.yml workflow. Once successful, the new release will be published to npm. Note that there is no need to update the package.json version manually, as the workflow will automatically update the version number in the package.json file & push a commit to main.
Adding clusters to kubectx.
If you find this repo useful, please cite:
@software{Patel_MCP_Server_Kubernetes_2024,
author = {Patel, Paras and Sonwalkar, Suyog},
month = jul,
title = {{MCP Server Kubernetes}},
url = {https://github.com/Flux159/mcp-server-kubernetes},
version = {2.5.0},
year = {2024}
}
Please log in to share your review and rating for this MCP.
{ "mcpServers": { "kubernetes": { "command": "npx", "args": [ "mcp-server-kubernetes" ] } } }
Explore related MCPs that share similar capabilities and solve comparable challenges
by awslabs
Provides specialized servers that expose AWS capabilities through the Model Context Protocol, enabling AI assistants to retrieve up-to-date documentation, execute API calls, and automate infrastructure workflows directly within development environments.
by cloudflare
Provides a collection of Model Context Protocol servers that enable MCP‑compatible clients to interact with Cloudflare services such as Workers, Observability, Radar, and more, allowing natural‑language driven management of configurations, data, and operations.
by TencentEdgeOne
Deploy HTML, folders, or zip archives to EdgeOne Pages and instantly obtain a public URL for fast edge delivery.
by rishikavikondala
Provides Model Context Protocol tools for performing AWS S3 and DynamoDB operations, with automatic logging and audit access via the `audit://aws-operations` endpoint.
by confluentinc
Enables AI assistants to manage Confluent Cloud resources such as Kafka topics, connectors, and Flink SQL statements through natural‑language interactions.
by aliyun
Enables AI assistants to operate Alibaba Cloud resources such as ECS, Cloud Monitor, OOS and other services through seamless integration with Alibaba Cloud APIs via the Model Context Protocol.
by aws-samples
Retrieve PDF documents and other S3 objects through Model Context Protocol resources, enabling LLMs to pull data directly from AWS S3 buckets.
by kocierik
Connects to HashiCorp Nomad and exposes Model Context Protocol endpoints for job, deployment, node, allocation, variable, volume, ACL, Sentinel, and cluster management via a Go‑based server.
by qiniu
Provides MCP endpoints that enable AI models to list buckets, retrieve file lists, upload and download files, generate download links, perform image scaling and rounding, and refresh or prefetch CDN resources on Qiniu cloud.