mcp-server-kubernetes

by Flux159

Integrations

  • Docker support is in progress as mentioned in the 'In Progress' section

  • Support for Helm to install charts is listed as a planned feature

  • Allows connecting to a Kubernetes cluster to manage it, including listing, creating, deleting, and describing pods, services, deployments, and namespaces

MCP-Server Kubernetes

MCP-Server, der eine Verbindung zu einem Kubernetes-Cluster herstellen und diesen verwalten kann.

https://github.com/user-attachments/assets/f25f8f4e-4d04-479b-9ae0-5dac452dd2ed

Verwendung mit Claude Desktop

{ "mcpServers": { "kubernetes": { "command": "npx", "args": ["mcp-server-kubernetes"] } } }

Der Server verbindet sich automatisch mit Ihrem aktuellen Kubectl-Kontext. Stellen Sie sicher, dass Sie Folgendes haben:

  1. kubectl installiert und in Ihrem PATH
  2. Eine gültige Kubeconfig-Datei mit konfigurierten Kontexten
  3. Zugriff auf einen für kubectl konfigurierten Kubernetes-Cluster (z. B. Minikube, Rancher Desktop, GKE usw.)
  4. Helm v3 installiert und in Ihrem PATH (kein Tiller erforderlich). Optional, wenn Sie Helm nicht verwenden möchten.

Sie können Ihre Verbindung überprüfen, indem Sie Claude bitten, Ihre Pods aufzulisten oder eine Testbereitstellung zu erstellen.

Wenn Fehler auftreten, öffnen Sie ein Standardterminal und führen Sie kubectl get pods aus, um zu prüfen, ob Sie ohne Probleme mit den Anmeldeinformationen eine Verbindung zu Ihrem Cluster herstellen können.

Verwendung mit mcp-chat

mcp-chat ist ein CLI-Chat-Client für MCP-Server. Sie können ihn zur Interaktion mit dem Kubernetes-Server verwenden.

npx mcp-chat --server "npx mcp-server-kubernetes"

Alternativ können Sie Ihre vorhandene Claude Desktop-Konfigurationsdatei von oben übergeben (Linux sollte den richtigen Pfad zur Konfiguration übergeben):

Mac:

npx mcp-chat --config "~/Library/Application Support/Claude/claude_desktop_config.json"

Windows:

npx mcp-chat --config "%APPDATA%\Claude\claude_desktop_config.json"

Merkmale

  • [x] Verbindung zu einem Kubernetes-Cluster herstellen
  • [x] Liste alle Pods, Dienste, Bereitstellungen
  • [x] Auflisten, Knoten beschreiben
  • [x] Pod erstellen, beschreiben, löschen
  • [x] Alle Namespaces auflisten, einen Namespace erstellen
  • [x] Erstellen Sie benutzerdefinierte Pod- und Bereitstellungskonfigurationen und aktualisieren Sie Bereitstellungsreplikate
  • [x] Erstellen, Beschreiben, Löschen, Aktualisieren eines Dienstes
  • [x] Erstellen, Abrufen, Aktualisieren, Löschen einer ConfigMap
  • [x] Protokolle von einem Pod zum Debuggen abrufen (unterstützt Pods, Bereitstellungen, Jobs und Label-Selektoren)
  • [x] Unterstützung von Helm v3 für die Installation von Diagrammen
    • Installieren Sie Diagramme mit benutzerdefinierten Werten
    • Deinstallieren von Releases
    • Aktualisieren vorhandener Versionen
    • Unterstützung für Namespaces
    • Unterstützung für Versionsspezifikation
    • Unterstützung für benutzerdefinierte Repositories
  • [x] kubectl explain und kubectl api-resources Unterstützung
  • [x] Kubernetes-Ereignisse aus dem Cluster abrufen
  • [x] Portweiterleitung zu einem Pod oder Dienst
  • [x] Cronjobs erstellen, auflisten und beschreiben
  • [x] Nicht-destruktiver Modus für Lese- und Erstellungs-/Aktualisierungszugriff auf Cluster

Lokale Entwicklung

Stellen Sie sicher, dass Sie bun installiert haben. Klonen Sie das Repo und installieren Sie die Abhängigkeiten:

