Kubernetes MCP sunucusu OpenShift desteğiyle, **herhangi bir** Kubernetes kaynağına yönelik CRUD işlemleri sağlamasının yanı sıra kümenizle etkileşim kurmak için özel araçlar sunar.
Claude Desktop config.json'a ekle
{
"mcpServers": {
"containers-kubernetes-mcp-server": {
"command": "node",
"args": [
"~/.mcp/kubernetes-mcp-server/index.js"
]
}
}
} Kaynak kodu al ve yerel olarak çalıştır
git clone https://github.com/containers/kubernetes-mcp-server.git ~/.mcp/kubernetes-mcp-server
cd ~/.mcp/kubernetes-mcp-server ✨ Özellikler | 🚀 Başlarken | 🎥 Demolar | ⚙️ Yapılandırma | 🛠️ Araçlar | 💬 Topluluk | 🧑💻 Geliştirme
https://github.com/user-attachments/assets/be2b67b3-fc1c-4d11-ae46-93deba8ed98e
Kubernetes ve OpenShift desteğine sahip güçlü ve esnek bir Kubernetes Model Context Protocol (MCP) sunucusu uygulaması.
.kube/config veya cluster içi yapılandırmayı görüntüleyin ve yönetin./stats endpoint'ini içerir. Bkz. OTEL.md.Diğer Kubernetes MCP sunucusu uygulamalarının aksine, bu sadece kubectl veya helm komut satırı araçlarının etrafında bir sarmalayıcı DEĞİLDİR.
Bu, doğrudan Kubernetes API sunucusu ile etkileşime giren Go tabanlı native bir uygulamadır.
Sistemde yüklü olması gereken DÖŞ HARICI bağımlılık veya araç YOKTUR. Native ikili dosyaları kullanıyorsanız, sisteminizde Node veya Python yüklü olması gerekmez.
Kullanıcı dokumentasyonumuzda Claude Code başlangıç rehberine bakın.
Adanmış ServiceAccount ve salt okunur erişim ile güvenli bir üretim kurulumu için Kubernetes kurulum rehberine de bakın.
npm yüklüyse, bu kubernetes-mcp-server ile Claude Desktop'ta başlamanın en hızlı yoludur.
claude_desktop_config.json dosyanızı açın ve mcp sunucusunu mcpServers listesine ekleyin:
{
"mcpServers": {
"kubernetes": {
"command": "npx",
"args": ["-y", "kubernetes-mcp-server@latest"]
}
}
}
Aşağıdaki linki basarak VS Code Insiders'da Kubernetes MCP server uzantısını yükleyin:
Alternatif olarak, aşağıdaki komutu çalıştırarak uzantıyı manuel olarak yükleyebilirsiniz:
# VS Code için
code --add-mcp '{"name":"kubernetes","command":"npx","args":["kubernetes-mcp-server@latest"]}'
# VS Code Insiders için
code-insiders --add-mcp '{"name":"kubernetes","command":"npx","args":["kubernetes-mcp-server@latest"]}'
Aşağıdaki linki basarak Cursor'da Kubernetes MCP server uzantısını yükleyin:
Alternatif olarak, mcp.json dosyasını düzenleyerek uzantıyı manuel olarak yükleyebilirsiniz:
{
"mcpServers": {
"kubernetes-mcp-server": {
"command": "npx",
"args": ["-y", "kubernetes-mcp-server@latest"]
}
}
}
Goose CLI yapay zeka (AI) ajanları ile başlamak için en kolay (ve en ucuz) yoldur.
npm yüklüyse, bu kubernetes-mcp-server ile başlamanın en hızlı yoludur.
Goose config.yaml dosyanızı açın ve mcp sunucusunu mcpServers listesine ekleyin:
extensions:
kubernetes:
command: npx
args:
- -y
- kubernetes-mcp-server@latest
Kubernetes MCP server'ının Claude Desktop tarafından, herhangi bir kullanıcı yardımı olmadan OpenShift'te bir deployment'ı otomatik olarak teşhis etmek ve düzeltmek için nasıl kullanıldığını gösteren demo.
https://github.com/user-attachments/assets/a576176d-a142-4c19-b9aa-a83dc4b8d941
Bu demoda, VS Code kullanarak basit bir oyunu Vibe Coding yapma sürecini ve bunu OpenShift'e dağıtmak için Podman MCP server ve Kubernetes MCP server'ını nasıl kullanacağınızı göstereceğim.
Bu demoda, Kubernetes MCP server'ını VS code'da nasıl kuracağınızı bir linki tıklayarak göstereceğim.
Kubernetes MCP server'ı komut satırı (CLI) argümanları kullanılarak yapılandırılabilir.
CLI yürütülebilir dosyasını npx, uvx kullanarak veya son yayın ikili dosyasını indirerek çalıştırabilirsiniz.
# Kubernetes MCP server'ını npx kullanarak çalıştırın (node ve npm yüklüyse)
npx kubernetes-mcp-server@latest --help
# Kubernetes MCP server'ını uvx kullanarak çalıştırın (uv ve python yüklüyse)
uvx kubernetes-mcp-server@latest --help
# Kubernetes MCP server'ını en son yayın ikili dosyasını kullanarak çalıştırın
./kubernetes-mcp-server --help
| Seçenek | Açıklama |
|---|---|
--port |
MCP sunucusunu Streamable HTTP modu (path /mcp) ve Server-Sent Event (SSE) (path /sse) modunda başlatır ve belirtilen port'ta dinler. |
--log-level |
Günlüğe kaydetme seviyesini ayarlar (değerler 0-9 arası). kubectl günlüğe kaydetme seviyelerine benzer. |
--config |
(İsteğe bağlı) Ana TOML yapılandırma dosyasının yolu. Ayrıntılar için Yapılandırma Referansı'na bakın. |
--config-dir |
(İsteğe bağlı) Drop-in yapılandırma dizininin yolu. Dosyalar sözlüksel (alfabetik) sırada yüklenir. --config belirtilirse ana config dosyasına göre conf.d olarak varsayılan ayarlanır. Ayrıntılar için Yapılandırma Referansı'na bakın. |
--kubeconfig |
Kubernetes yapılandırma dosyasının yolu. Sağlanmazsa, yapılandırmayı çözümlemeye çalışır (cluster içi, varsayılan konum, vb.). |
--list-output |
Kaynak listesi işlemleri için çıktı biçimi (biri: yaml, table) (varsayılan "table") |
--read-only |
Ayarlanırsa, MCP sunucusu salt okunur modda çalışır, yani Kubernetes cluster'ına herhangi bir yazma işlemine (oluştur, güncelle, sil) izin vermez. Bu, cluster'ı değişiklikler yapmadan hata ayıklamak veya incelemek için yararlıdır. |
--disable-destructive |
Ayarlanırsa, MCP sunucusu Kubernetes cluster'ı üzerindeki tüm yıkıcı işlemleri (sil, güncelle, vb.) devre dışı bırakır. Bu, cluster'ı yanlışlıkla değişiklik yapmadan hata ayıklamak veya incelemek için yararlıdır. Bu seçenek --read-only kullanıldığında hiçbir etkisi yoktur. |
--stateless |
Ayarlanırsa, MCP sunucusu durum bilgisiz modda çalışır, araç ve istem değişiklik bildirimlerini devre dışı bırakır. Bu, müşteri durumunun korunması istenmediği container dağıtımları, yük dengeleme ve serverless ortamlar için yararlıdır. |
--toolsets |
Etkinleştirilecek araç setlerinin virgülle ayrılmış listesi. Daha fazla bilgi için 🛠️ Araçlar ve İşlevsellik bölümünü kontrol edin. |
--disable-multi-cluster |
Ayarlanırsa, MCP sunucusu multi-cluster desteğini devre dışı bırakır ve kubeconfig dosyasındaki yalnızca geçerli context'i kullanır. Bunu, MCP sunucusunu tek bir cluster'a kısıtlamak istiyorsanız yararlıdır. |
--cluster-provider |
Kullanılacak cluster sağlayıcı stratejisi (biri: kubeconfig, in-cluster, kcp, disabled). Ayarlanmazsa, sunucu ortama göre otomatik olarak algılar. |
Not: Çoğu CLI seçeneğinin eşdeğer TOML yapılandırma alanları vardır.
--disable-multi-clusterbayrağı TOML'decluster_provider_strategy = "disabled"ayarlamaya eşdeğerdir. Tüm TOML seçenekleri için Yapılandırma Referansı'na bakın.
Karmaşık veya kalıcı yapılandırmalar için CLI argümanları yerine TOML yapılandırma dosyalarını kullanın:
kubernetes-mcp-server --config /etc/kubernetes-mcp-server/config.toml
Örnek yapılandırma:
log_level = 2
read_only = true
toolsets = ["core", "config", "helm", "kubevirt"]
# Hassas kaynaklara erişimi reddet
[[denied_resources]]
group = ""
version = "v1"
kind = "Secret"
[telemetry]
endpoint = "http://localhost:4317"
Kapsamlı TOML yapılandırma dokümantasyonu için, dahil:
Yapılandırma Referansı'na bakın.
Sunucu, MCP günlüğe kaydetme yeteneğini destekler ve istemcilerin yapılandırılmış günlük mesajları aracılığıyla hata ayıklama bilgisi almasını sağlar. Kubernetes API hataları otomatik olarak kategorize edilir ve uygun önem düzeyleri ile istemcilere günlüğe kaydedilir. Hassas veriler (token'lar, anahtarlar, parolalar, bulut kimlik bilgileri) istemcilere gönderilmeden önce otomatik olarak silinir.
MCP Günlüğe Kaydetme Rehberi'ne bakın.
Kubernetes MCP server'ı --toolsets komut satırı bayrağı veya toolsets yapılandırma seçeneği aracılığıyla belirli araç ve işlevsellik gruplarını (araçlar, kaynaklar, promptlar vb.) etkinleştirmeyi veya devre dışı bırakmayı destekler.
Bu, AI araçlarınız için hangi Kubernetes işlevselliğinin kullanılabilir olduğunu kontrol etmenizi sağlar.
Yalnızca ihtiyaç duyduğunuz araç setlerini etkinleştirmek, context boyutunu azaltmaya ve LLM'nin araç seçimi doğruluğunu iyileştirmeye yardımcı olabilir.
Aşağıdaki araç setleri mevcuttur (Varsayılan sütununda ✓ işareti bulunan araç setleri varsayılan olarak etkindir):
| Araç Seti | Açıklama | Varsayılan |
|---|---|---|
| config | Geçerli yerel Kubernetes yapılandırmasını (kubeconfig) görüntüleyin ve yönetin | ✓ |
| core | Kubernetes yönetimi için en yaygın araçlar (Pod'lar, Genel Kaynaklar, Event'ler, vb.) | ✓ |
| helm | Helm chart'larını ve yayınlarını yönetmek için araçlar | |
| kcp | Kcp çalışma alanlarını ve multi-tenancy özelliklerini yönetin | |
| kiali | Kiali'yi yönetmek için en yaygın araçlar, daha fazla ayrıntı için Kiali dokümantasyonuna bakın. | |
| kubevirt | KubeVirt sanal makine yönetimi araçları, daha fazla ayrıntı için KubeVirt dokümantasyonuna bakın. | |
| tekton | Tekton pipeline yönetimi araçları Pipelines, PipelineRuns, Tasks ve TaskRuns için. |
Multi-cluster desteği etkinse (varsayılan) ve birden fazla cluster'a erişiminiz varsa, tüm uygulanabilir araçlar, o işlem için kullanılacak Kubernetes context'ini (cluster'ı) belirtmek için ek bir context argümanı içerecektir.
configuration_contexts_list - Kubeconfig dosyasından tüm kullanılabilir context adlarını ve ilişkili sunucu url'lerini listeleyin
targets_list - Tüm kullanılabilir hedefleri listeleyin
configuration_view - Geçerli Kubernetes yapılandırma içeriğini kubeconfig YAML olarak alın
minified (boolean) - Yapılandırmanın minifiye edilmiş bir versiyonunu döndürün. True olarak ayarlanırsa, yalnızca geçerli context ve o context'in yapılandırmasının ilgili parçalarını tutar. False olarak ayarlanırsa, tüm context'ler, cluster'lar, auth-info'lar ve kullanıcılar yapılandırmada döndürülür. (İsteğe bağlı, varsayılan true)events_list - Hata ayıklamak ve sorun gidermek için geçerli cluster'daki tüm namespace'lerden Kubernetes event'lerini (uyarılar, hatalar, durum değişiklikleri) listeleyin
fieldSelector (string) - Event'leri alan değerlerine göre filtrelemek için isteğe bağlı Kubernetes field selector'ı (örn. 'type=Warning', 'involvedObject.name=my-pod'). Desteklenen alanlar: involvedObject.kind, involvedObject.name, involvedObject.namespace, involvedObject.uid, involvedObject.apiVersion, involvedObject.resourceVersion, involvedObject.fieldPath, reason, reportingComponent, source, type. Bkz. https://kubernetes.io/docs/concepts/overview/working-with-objects/field-selectors/namespace (string) - Event'leri alacak isteğe bağlı Namespace. Sağlanmazsa, tüm namespace'lerden event'leri listelernamespaces_list - Geçerli cluster'daki tüm Kubernetes namespace'lerini listeleyin
fieldSelector (string) - Namespace'leri alan değerlerine göre filtrelemek için isteğe bağlı Kubernetes field selector'ı (örn. 'metadata.name=default', 'status.phase=Active'). Desteklenen alanlar: metadata.name, status.phase. Bkz. https://kubernetes.io/docs/concepts/overview/working-with-objects/field-selectors/projects_list - Geçerli cluster'daki tüm OpenShift project'lerini listeleyin
nodes_log - Kubernetes node'undan günlükleri alın (kubelet, kube-proxy veya diğer sistem günlükleri). Bu, Kubernetes API proxy'si aracılığıyla kubelet'e erişir
name (string) (gerekli) - Günlükleri alınacak node'un adıquery (string) (gerekli) - query, günlüklerin döndürüleceği servis(ler) veya dosyaları belirtir (gerekli). Örnek: kubelet günlüklerini almak için "kubelet", node'dan belirli bir günlük dosyasını almak için "/tailLines (integer) - Günlüklerin sonundan alınacak satır sayısı (İsteğe bağlı, 0 tüm günlükleri anlamına gelir)nodes_stats_summary - Kubelet'in Summary API'sı aracılığıyla Kubernetes node'undan ayrıntılı kaynak kullanım istatistikleri alın. CPU, bellek, dosya sistemi ve ağ kullanımı dahil olmak üzere node, pod ve container seviyeleri de kapsamlı metrikler sağlar. cgroup v2 ve kernel 4.20+ olan sistemlerde PSI (Pressure Stall Information) metriklerini de içerir ve CPU, bellek ve I/O için kaynak baskısını gösterir. Bkz. https://kubernetes.io/docs/reference/instrumentation/understand-psi-metrics/ PSI metrikleri hakkında detaylar için
name (string) (gerekli) - Stats alınacak node'un adınodes_top - Kubernetes Metrics Server tarafından kaydedilen belirtilen Kubernetes Node'ları veya cluster'daki tüm node'lar için kaynak tüketimini (CPU ve bellek) listeleyin
label_selector (string) - Node'ları label'e göre filtrelemek için Kubernetes label selector'ı (örn. 'node-role.kubernetes.io/worker=') (İsteğe bağlı, yalnızca name sağlanmadığında uygulanabilir)name (string) - Kaynak tüketimini alacak Node'un adı (İsteğe bağlı, name sağlanmazsa tüm Node'lar)pods_list - Geçerli cluster'daki t
AWS MCP sunucuları, AWS hizmetleri ve kaynaklarıyla sorunsuz entegrasyon için tasarlanmıştır.
Kubernetes toplu port yönlendirmesi, service discovery, /etc/hosts yönetimi, traffic izleme ve pod log akışını bir arada sunan araç.
Cloudflare Workers, KV, R2 ve D1 hizmetleriyle entegrasyon
Kubernetes kümesi işlemleri için pod, deployment ve service yönetimini sağlayan TypeScript uygulaması.
Resmi Terraform MCP Server, Terraform ekosistemiyle sorunsuz bir şekilde entegre olarak sağlayıcı keşfedilmesi, modül analizi ve Registry API entegrasyonu sağlayarak gelişmiş Infrastructure as Code iş akışlarını destekler.
WeChat Mini-Program ve full-stack uygulamalar için hepsi-bir-arada backend servisleri. Serverless cloud function'lar, veritabanları ve WeChat ekosistemi üzerinden Çin pazarına erişimle birlikte production'a tek tıklamayla deployment yapılabilen özel MCP araçları sunar.