MCP Server Kubernetes
flux159/mcp-server-kubernetes · 1.4k stars · TypeScript · MIT
MCP server MCP Server for kubernetes management commands
Install
claude mcp add kubernetes -- npx mcp-server-kubernetesThese repos do not share one command. When an entry shows a command, it was copied as published. Check the repo's README before you run it.
Files
MCP Server Kubernetes
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
Installation & Usage
Prerequisites
Before using this MCP server with any tool, make sure you have:
- kubectl installed and in your PATH
- A valid kubeconfig file with contexts configured
- Access to a Kubernetes cluster configured for kubectl (e.g. minikube, Rancher Desktop, GKE, etc.)
- Helm v3 installed and in your PATH (no Tiller required). Optional if you don't plan to use Helm.
You can verify your connection by running kubectl get pods in a terminal to ensure you can connect to your cluster without credential issues.
By default, the server loads kubeconfig from ~/.kube/config. For additional authentication options (environment variables, custom paths, etc.), see ADVANCED_README.md.
Claude Code
Add the MCP server to Claude Code using the built-in command:
claude mcp add kubernetes -- npx mcp-server-kubernetes
This will automatically configure the server in your Claude Code MCP settings.
Codex
Add the MCP server to Codex CLI using the built-in command:
codex mcp add kubernetes -- npx mcp-server-kubernetes
This registers the server globally in ~/.codex/config.toml and makes its tools available in all Codex sessions.
Claude Desktop
Add the following configuration to your Claude Desktop config file:
{
"mcpServers": {
"kubernetes": {
"command": "npx",
"args": ["mcp-server-kubernetes"]
}
}
}
Claude Desktop Connector via mcpb
MCP Server Kubernetes is also available as a mcpb (formerly dxt) extension. In Claude Desktop, go to Settings (Cmd+, on Mac) -> Extensions -> Browse Extensions and scroll to find mcp-server-kubernetes in the modal. Install it & it will install & utilize kubectl via command line & your kubeconfig.
To manually install, you can also get the .mcpb by going to the latest Release and downloading it.
VS Code
For VS Code integration, you can use the MCP server with extensions that support the Model Context Protocol:
- Install a compatible MCP extension (such as Claude Dev or similar MCP clients)
- Configure the extension to use this server:
{
"mcpServers": {
"kubernetes": {
"command": "npx",
"args": ["mcp-server-kubernetes"],
"description": "Kubernetes cluster management and operations"
}
}
}
Cursor
Cursor supports MCP servers through its AI integration. Add the server to your Cursor MCP configuration:
{
"mcpServers": {
"kubernetes": {
"command": "npx",
"args": ["mcp-server-kubernetes"]
}
}
}
The server will automatically connect to your current kubectl context. You can verify the connection by asking the AI assistant to list your pods or create a test deployment.
Usage with mcp-chat
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"
Features
- [x] Connect to a Kubernetes cluster
- [x] Unified kubectl API for managing resources
- Get or list resources with
kubectl_get - Describe resources with
kubectl_describe - List resources with
kubectl_get - Create resources with
kubectl_create - Apply YAML manifests with
kubectl_apply - Delete resources with
kubectl_delete - Get logs with
kubectl_logs - Manage kubectl contexts with
kubectl_context - Explain Kubernetes resources with
explain_resource - List API resources with
list_api_resources - Scale resources with
kubectl_scale - Update field(s) of a resource with
kubectl_patch - Manage deployment rollouts with
kubectl_rollout - Execute any kubectl command with
kubectl_generic - Verify connection with
ping - [x] Advanced operations
- Scale deployments with
kubectl_scale(replaces legacyscale_deployment) - Port forward to pods and services with
port_forward - Run Helm operations
- Install, upgrade, and uninstall charts
- Support for custom values, repositories, and versions
- Template-based installation (
helm_template_apply) to bypass authentication issues - Template-based uninstallation (
helm_template_uninstall) to bypass authentication issues - Pod cleanup operations
- Clean up problematic pods (
cleanup_pods) in states: Evicted, ContainerStatusUnknown, Completed, Error, ImagePullBackOff, CrashLoopBackOff - Node management operations
- Cordoning, draining, and uncordoning nodes (
node_management) for maintenance and scaling operations - [x] Troubleshooting Prompt (
k8s-diagnose) - Guides through a systematic Kubernetes troubleshooting flow for pods based on a keyword and optional namespace.
- [x] Non-destructive mode for read and create/update-only access to clusters
- [x] Secrets masking for security (masks sensitive data in
kubectl get secretscommands, does not affect logs) - [x] OpenTelemetry Observability (opt-in)
- Distributed tracing for all tool calls
- Export to Jaeger, Tempo, Grafana, or any OTLP backend
- Configurable sampling strategies
- Rich span attributes (tool name, duration, K8s context, errors)
- See docs/OBSERVABILITY.md for details
Observability
The MCP Kubernetes server includes optional OpenTelemetry integration for comprehensive observability. This feature is disabled by default and can be enabled via environment variables or Helm configuration.
Quick Start
Enable observability with environment variables:
export ENABLE_TELEMETRY=true
export OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4317
npx mcp-server-kubernetes
What Gets Traced
- All tool calls: kubectl_get, kubectl_apply, kubectl_logs, etc.
- Execution duration: How long each operation takes
- Success/failure status: Automatic error tracking
- Kubernetes context: Namespace, context, resource type
- Rich metadata: Host, process, and custom attributes
Backends Supported
Works with any OTLP-compatible backend:
- Jaeger (open source)
- Grafana Tempo (open source)
- Grafana Cloud (commercial)
- Datadog, New Relic, Honeycomb, Lightstep, AWS X-Ray
Configuration
See docs/OBSERVABILITY.md for comprehensive documentation including:
- Configuration options
- Deployment examples (Kubernetes, Helm, Claude Code)
- Sampling strategies
- Production best practices
- Troubleshooting guide
Example with Jaeger
# Start Jaeger
docker run -d --name jaeger \
-e COLLECTOR_OTLP_ENABLED=true \
-p 16686:16686 \
-p 4317:4317 \
jaegertracing/all-in-one:latest
# Enable telemetry
export ENABLE_TELEMETRY=true
export OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4317
export OTEL_TRACES_SAMPLER=always_on
# Run server
npx mcp-server-kubernetes
# View traces: http://localhost:16686
Prompts
The MCP Kubernetes server includes specialized prompts to assist with common diagnostic operations.
/k8s-diagnose Prompt
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.
Local Development
Make sure that you have bun installed. Clone the repo & install dependencies:
git clone https://github.com/Flux159/mcp-server-kubernetes.gitFacts
- Kind
- MCP server
- Repo
- flux159/mcp-server-kubernetes
- Group
- Uncategorized
- Stars
- 1.4k
- License
- MIT
- Language
- TypeScript
- Last push
- 2026-10-02
- Forks
- 283
- Topics
- infrastructure, kubernetes, mcp, server
- 1Everythingmodelcontextprotocol/serversThis MCP server attempts to exercise all the features of the MCP protocol. It is not intended to be a useful server, but rather a test server for builders of MCP clients. It implements prompts, tools, resources, sampling, and more to showcase MCP capabilities.85.8k
- 2Fetchmodelcontextprotocol/serversA Model Context Protocol server that provides web content fetching capabilities. This server enables LLMs to retrieve and process content from web pages, converting HTML to markdown for easier consumption.85.8k
- 3Gitmodelcontextprotocol/serversA Model Context Protocol server for Git repository interaction and automation. This server provides tools to read, search, and manipulate Git repositories via Large Language Models.85.8k
- 4Memorymodelcontextprotocol/serversA basic implementation of persistent memory using a local knowledge graph. This lets Claude remember information about the user across chats.85.8k
- 5Sequential Thinkingmodelcontextprotocol/serversAn MCP server implementation that provides a tool for dynamic and reflective problem-solving through a structured thinking process.85.8k
- 6Timemodelcontextprotocol/serversA Model Context Protocol server that provides time and timezone conversion capabilities. This server enables LLMs to get current time information and perform timezone conversions using IANA timezone names, with automatic system timezone detection.85.8k