Kubernetes MCP Server
offiziellEin Claude Kubernetes MCP-Server, entwickelt in Go. Der Server integriert sich mit ArgoCD, GitLab, Claude AI und Kubernetes, um erweiterte Steuerung und Automatisierung von Kubernetes-Umgebungen zu ermöglichen.
Dokumentation
Claude Kubernetes MCP Server
Ein Model Context Protocol (MCP) Server für die Verwaltung von Kubernetes-Clustern mit ArgoCD- und GitLab-Integration.
Dieses Repository enthält den Claude Kubernetes MCP (Model Context Protocol) Server, entwickelt in Go. Der Server integriert sich mit ArgoCD, GitLab, Claude AI und Kubernetes, um eine erweiterte Steuerung und Automatisierung von Kubernetes-Umgebungen zu ermöglichen.
Unsere Dokumentation finden Sie hier
Inhaltsverzeichnis
- Übersicht
- Voraussetzungen
- Einrichtungsanleitung
- Konfiguration
- Lokal ausführen
- Bauen und Ausführen mit Docker
- Produktionsbereitstellung
- API-Dokumentation
- Postman-Sammlung
- Lizenz
Übersicht
Dieser Server dient der Orchestrierung von Kubernetes-Workloads unter Verwendung von Claude AI, GitLab, ArgoCD und Vault. Er stellt eine REST-API bereit, die die programmatische Interaktion mit diesen Systemen ermöglicht, gesteuert durch einen konfigurierten config.yaml und authentifiziert mittels eines API-Schlüssels.
Voraussetzungen
- Go 1.20+
- Docker
- Kubernetes-Cluster & gültige
~/.kube/config - EKS-Cluster mit lokal gesetztem AWS_PROFILE
- ArgoCD-Anmeldeinformationen
- Persönlicher GitLab-Zugriffstoken
- Claude API-Schlüssel (Anthropic)
- Vault-Anmeldeinformationen (optional, je nach Verwendung)
Einrichtungsanleitung
1. Repository klonen
git clone https://github.com/blankcut/kubernetes-mcp-server.git
cd kubernetes-mcp-server
2. Erforderliche Umgebungsvariablen exportieren
Exportieren Sie die Anmeldeinformationen für ArgoCD, GitLab und 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"
Stellen Sie sicher, dass eine Kubeconfig verfügbar ist:
export KUBECONFIG=~/.kube/config
3. config.yaml konfigurieren
Aktualisieren Sie kubernetes-claude-mcp/config.yaml mit Anmeldeinformationen und Servereinstellungen:
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.3
Sie können die bereitgestellten Go-Vorlagen oder die Methode der Umgebungsvariablen-Interpolation verwenden.
4. API-Schlüssel für Postman hinzufügen
Bitte stellen Sie sicher, dass eine config.yaml einen apiKey enthält. Dieser wird zur Authentifizierung von Anfragen in Postman oder einem anderen externen Client verwendet.
Lokal ausführen
cd kubernetes-claude-mcp
go run ./cmd/server/main.go
Mit Debug-Protokollierung:
LOG_LEVEL=debug go run ./cmd/server/main.go --config config.yaml
Der Server startet und bindet an den in config.yaml konfigurierten Port (Standard: 8080).
Bauen und Ausführen mit Docker
1. Image bauen
cd kubernetes-claude-mcp
docker build -t claude-mcp-server -f Dockerfile .
2. Container ausführen (zweite Build-Option enthalten)
cd kubernetes-claude-mcp
docker-compose build
docker-compose up -d
Produktionsbereitstellung
Ein Helm-Chart ist im Repository für die Kubernetes-Bereitstellung enthalten:
1. Zum Helm-Chart-Verzeichnis navigieren
cd kubernetes-claude-mcp/deployments/helm
2. Mit Helm bereitstellen
Aktualisieren Sie values.yaml mit geeigneten Werten und führen Sie aus:
helm install claude-mcp .
Zum Aktualisieren:
helm upgrade claude-mcp .
Bitte stellen Sie sicher, dass Secrets und Config Maps ordnungsgemäß im Cluster eingebunden und gesichert sind.
API-Dokumentation
Nachfolgend sind die primären Endpunkte aufgeführt, die der MCP-Server bereitstellt. Alle Anfragen erfordern den X-API-Key-Header:
Allgemein
- Health Check
GET /api/v1/health
Kubernetes
- Namespaces auflisten
GET /api/v1/namespaces
- Ressourcen auflisten
GET /api/v1/resources/{kind}?namespace={ns}
- Bestimmte Ressource abrufen
GET /api/v1/resources/{kind}/{name}?namespace={ns}
- Ereignisse für eine Ressource abrufen
GET /api/v1/events?namespace={ns}&resource={kind}&name={name}
ArgoCD
- Anwendungen auflisten
GET /api/v1/argocd/applications
Claude MCP Endpunkte
- Ressource analysieren
POST /api/v1/mcp/resource
- Ressource Fehlerbehebung
POST /api/v1/mcp/troubleshoot
- Commit-Analyse (GitLab)
POST /api/v1/mcp/commit
- Generische MCP-Anfrage
POST /api/v1/mcp
Alle POST-Endpunkte akzeptieren eine JSON-Nutzlast mit Feldern wie:
{
"resource": "pod",
"name": "example-pod",
"namespace": "default",
"query": "What’s wrong with this pod?"
}
Postman-Sammlung
Eine gebrauchsfertige Postman-Sammlung wird in Kürze verfügbar sein.
Spende
Bitte unterstützen Sie unseren Kaffeefonds, damit wir weiterhin Großartiges leisten können Buy Me Coffee
Lizenz
Dieses Projekt ist unter der MIT-Lizenz lizenziert.
Mitwirken
Die Dokumentation wird in Kürze erweitert. Wenn Sie mitwirken möchten, können Sie gerne einen Pull-Request öffnen oder ein Issue einreichen!