mcp-server-kubernetes
Flux159 · Flux159/mcp-server-kubernetes
Một MCP server nhẹ để quản lý Kubernetes, cho phép các agent tương tác với cụm, pod và triển khai thông qua kubectl.
MCP Server for kubernetes management commands
Xem trước
Bạn có thể làm gì với nó
- Nhanh chóng kiểm tra trạng thái của các pod trong một namespace cụ thể
- Khởi động lại hoặc thay đổi quy mô triển khai bằng các lệnh agent đơn giản
- Lấy và phân tích các sự kiện Kubernetes để khắc phục lỗi triển khai
Kiểm tra an toàn
Không thấy dấu hiệu rủi ro trong các file đã quét.
Quét tự động các file trong repo. Luôn xem lại code trước khi chạy.
Trích từ README
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
- Connect to a Kubernetes cluster
- 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
- Get or list resources with
- 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
- Clean up problematic pods (
- Node management operations
- Cordoning, draining, and uncordoning nodes (
node_management) for maintenance and scaling operations
- Cordoning, draining, and uncordoning nodes (
- Scale deployments with
- Troubleshooting Prompt (
k8s-diagnose)- Guides through a systematic Kubernetes troubleshooting flow for pods based on a keyword and optional namespace.
- Non-destructive mode for read and create/update-only access to clusters
- Secrets masking for security (masks sensitive data in
kubectl get secretscommands, does not affect logs) - 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 se