Kubernetes MCP Server ๐
@briankscheong
MCP Server that talks to the Kubernetes APIs
Overview
What is Kubernetes MCP Server?
The Kubernetes MCP Server is a Model Context Protocol (MCP) server that provides seamless integration with Kubernetes APIs, enabling advanced automation and interaction capabilities for developers, operators, and AI tools. It allows AI tools to interact with Kubernetes clusters using natural language, including retrieving cluster resources, monitoring deployments, pods, and services, executing common kubectl operations, and troubleshooting cluster issues.
How to use Kubernetes MCP Server?
Configure the server for use with Claude Desktop, VS Code, or Cline by adding it to the respective MCP server configuration. Run the binary with k8smcp stdio (default) or k8smcp sse for HTTP transport. Use flags like --kubeconfig, --namespace, --read-only, --resource-types, and --toolsets, or set equivalent environment variables (e.g., K8S_MCP_KUBECONFIG). Build from source or install via go install.
Key features of Kubernetes MCP Server
- Retrieve and analyze cluster resources
- Monitor deployments, pods, and services
- Execute common kubectl operations through AI interfaces
- Troubleshoot cluster issues with AI assistance
- Supports both stdio and SSE transports
- Read-only mode available by default for safety
Use cases of Kubernetes MCP Server
- AI assistant queries pod status and logs for debugging.
- Automatically scaling a deployment via natural language.
- Listing all services in a namespace for inventory.
- Retrieving ConfigMaps to verify application configuration.
- Troubleshooting cluster health by checking nodes and namespaces.
FAQ from Kubernetes MCP Server
Which transport options does Kubernetes MCP Server support?
It supports stdio (default, for local integration) and sse (HTTP-based JSON-RPC, for deploying inside a Kubernetes cluster).
How do I enable write operations (delete pod, scale deployment)?
By default, tools that modify resources are disabled. Set the --read-only=false flag or the K8S_MCP_READ_ONLY=false environment variable to enable them.
What prerequisites are needed to use Kubernetes MCP Server?
You need a Kubernetes cluster with API access, a valid kubeconfig file or service account credentials, and appropriate RBAC permissions for the desired operations.
Can I run the server inside a Kubernetes cluster?
Yes. Use the SSE transport with the --in-cluster=true flag to use the in-cluster configuration.
How can I restrict access to the server?
You can create a dedicated service account with restricted RBAC permissions, set namespace limits, or enable read-only mode to prevent mutations to cluster state.