kubernetes-mcp-server
A GitOps Model Context Protocol (MCP) Server.
Documentation
Claude Kubernetes MCP Server
> A Model Context Protocol (MCP) server for Kubernetes cluster management with ArgoCD and GitLab integration.
This repository contains the Claude Kubernetes MCP (Model Context Protocol) server, built in Go. The server integrates with ArgoCD, GitLab, Claude AI, and Kubernetes to enable advanced control and automation of Kubernetes environments.
Table of Contents
- Overview
- Prerequisites
- Setup Instructions
- Configuration
- Running Locally
- Building and Running with Docker
- Production Deployment
- API Documentation
- Postman Collection
- License
Overview
This server is designed to orchestrate Kubernetes workloads using Claude AI, GitLab, ArgoCD, and Vault. It exposes a REST API that allows programmatic interaction with these systems, driven by a configured `config.yaml` and authenticated using an API key.
Prerequisites
- Go 1.20+
- Docker
- Kubernetes cluster & valid `~/.kube/config`
- EKS cluster with AWS_PROFILE set locally
- ArgoCD credentials
- GitLab personal access token
- Claude API key (Anthropic)
- Vault credentials (optional, depending on use)
Setup Instructions
1. Clone the Repository
git clone https://github.com/blankcut/kubernetes-mcp-server.git
cd kubernetes-mcp-server2. Export Required Environment Variables
Export credentials for ArgoCD, GitLab, and Claude:
export ARGOCD_USERNAME="argocd-username"
export ARGOCD_PASSWORD="argocd-password"
export GITLAB_TOKEN="gitlab-token"
export CLAUDE_API_KEY="claude-api-key"
export VAULT_TOKEN="optional-if-using-vault"Ensure a kubeconfig is available:
export KUBECONFIG=~/.kube/config3. Configure `config.yaml`
Update `kubernetes-claude-mcp/config.yaml` with credentials and server preferences:
server:
address: ":8080"
readTimeout: 30
writeTimeout: 60
auth:
apiKey: ""${API_KEY}""
kubernetes:
kubeconfig: ""
inCluster: false
defaultContext: ""
defaultNamespace: "default"
argocd:
url: "http://example.argocd.com"
authToken: ""
username: "${ARGOCD_USERNAME}"
password: "${ARGOCD_PASSWORD}"
insecure: true
gitlab:
url: "https://gitlab.com"
authToken: "${AUTH_TOKEN}"
apiVersion: "v4"
projectPath: ""${PROJECT_PATH}""
claude:
apiKey: "${API_KEY}"
baseURL: "https://api.anthropic.com"
modelID: "claude-sonnet-4.5-20250514"
maxTokens: 8192
temperature: 0.3You can use the provided Go templates or environment variable interpolation method.
4. Add API Key for Postman
Please ensure a `config.yaml` includes an `apiKey`. This will be used to authenticate requests in Postman or any external client.
Running Locally
cd kubernetes-claude-mcp
go run ./cmd/server/main.goWith Debug Logging:
LOG_LEVEL=debug go run ./cmd/server/main.go --config config.yamlServer will start and bind to the configured port in `config.yaml` (default: 8080).
Building and Running with Docker
1. Build the Image
cd kubernetes-claude-mcp
docker build -t claude-mcp-server -f Dockerfile .2. Run the Container (second build option included)
cd kubernetes-claude-mcp
docker-compose build
docker-compose up -dProduction Deployment
A Helm chart is included in the repository for Kubernetes deployment:
1. Navigate to the Helm Chart Directory
cd kubernetes-claude-mcp/deployments/helm2. Deploy with Helm
Update `values.yaml` with appropriate values and run:
helm install claude-mcp .To upgrade:
helm upgrade claude-mcp .Please ensure secrets and config maps are properly mounted and secured in the cluster.
API Documentation
Below are the primary endpoints exposed by the MCP server. All requests require the `X-API-Key` header:
General
- Health Check
- `GET /api/v1/health`
Kubernetes
- List Namespaces
- `GET /api/v1/namespaces`
- List Resources
- `GET /api/v1/resources/{kind}?namespace={ns}`
- Get Specific Resource
- `GET /api/v1/resources/{kind}/{name}?namespace={ns}`
- Get Events for a Resource
- `GET /api/v1/events?namespace={ns}&resource={kind}&name={name}`
ArgoCD
- List Applications
- `GET /api/v1/argocd/applications`
Claude MCP Endpoints
- Analyze Resource
- `POST /api/v1/mcp/resource`
- Troubleshoot Resource
- `POST /api/v1/mcp/troubleshoot`
- Commit Analysis (GitLab)
- `POST /api/v1/mcp/commit`
- Generic MCP Request
- `POST /api/v1/mcp`
All POST endpoints accept a JSON payload containing fields such as:
{
"resource": "pod",
"name": "example-pod",
"namespace": "default",
"query": "What’s wrong with this pod?"
}Postman Collection
A ready-to-use Postman collection will be available soon.
Donation
Please contribute to our coffee fund to help us continue to do great things Buy Me Coffee
License
This project is licensed under the MIT License.
Contributing
Documentation will be expanded soon. If you’d like to contribute, feel free to open a pull request or file an issue!
Frequently asked questions
What is kubernetes-mcp-server?
kubernetes-mcp-server is A GitOps Model Context Protocol (MCP) Server.
How do I install kubernetes-mcp-server?
Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.
Is kubernetes-mcp-server open source?
Yes — it is hosted on GitHub at https://github.com/Blankcut/kubernetes-mcp-server and has 9 stars.
Related MCP tools
The missing open-source Kubernetes UI with a built-in MCP server for AI agents. See what's broken, why, and what changed. Issues, Topology, event timeline, Helm, GitOps, live service traffic, and cluster audits - all in one Go binary.
eBPF-powered network observability for Kubernetes. Indexes L4/L7 traffic with full K8s context, decrypts TLS without keys. Queryable by AI agents via MCP and humans via dashboard.
mcp-language-server gives MCP enabled clients access semantic tools like get definition, references, rename, and diagnostics.
Run MATLAB® using AI applications with the official MATLAB MCP Server from MathWorks®. This MCP server for MATLAB supports a wide range of coding agents like Claude Code® and Visual Studio® Code.
One place to manage & connect to all your MCP servers
GOWA - WhatsApp REST API with support for UI, Multi Account, Webhooks, and MCP, and Chatwoot. Built with Golang for efficient memory use.
Run your own MCP server? See who uses it and what to fix.
Measure it with TrackMCP