MCP Kubernetes
A Model Context Protocol (MCP) server for executing Kubernetes commands from Claude Desktop or any MCP-compatible client.
Installation
You can install this tool directly using Go:
go install github.com/BhagyaAmarasinghe/mcp-kubernetes@latest
Usage
Starting the server
Run the MCP Kubernetes server:
mcp-kubernetes
By default, the server runs using stdio transport. You can specify a different port for HTTP transport with the -port
flag:
mcp-kubernetes -port 8080
Using with Claude Desktop
- Configure Claude Desktop to use the MCP Kubernetes server by adding it to your
claude_desktop_config.json
:
{
"mcpServers": {
"kubernetes": {
"command": "mcp-kubernetes"
}
}
}
- You can now use Claude to execute Kubernetes commands, such as:
- "Show me the pods in the default namespace"
- "List all services across all namespaces"
- "Check the status of my deployment named my-app"
Available Commands
The MCP Kubernetes server supports the following MCP requests:
execute
Executes a kubectl command:
{
"command": "get pods -n default"
}
get-contexts
Retrieves a list of available Kubernetes contexts:
{}
current-context
Gets the current Kubernetes context:
{}
set-context
Sets the current Kubernetes context:
{
"context": "minikube"
}
Security
This MCP server executes kubectl commands directly on your machine, so it should only be used in trusted environments. It does not implement authentication or authorization controls by default.
Requirements
- Go 1.23 or higher
- kubectl installed and in your PATH
- A valid kubeconfig file
License
MIT