Skip to main content
Glama

MCP Kubernetes Server

A Model Context Protocol (MCP) server for Kubernetes, supporting chunked HTTP streaming, advanced troubleshooting prompts, and full Kubernetes resource/tool coverage.


Prerequisites

  • Node.js v18+ (for local dev/build)

  • Docker (for containerization)

  • Access to a Kubernetes cluster (AKS, EKS, GKE, or local)

  • kubectl configured (for testing and kubeconfig management)


Related MCP server: Kubectl MCP Tool

1. Build and Run Locally

npm install
npm run build
MCP_TRANSPORT=http-chunked npm start
  • By default, the server uses your local kubeconfig (~/.kube/config or C:\Users\<username>\.kube\config).

  • To use a custom kubeconfig, set the KUBECONFIG environment variable:

    export KUBECONFIG=/path/to/your/kubeconfig
    npm start

2. Dockerize the MCP Server

Build the Docker image

docker build -t yourrepo/mcp-server:latest .

Push to your registry

docker push yourrepo/mcp-server:latest

3. Deploy on Kubernetes (AKS, EKS, GKE)

Edit the image name in k8s-mcp-server.yaml:

Replace yourrepo/mcp-server:latest with your image name.

Apply the manifest

kubectl apply -f k8s-mcp-server.yaml
  • This creates a namespace, ServiceAccount, RBAC, Deployment, and Service.

  • By default, the Service is ClusterIP (internal). Change to LoadBalancer or NodePort for external access.


4. Using the MCP Server

HTTP Chunked Endpoint

  • The server exposes /call-tool-chunked on port 3000.

  • Example (using curl):

    curl -X POST http://<server-ip>:3000/call-tool-chunked \
      -H "Content-Type: application/json" \
      -d '{"name": "get_pods", "args": {"namespace": "default"}}'
  • The response will stream progress and results as JSON lines.

Using Prompts

  • To use a prompt, POST to /call-tool-chunked with 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"}}'

5. Kubeconfig and Permissions

  • 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).


6. Security Notes

  • 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.


7. Extending and Customizing

  • Add new tools, resources, or prompts in the src/ directory.

  • Rebuild and redeploy the Docker image after making changes.


8. Troubleshooting

  • Check logs with kubectl 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.


License

MIT

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      D
      maintenance
      An MCP server that enables interaction with Kubernetes/Minikube clusters through natural language, allowing AI agents like Codename Goose to manage Kubernetes resources via the Model Context Protocol.
      2
      MIT
    • A
      license
      Not graded
      quality
      C
      maintenance
      A Model Context Protocol server that enables AI assistants to interact with Kubernetes clusters through natural language, supporting core Kubernetes operations, monitoring, security, and diagnostics.
      169 npm
      972
      MIT
    • F
      license
      Not graded
      quality
      D
      maintenance
      An Model Context Protocol server that lets language models directly manage and visualize Kubernetes clusters through safe, high-level operational tools.
      1
      -
    • A
      license
      Not graded
      quality
      D
      maintenance
      A Model Context Protocol server that lets AI assistants query multiple Kubernetes clusters simultaneously using natural language.
      3
      MIT