Kubernetes MCP Server
resmiGo ile oluşturulmuş bir Claude Kubernetes MCP sunucusu. Bu sunucu, ArgoCD, GitLab, Claude AI ve Kubernetes ile entegre olarak Kubernetes ortamlarının gelişmiş kontrolü ve otomasyonunu sağlar.
Kubernetes MCP ile neler yapabilirsiniz?
- Küme kaynaklarını incele — Asistanınızdan
GET /api/v1/namespacesveGET /api/v1/resources/{kind}aracılığıyla her türden ad alanını veya kaynağı listelemesini isteyin. - Belirli bir kaynağı sorun gider — Asistanın
POST /api/v1/mcp/troubleshootuç noktasını kullanarakexample-podgibi bir pod'u analiz etmesini veya sorun gidermesini sağlayın. - GitLab commit'lerini gözden geçir — Yapay zeka destekli içgörüler elde etmek için
POST /api/v1/mcp/commituç noktası üzerinden bir commit analizi talep edin. - ArgoCD uygulamalarını kontrol et —
GET /api/v1/argocd/applicationsaracılığıyla tüm ArgoCD uygulamalarının listesini isteyin. - Kaynaklar üzerinde özel yapay zeka sorguları — Kümenizdeki herhangi bir kaynak hakkında özel bir sorguyla genel bir MCP isteği (
POST /api/v1/mcp) gönderin.
Dokümantasyon
Claude Kubernetes MCP Sunucusu
ArgoCD ve GitLab entegrasyonu ile Kubernetes küme yönetimi için bir Model Context Protocol (MCP) sunucusu.
Bu depo, Go dilinde yazılmış Claude Kubernetes MCP (Model Context Protocol) sunucusunu içerir. Sunucu, Kubernetes ortamlarının gelişmiş kontrolü ve otomasyonunu sağlamak için ArgoCD, GitLab, Claude AI ve Kubernetes ile entegre olur.
Dokümantasyonumuzu Buradan Görüntüleyin
İçindekiler
- Genel Bakış
- Ön Koşullar
- Kurulum Talimatları
- Yapılandırma
- Yerel Olarak Çalıştırma
- Docker ile Derleme ve Çalıştırma
- Üretim Dağıtımı
- API Dokümantasyonu
- Postman Koleksiyonu
- Lisans
Genel Bakış
Bu sunucu, Claude AI, GitLab, ArgoCD ve Vault kullanarak Kubernetes iş yüklerini düzenlemek için tasarlanmıştır. Yapılandırılmış bir config.yaml tarafından yönlendirilen ve bir API anahtarı kullanılarak doğrulanan bu sistemlerle programatik etkileşime olanak tanıyan bir REST API sunar.
Ön Koşullar
- Go 1.20+
- Docker
- Kubernetes kümesi ve geçerli
~/.kube/config - AWS_PROFILE yerel olarak ayarlanmış EKS kümesi
- ArgoCD kimlik bilgileri
- GitLab kişisel erişim belirteci
- Claude API anahtarı (Anthropic)
- Vault kimlik bilgileri (kullanıma bağlı olarak isteğe bağlı)
Kurulum Talimatları
1. Depoyu Klonlayın
git clone https://github.com/blankcut/kubernetes-mcp-server.git
cd kubernetes-mcp-server
2. Gerekli Ortam Değişkenlerini Dışa Aktarın
ArgoCD, GitLab ve Claude için kimlik bilgilerini dışa aktarın:
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"
Bir kubeconfig dosyasının mevcut olduğundan emin olun:
export KUBECONFIG=~/.kube/config
3. config.yaml Yapılandırın
kubernetes-claude-mcp/config.yaml dosyasını kimlik bilgileri ve sunucu tercihleriyle güncelleyin:
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
Sağlanan Go şablonlarını veya ortam değişkeni enterpolasyon yöntemini kullanabilirsiniz.
4. Postman için API Anahtarı Ekleyin
Lütfen bir config.yaml içinde bir apiKey bulundurduğunuzdan emin olun. Bu, Postman veya herhangi bir harici istemcide isteklerin kimliğini doğrulamak için kullanılacaktır.
Yerel Olarak Çalıştırma
cd kubernetes-claude-mcp
go run ./cmd/server/main.go
Hata Ayıklama Günlüğü ile:
LOG_LEVEL=debug go run ./cmd/server/main.go --config config.yaml
Sunucu başlayacak ve config.yaml içinde yapılandırılan bağlantı noktasına bağlanacaktır (varsayılan: 8080).
Docker ile Derleme ve Çalıştırma
1. İmajı Derleyin
cd kubernetes-claude-mcp
docker build -t claude-mcp-server -f Dockerfile .
2. Konteyneri Çalıştırın (ikinci derleme seçeneği dahildir)
cd kubernetes-claude-mcp
docker-compose build
docker-compose up -d
Üretim Dağıtımı
Kubernetes dağıtımı için depoya bir Helm grafiği dahildir:
1. Helm Grafiği Dizinine Gidin
cd kubernetes-claude-mcp/deployments/helm
2. Helm ile Dağıtın
values.yaml dosyasını uygun değerlerle güncelleyin ve çalıştırın:
helm install claude-mcp .
Yükseltmek için:
helm upgrade claude-mcp .
Lütfen sırların ve yapılandırma haritalarının kümede düzgün şekilde bağlandığından ve güvence altına alındığından emin olun.
API Dokümantasyonu
Aşağıda MCP sunucusu tarafından sunulan birincil uç noktalar bulunmaktadır. Tüm istekler X-API-Key başlığını gerektirir:
Genel
- Sağlık Kontrolü
GET /api/v1/health
Kubernetes
- Ad Alanlarını Listele
GET /api/v1/namespaces
- Kaynakları Listele
GET /api/v1/resources/{kind}?namespace={ns}
- Belirli Bir Kaynağı Al
GET /api/v1/resources/{kind}/{name}?namespace={ns}
- Bir Kaynak için Olayları Al
GET /api/v1/events?namespace={ns}&resource={kind}&name={name}
ArgoCD
- Uygulamaları Listele
GET /api/v1/argocd/applications
Claude MCP Uç Noktaları
- Kaynağı Analiz Et
POST /api/v1/mcp/resource
- Kaynağı Sorun Gider
POST /api/v1/mcp/troubleshoot
- Commit Analizi (GitLab)
POST /api/v1/mcp/commit
- Genel MCP İsteği
POST /api/v1/mcp
Tüm POST uç noktaları aşağıdaki gibi alanlar içeren bir JSON yükünü kabul eder:
{
"resource": "pod",
"name": "example-pod",
"namespace": "default",
"query": "What’s wrong with this pod?"
}
Postman Koleksiyonu
Kullanıma hazır bir Postman koleksiyonu yakında sunulacaktır.
Bağış
Harika şeyler yapmaya devam etmemize yardımcı olmak için kahve fonumuza katkıda bulunun Bana Kahve Ismarla
Lisans
Bu proje MIT Lisansı altında lisanslanmıştır.
Katkıda Bulunma
Dokümantasyon yakında genişletilecektir. Katkıda bulunmak isterseniz, bir çekme isteği açmaktan veya bir sorun bildirmekten çekinmeyin!