git clone https://github.com/Flux159/mcp-server-kubernetes.git cd mcp-server-kubernetes bun install

Entwicklungs-Workflow

  1. Starten Sie den Server im Entwicklungsmodus (achtet auf Dateiänderungen):
bun run dev
  1. Führen Sie Unit-Tests aus:
bun run test
  1. Erstellen Sie das Projekt:
bun run build
  1. Lokales Testen mit Inspector
npx @modelcontextprotocol/inspector node dist/index.js # Follow further instructions on terminal for Inspector link
  1. Lokales Testen mit Claude Desktop
{ "mcpServers": { "mcp-server-kubernetes": { "command": "node", "args": ["/path/to/your/mcp-server-kubernetes/dist/index.js"] } } }
  1. Lokales Testen mit mcp-chat
bun run chat

Beitragen

Weitere Einzelheiten finden Sie in der Datei CONTRIBUTING.md .

Fortschrittlich

Zusätzliche erweiterte Funktionen

Weitere erweiterte Informationen, beispielsweise zur Verwendung des SSE-Transports und des nicht-destruktiven Modus mit ALLOW_ONLY_NON_DESTRUCTIVE_TOOLS , finden Sie in der Datei ADVANCED_README.md .

Architektur

Unter diesem DeepWiki-Link finden Sie einen ausführlicheren Architekturüberblick von Devin.

In diesem Abschnitt wird die Architektur auf hoher Ebene des MCP Kubernetes-Servers beschrieben.

Anforderungsfluss

Das folgende Sequenzdiagramm veranschaulicht, wie Anfragen durch das System fließen:

Veröffentlichung einer neuen Version

Gehen Sie zur Release-Seite , klicken Sie auf „Neues Release entwerfen“, klicken Sie auf „Tag auswählen“ und erstellen Sie ein neues Tag, indem Sie eine neue Versionsnummer im Semver-Format „v{major}.{minor}.{patch}“ eingeben. Schreiben Sie anschließend einen Release-Titel „Release v{major}.{minor}.{patch}“ und gegebenenfalls eine Beschreibung/ein Änderungsprotokoll. Klicken Sie anschließend auf „Release veröffentlichen“.

Dadurch wird ein neues Tag erstellt, das über den cd.yml-Workflow den Build eines neuen Releases auslöst. Nach erfolgreichem Abschluss wird das neue Release auf npm veröffentlicht. Beachten Sie, dass die Version von package.json nicht manuell aktualisiert werden muss, da der Workflow die Versionsnummer in der Datei package.json automatisch aktualisiert und einen Commit an main sendet.

Nicht geplant

Authentifizierung / Hinzufügen von Clustern zu kubectx.

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

local-only server

The server can only run on the client's local machine because it depends on local resources.

TypeScript-Implementierung von Kubernetes-Clusteroperationen für Pods, Bereitstellungen, Dienste.

  1. Verwendung mit Claude Desktop
    1. Verwendung mit mcp-chat
      1. Merkmale
        1. Lokale Entwicklung
          1. Entwicklungs-Workflow
        2. Beitragen
          1. Fortschrittlich
            1. Zusätzliche erweiterte Funktionen
          2. Architektur
            1. Anforderungsfluss
          3. Veröffentlichung einer neuen Version
            1. Nicht geplant

              Related MCP Servers

              • A
                security
                F
                license
                A
                quality
                A MCP server that can run Kubernetes commands with a given kubeconfig path and provide interpretation of the commands.
                Last updated -
                1
                2
                JavaScript
                • Apple
              • -
                security
                A
                license
                -
                quality
                An MCP server that enables interaction with Kubernetes/Minikube clusters through natural language, allowing AI agents like Codename Goose to manage Kubernetes resources via the Model Context Protocol.
                Last updated -
                Python
                MIT License
              • -
                security
                F
                license
                -
                quality
                A server that enables LLMs to manage Kubernetes clusters through natural language commands, wrapping kubectl operations to provide a simplified interface for common Kubernetes tasks.
                Last updated -
                3
                Python
              • -
                security
                A
                license
                -
                quality
                Provides 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 -
                249
                Go
                MIT License
                • Linux
                • Apple

              View all related MCP servers

              ID: w71ieamqrt