MCP Server for Kubernetes
About
A server for managing Kubernetes clusters using the Model Context Protocol.
Details
- Author
- siddjoshi
- Categories
- Cloud Service, Other, Infrastructure
Jump to
Setup
Install MCP Server for Kubernetes in your MCP client (Claude Desktop, Cursor, Windsurf, and others).
Repository: https://github.com/siddjoshi/kube-MCP
Follow the installation instructions in the repository README, then restart your MCP client.
A Model Context Protocol (MCP) server for Kubernetes, supporting chunked HTTP streaming, advanced troubleshooting prompts, and full Kubernetes resource/tool coverage.
- Node.js v18+ (for local dev/build)
- Docker (for containerization)
- Access to a Kubernetes cluster (AKS, EKS, GKE, or local)
- kubectlconfigured (for testing and kubeconfig management)
npm install npm run build MCP_TRANSPORT=http-chunked npm start
- By default, the server uses your local kubeconfig (~/.kube/configorC:\Users\<username>\.kube\config).
- To use a custom kubeconfig, set theKUBECONFIGenvironment variable:
export KUBECONFIG=/path/to/your/kubeconfig npm start
docker build -t yourrepo/mcp-server:latest .
Edit the image name ink8s-mcp-server.yaml:
Replaceyourrepo/mcp-server:latestwith your image name.
- This creates a namespace, ServiceAccount, RBAC, Deployment, and Service.
- By default, the Service isClusterIP(internal). Change toLoadBalancerorNodePortfor external access.
- The server exposes/call-tool-chunkedon port 3000.
- Example (usingcurl):
curl -X POST http://<server-ip>:3000/call-tool-chunked \ -H "Content-Type: application/json" \ -d '{"name": "get_pods", "args": {"namespace": "default"}}'
- To use a prompt, POST to/call-tool-chunkedwith the prompt name, e.g.:
curl -X POST http://<server-ip>:3000/call-tool-chunked \ -H "Content-Type: application/json" \ -d '{"name": "k8s-pod-crashloop-diagnose", "args": {"podName": "my-pod", "namespace": "default"}}'
- The MCP server uses the kubeconfig available in the container (default:/root/.kube/config).
- For in-cluster deployments, it uses the ServiceAccount and RBAC provided in the manifest.
- To use a custom kubeconfig, mount it as a secret and update the Deployment (see commented lines in the manifest).
- Do not expose the MCP server to the public internet without authentication and TLS.
- Use network policies, firewalls, or VPNs to restrict access.
- Use least-privilege RBAC for the ServiceAccount.
- Add new tools, resources, or prompts in thesrc/directory.
- Rebuild and redeploy the Docker image after making changes.
- Check logs withkubectl logs -n mcp-server deploy/mcp-server.
- Ensure the ServiceAccount has the required permissions for your use case.
- For local testing, ensure your kubeconfig is valid and has cluster access.
A server for Kubernetes CLI tools like kubectl, istioctl, helm, and argocd, supporting multi-cluster management via dynamic kubeconfig.
An MCP server for kubectl, enabling AI assistants to interact with Kubernetes clusters through a standardized protocol.
Execute Kubernetes commands using kubectl from any MCP-compatible client. Requires a valid kubeconfig file.
Manage and interact with Microsoft Azure services.
Query and interact with kubernetes environments monitored by Metoro
Execute AWS CLI commands through the Model Context Protocol (MCP). Requires AWS credentials configured on the host.
Interact with and manage Azure services using natural language.
Manage Kubernetes applications safely by creating and updating Cyclops Modules for AI agents.
A read-only MCP server for retrieving information and diagnosing issues in Kubernetes clusters.
Provides safe, read-only access to Kubernetes cluster resources for debugging and inspection.
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.




