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_forwardk8s-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_getkubectl_describekubectl_getkubectl_createkubectl_applykubectl_deletekubectl_logskubectl_contextexplain_resourcelist_api_resourceskubectl_scalekubectl_patchkubectl_rolloutkubectl_genericpingkubectl_scale (replaces legacy scale_deployment)port_forwardk8s-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_resourceskubectl_apply, kubectl_create, kubectl_scale, kubectl_patch, kubectl_rolloutinstall_helm_chart, upgrade_helm_chartport_forward, stop_port_forwardkubectl_contextThe 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"
]
}
}
}claude mcp add kubernetes npx mcp-server-kubernetesExplore 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 heroku
Enables large language models to manage and operate Heroku platform resources directly through the Heroku CLI, exposing a set of tools for app, dyno, add‑on, pipeline, database, and team operations.
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.