Integrations
Allows viewing and managing Kubernetes resources including configuration, generic resources, and pods. Supports operations like CRUD on any Kubernetes resource, listing/getting/deleting pods, showing pod logs, and running container images.
Kubernetes MCP Server
✨ Funktionen | 🚀 Erste Schritte | 🎥 Demos | ⚙️ Konfiguration | 🛠️ Tools | 🧑💻 Entwicklung
https://github.com/user-attachments/assets/be2b67b3-fc1c-4d11-ae46-93deba8ed98e
✨ Funktionen
Eine leistungsstarke und flexible Kubernetes Model Context Protocol (MCP) -Serverimplementierung mit Unterstützung für Kubernetes und OpenShift .
- ✅ Konfiguration :
- Erkennen Sie automatisch Änderungen in der Kubernetes-Konfiguration und aktualisieren Sie den MCP-Server.
- Zeigen Sie die aktuelle Kubernetes
.kube/config
oder Cluster-Konfiguration an und verwalten Sie sie.
- ✅ Allgemeine Kubernetes-Ressourcen : Führen Sie Vorgänge an beliebigen Kubernetes- oder OpenShift-Ressourcen durch.
- Jede CRUD-Operation (Erstellen oder Aktualisieren, Abrufen, Auflisten, Löschen).
- ✅ Pods : Führen Sie Pod-spezifische Vorgänge durch.
- Listen Sie Pods in allen Namespaces oder in einem bestimmten Namespace auf.
- Holen Sie sich einen Pod nach Namen aus dem angegebenen Namespace.
- Löschen Sie einen Pod nach Namen aus dem angegebenen Namespace.
- Zeigen Sie Protokolle für einen Pod nach Namen aus dem angegebenen Namespace an.
- Führen Sie Exec in einen Pod aus und führen Sie einen Befehl aus.
- Führen Sie ein Container-Image in einem Pod aus und stellen Sie es optional bereit.
- ✅ Namespaces : Kubernetes-Namespaces auflisten.
- ✅ Ereignisse : Zeigen Sie Kubernetes-Ereignisse in allen Namespaces oder in einem bestimmten Namespace an.
- ✅ Projekte : OpenShift-Projekte auflisten.
Im Gegensatz zu anderen Kubernetes MCP-Serverimplementierungen ist dies NICHT nur ein Wrapper um die Befehlszeilentools kubectl
oder helm
.
Es ist NICHT erforderlich , externe Abhängigkeiten oder Tools auf dem System zu installieren. Wenn Sie die nativen Binärdateien verwenden, müssen Sie nicht einmal Node oder Python auf Ihrem System installiert haben.
🚀 Erste Schritte
Anforderungen
- Zugriff auf einen Kubernetes-Cluster.
Claude Desktop
Verwenden von npx
Wenn Sie npm installiert haben, ist dies der schnellste Weg, um mit kubernetes-mcp-server
auf Claude Desktop zu beginnen.
Öffnen Sie Ihre claude_desktop_config.json
und fügen Sie den MCP-Server zur Liste der mcpServers
hinzu:
VS Code / VS Code Insider
Installieren Sie die Kubernetes MCP-Servererweiterung in VS Code Insiders, indem Sie auf den folgenden Link klicken:
Alternativ können Sie die Erweiterung manuell installieren, indem Sie den folgenden Befehl ausführen:
Goose-Befehlszeilenschnittstelle
Goose CLI ist der einfachste (und günstigste) Weg, um mit Agenten auf Basis künstlicher Intelligenz (KI) loszulegen.
Verwenden von npm
Wenn Sie npm installiert haben, ist dies der schnellste Weg, um mit kubernetes-mcp-server
zu beginnen.
Öffnen Sie Ihre Goose config.yaml
und fügen Sie den MCP-Server zur Liste der mcpServers
hinzu:
🎥 Demos
Diagnose und automatische Behebung einer OpenShift-Bereitstellung
Demo, die zeigt, wie der Kubernetes MCP-Server von Claude Desktop genutzt wird, um eine Bereitstellung in OpenShift ohne Benutzereingriff automatisch zu diagnostizieren und zu reparieren.
https://github.com/user-attachments/assets/a576176d-a142-4c19-b9aa-a83dc4b8d941
Vibe: Ein einfaches Spiel programmieren und in OpenShift bereitstellen
In dieser Demo führe ich Sie durch den Prozess der Vibe-Codierung eines einfachen Spiels mit VS Code und zeige Ihnen, wie Sie den Podman MCP-Server und den Kubernetes MCP-Server nutzen, um es in OpenShift bereitzustellen.
⚙️ Konfiguration
Der Kubernetes MCP-Server kann mithilfe von Befehlszeilenargumenten (CLI) konfiguriert werden.
Sie können die ausführbare CLI-Datei entweder mithilfe von npx
oder uvx
ausführen oder indem Sie die Binärdatei der neuesten Version herunterladen.
Konfigurationsoptionen
Option | Beschreibung |
---|---|
--sse-port | Startet den MCP-Server im Server-Sent Event (SSE)-Modus und lauscht auf dem angegebenen Port. |
--log-level | Legt die Protokollierungsebene fest (Werte von 0-9 ). Ähnlich wie kubectl logging levels . |
--kubeconfig | Pfad zur Kubernetes-Konfigurationsdatei. Falls nicht angegeben, wird versucht, die Konfiguration aufzulösen (im Cluster, Standardspeicherort usw.). |
🛠️ Werkzeuge
configuration_view
Holen Sie sich den aktuellen Kubernetes-Konfigurationsinhalt als kubeconfig YAML
Parameter:
minified
(boolean
, optional, Standard:true
)- Gibt eine minimierte Version der Konfiguration zurück
- Wenn
true
, werden nur der aktuelle Kontext und relevante Konfigurationsteile beibehalten. - Wenn
false
, werden alle Kontexte, Cluster, Authentifizierungsinformationen und Benutzer zurückgegeben
events_list
Listen Sie alle Kubernetes-Ereignisse im aktuellen Cluster aus allen Namespaces auf
Parameter:
namespace
(string
, optional)- Namespace, aus dem die Ereignisse abgerufen werden sollen. Falls nicht angegeben, werden Ereignisse aus allen Namespaces aufgelistet.
namespaces_list
Listen Sie alle Kubernetes-Namespaces im aktuellen Cluster auf
Parameter: Keine
pods_delete
Löschen Sie einen Kubernetes-Pod im aktuellen oder angegebenen Namespace mit dem angegebenen Namen
Parameter:
name
(string
, erforderlich)- Name des zu löschenden Pods
namespace
(string
, erforderlich)- Namespace, aus dem der Pod gelöscht werden soll
pods_exec
Führen Sie einen Befehl in einem Kubernetes-Pod im aktuellen oder angegebenen Namespace mit dem angegebenen Namen und Befehl aus
Parameter:
command
(string[]
, erforderlich)- Im Pod-Container auszuführender Befehl
- Das erste Element ist der Befehl, der Rest sind Argumente
- Beispiel:
["ls", "-l", "/tmp"]
name
(Zeichenfolge, erforderlich)- Name des Pods
namespace
(Zeichenfolge, erforderlich)- Namespace des Pods
container
(string
, optional)- Name des Pod-Containers, aus dem Protokolle abgerufen werden sollen
pods_get
Holen Sie sich einen Kubernetes-Pod im aktuellen oder bereitgestellten Namespace mit dem angegebenen Namen
Parameter:
name
(string
, erforderlich)- Name des Pods
namespace
(string
, erforderlich)- Namespace, aus dem der Pod abgerufen werden soll
pods_list
Listen Sie alle Kubernetes-Pods im aktuellen Cluster aus allen Namespaces auf
Parameter: Keine
pods_list_in_namespace
Listen Sie alle Kubernetes-Pods im angegebenen Namespace im aktuellen Cluster auf
Parameter:
namespace
(string
, erforderlich)- Namespace zum Auflisten von Pods
pods_log
Holen Sie sich die Protokolle eines Kubernetes-Pods im aktuellen oder angegebenen Namespace mit dem angegebenen Namen
Parameter:
name
(string
, erforderlich)- Name des Pods, von dem Protokolle abgerufen werden sollen
namespace
(string
, erforderlich)- Namespace, aus dem die Pod-Protokolle abgerufen werden
container
(string
, optional)- Name des Pod-Containers, aus dem Protokolle abgerufen werden sollen
pods_run
Führen Sie einen Kubernetes-Pod im aktuellen oder bereitgestellten Namespace mit dem bereitgestellten Container-Image und optionalem Namen aus.
Parameter:
image
(string
, erforderlich)- Container-Image zur Ausführung im Pod
namespace
(string
, erforderlich)- Namespace zum Ausführen des Pods
name
(string
, optional)- Name des Pods (zufälliger Name, falls nicht angegeben)
port
(number
, optional)- Vom Pod-Container freizugebender TCP/IP-Port
- Wenn nicht angegeben, wird kein Port angezeigt
projects_list
Listen Sie alle OpenShift-Projekte im aktuellen Cluster auf
resources_create_or_update
Erstellen oder aktualisieren Sie eine Kubernetes-Ressource im aktuellen Cluster, indem Sie eine YAML- oder JSON-Darstellung der Ressource bereitstellen
Parameter:
resource
(string
, erforderlich)- Ein JSON oder YAML, das eine Darstellung der Kubernetes-Ressource enthält
- Sollte Felder der obersten Ebene wie API-Version, Art, Metadaten und Spezifikation enthalten
Zu den gängigen API-Versionen und -Arten gehören:
- v1 Pod
- v1-Dienst
- v1-Knoten
- apps/v1-Bereitstellung
- networking.k8s.io/v1 Ingress
resources_delete
Löschen einer Kubernetes-Ressource im aktuellen Cluster
Parameter:
apiVersion
(string
, erforderlich)- API-Version der Ressource (z. B.
v1
,apps/v1
,networking.k8s.io/v1
)
- API-Version der Ressource (z. B.
kind
(string
, erforderlich)- Art der Ressource (z. B.
Pod
,Service
,Deployment
,Ingress
)
- Art der Ressource (z. B.
name
(string
, erforderlich)- Name der Ressource
namespace
(string
, optional)- Namespace, aus dem die Namespace-Ressource gelöscht werden soll
- Wird für clusterbezogene Ressourcen ignoriert
- Verwendet den konfigurierten Namespace, falls nicht angegeben
resources_get
Holen Sie sich eine Kubernetes-Ressource im aktuellen Cluster
Parameter:
apiVersion
(string
, erforderlich)- API-Version der Ressource (z. B.
v1
,apps/v1
,networking.k8s.io/v1
)
- API-Version der Ressource (z. B.
kind
(string
, erforderlich)- Art der Ressource (z. B.
Pod
,Service
,Deployment
,Ingress
)
- Art der Ressource (z. B.
name
(string
, erforderlich)- Name der Ressource
namespace
(string
, optional)- Namespace, aus dem die Namespace-Ressource abgerufen werden soll
- Wird für clusterbezogene Ressourcen ignoriert
- Verwendet den konfigurierten Namespace, falls nicht angegeben
resources_list
Kubernetes-Ressourcen und -Objekte im aktuellen Cluster auflisten
Parameter:
apiVersion
(string
, erforderlich)- API-Version der Ressourcen (z. B.
v1
,apps/v1
,networking.k8s.io/v1
)
- API-Version der Ressourcen (z. B.
kind
(string
, erforderlich)- Art der Ressourcen (z. B.
Pod
,Service
,Deployment
,Ingress
)
- Art der Ressourcen (z. B.
namespace
(string
, optional)- Namespace zum Abrufen der Namespace-Ressourcen
- Wird für clusterbezogene Ressourcen ignoriert
- Listet Ressourcen aus allen Namespaces auf, sofern nicht angegeben
🧑💻 Entwicklung
Ausführen mit mcp-inspector
Kompilieren Sie das Projekt und führen Sie den Kubernetes MCP-Server mit mcp-inspector aus, um den MCP-Server zu überprüfen.
This server cannot be installed
local-only server
The server can only run on the client's local machine because it depends on local resources.
Eine leistungsstarke und flexible Kubernetes MCP-Serverimplementierung mit Unterstützung für OpenShift.
Related Resources
Related MCP Servers
- -securityAlicense-qualityThis project is intended as a both MCP server connecting to Kubernetes and a library to build more servers for any custom resources in Kubernetes.Last updated -267GoMIT License
- AsecurityFlicenseAqualityA MCP server that can run Kubernetes commands with a given kubeconfig path and provide interpretation of the commands.Last updated -12JavaScript
- -securityAlicense-qualityA read-only MCP server for Kubernetes that allows querying cluster information and diagnosing issues through natural language interfaces like Claude.Last updated -1PythonMIT License
- -securityAlicense-qualityProvides MCP multi-cluster Kubernetes management and operations, featuring a management interface, logging, and nearly 50 built-in tools covering common DevOps and development scenarios. Supports both standard and CRD resources.Last updated -245GoMIT License