Skip to main content
Glama

Kubectl MCP-Tool

Ein Model Context Protocol (MCP)-Server für Kubernetes, der es KI-Assistenten wie Claude, Cursor und anderen ermöglicht, über natürliche Sprache mit Kubernetes-Clustern zu interagieren.

Lizenz: MIT Python Kubernetes MCP PyPI-Version

🎥 Live-Demo – Sehen Sie kubectl-mcp-tool mit Claude in Aktion!

Claude MCP

Related MCP server: MCP Toolkit

🎥 Live-Demo – Sehen Sie kubectl-mcp-tool mit Cursor in Aktion!

Cursor MCP

🎥 Live-Demo – Sehen Sie kubectl-mcp-tool mit Windsurf in Aktion!

Windsurf MCP

Merkmale

Kernvorgänge von Kubernetes

  • [x] Verbindung zu einem Kubernetes-Cluster herstellen

  • [x] Pods, Dienste, Bereitstellungen und Knoten auflisten und verwalten

  • [x] Pods und andere Ressourcen erstellen, löschen und beschreiben

  • [x] Pod-Protokolle und Kubernetes-Ereignisse abrufen

  • [x] Unterstützung für Helm v3-Operationen (Installation, Upgrades, Deinstallation)

  • [x] kubectl explain und API-Ressourcen-Unterstützung

  • [x] Namespace für die nächsten Befehle auswählen (Speicherpersistenz)

  • [x] Portweiterleitung zu Pods

  • [x] Skalieren von Bereitstellungen und Statefulsets

  • [x] Befehle in Containern ausführen

  • [x] ConfigMaps und Secrets verwalten

  • [x] Rollback von Bereitstellungen auf frühere Versionen

  • [x] Ingress- und NetworkPolicy-Verwaltung

  • [x] Kontextwechsel zwischen Clustern

Verarbeitung natürlicher Sprache

  • [x] Verarbeiten Sie Abfragen in natürlicher Sprache für Kubectl-Operationen

  • [x] Kontextabhängige Befehle mit Erinnerung an vorherige Operationen

  • [x] Benutzerfreundliche Erklärungen der Kubernetes-Konzepte

  • [x] Intelligente Befehlskonstruktion aus Absicht

  • [x] Fallback auf kubectl, wenn keine Spezialwerkzeuge verfügbar sind

  • [x] Unterstützung von Mock-Daten für Offline-/Test-Szenarien

  • [x] Namespace-bewusste Abfragebehandlung

Überwachung

  • [x] Cluster-Integritätsüberwachung

  • [x] Verfolgung der Ressourcennutzung

  • [x] Pod-Status und Gesundheitschecks

  • [x] Ereignisüberwachung und Alarmierung

  • [x] Knotenkapazitäts- und Zuordnungsanalyse

  • [x] Historische Leistungsverfolgung

  • [x] Ressourcennutzungsstatistik über kubectl top

  • [x] Containerbereitschaft und Liveness-Tracking

Sicherheit

  • [x] RBAC-Validierung und -Verifizierung

  • [x] Sicherheitskontextüberwachung

  • [x] Sichere Verbindungen zur Kubernetes-API

  • [x] Anmeldeinformationsverwaltung

  • [x] Bewertung der Netzwerkrichtlinien

  • [x] Container-Sicherheitsscan

  • [x] Durchsetzung bewährter Sicherheitspraktiken

  • [x] Rollen- und Clusterrollenverwaltung

  • [x] ServiceAccount-Erstellung und -Bindung

  • [x] PodSecurityPolicy-Analyse

  • [x] RBAC-Berechtigungsprüfung

  • [x] Validierung des Sicherheitskontexts

Diagnose

  • [x] Clusterdiagnose und Fehlerbehebung

  • [x] Konfigurationsvalidierung

  • [x] Fehleranalyse und Fehlerbehebungsvorschläge

  • [x] Überwachung des Verbindungsstatus

  • [x] Protokollanalyse und Mustererkennung

  • [x] Identifizierung von Ressourcenbeschränkungen

  • [x] Pod-Integritätsprüfungsdiagnose

  • [x] Identifizierung häufiger Fehlermuster

  • [x] Ressourcenvalidierung auf Fehlkonfigurationen

  • [x] Detaillierte Validierung der Liveness- und Readiness-Sonde

Erweiterte Funktionen

  • [x] Unterstützung mehrerer Transportprotokolle (stdio, SSE)

  • [x] Integration mit mehreren KI-Assistenten

  • [x] Erweiterbares Tool-Framework

  • [x] Unterstützung für benutzerdefinierte Ressourcendefinitionen

  • [x] Namespaceübergreifende Operationen

  • [x] Batch-Operationen auf mehreren Ressourcen

  • [x] Intelligente Zuordnung von Ressourcenbeziehungen

  • [x] Fehlererklärung mit Wiederherstellungsvorschlägen

  • [x] Volumenverwaltung und -identifikation

Architektur

Model Context Protocol (MCP)-Integration

Das Kubectl MCP Tool implementiert das Model Context Protocol (MCP) und ermöglicht KI-Assistenten die Interaktion mit Kubernetes-Clustern über eine standardisierte Schnittstelle. Die Architektur besteht aus:

  1. MCP-Server : Ein kompatibler Server, der Anfragen von MCP-Clients (KI-Assistenten) verarbeitet.

  2. Tools Registry : Registriert Kubernetes-Operationen als MCP-Tools mit Schemata

  3. Transportschicht : Unterstützt die Transportmethoden stdio, SSE und HTTP

  4. Kernoperationen : Übersetzt Tool-Aufrufe in Kubernetes-API-Operationen

  5. Antwortformatierer : Konvertiert Kubernetes-Antworten in MCP-kompatible Antworten

Anforderungsfluss

Anforderungsfluss

Dual-Mode-Betrieb

Das Tool arbeitet in zwei Modi:

  1. CLI-Modus : Direkte Befehlszeilenschnittstelle zum Ausführen von Kubernetes-Operationen

  2. Servermodus : Wird als MCP-Server ausgeführt, um Anfragen von KI-Assistenten zu verarbeiten

Installation

Ausführliche Installationsanweisungen finden Sie im Installationshandbuch .

Sie können kubectl-mcp-tool direkt von PyPI installieren:

pip install kubectl-mcp-tool

Für eine bestimmte Version:

pip install kubectl-mcp-tool==1.1.1

Das Paket ist auf PyPI verfügbar: https://pypi.org/project/kubectl-mcp-tool/1.1.1/

Voraussetzungen

  • Python 3.9+

  • kubectl CLI installiert und konfiguriert

  • Zugriff auf einen Kubernetes-Cluster

  • pip (Python-Paketmanager)

Globale Installation

# Install latest version from PyPI
pip install kubectl-mcp-tool

# Or install development version from GitHub
pip install git+https://github.com/rohitg00/kubectl-mcp-server.git

Lokale Entwicklungsinstallation

# Clone the repository
git clone https://github.com/rohitg00/kubectl-mcp-server.git
cd kubectl-mcp-server

# Install in development mode
pip install -e .

Überprüfen der Installation

Überprüfen Sie nach der Installation, ob das Tool ordnungsgemäß funktioniert:

# Check CLI mode
kubectl-mcp --help

Hinweis: Dieses Tool dient als MCP-Server für KI-Assistenten und nicht als direkter Kubectl-Ersatz. Der primäre Befehl ist kubectl-mcp serve , der den MCP-Server startet.

Nutzung mit KI-Assistenten

Verwenden des MCP-Servers

Der MCP-Server ( kubectl_mcp_tool.mcp_server ) ist eine robuste Implementierung, die auf dem FastMCP SDK basiert und eine verbesserte Kompatibilität zwischen verschiedenen KI-Assistenten bietet:

Hinweis : Sollten bei der Implementierung des MCP-Servers Fehler auftreten, können Sie auf den Minimal-Wrapper zurückgreifen, indem Sie in Ihrer Konfiguration kubectl_mcp_tool.mcp_server durch kubectl_mcp_tool.minimal_wrapper ersetzen. Der Minimal-Wrapper bietet grundlegende Funktionen bei einfacherer Implementierung.

  1. Direkte Konfiguration

    {
      "mcpServers": {
        "kubernetes": {
          "command": "python",
          "args": ["-m", "kubectl_mcp_tool.mcp_server"],
          "env": {
            "KUBECONFIG": "/path/to/your/.kube/config",
            "PATH": "/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin",
            "MCP_LOG_FILE": "/path/to/logs/debug.log",
            "MCP_DEBUG": "1"
          }
        }
      }
    }
  2. Wichtige Umgebungsvariablen

    • MCP_LOG_FILE : Pfad zur Protokolldatei (empfohlen, um eine Verschmutzung der Standardausgabe zu vermeiden)

    • MCP_DEBUG : Auf „1“ setzen für ausführliche Protokollierung

    • MCP_TEST_MOCK_MODE : Auf „1“ setzen, um simulierte Daten anstelle des echten Clusters zu verwenden

    • KUBECONFIG : Pfad zu Ihrer Kubernetes-Konfigurationsdatei

    • KUBECTL_MCP_LOG_LEVEL : Auf „DEBUG“, „INFO“, „WARNING“ oder „ERROR“ eingestellt

  3. Testen des MCP-Servers Sie können mit Folgendem testen, ob der Server ordnungsgemäß funktioniert:

    python -m kubectl_mcp_tool.simple_ping

    Dadurch wird versucht, eine Verbindung zum Server herzustellen und einen Ping-Befehl auszuführen.

    Alternativ können Sie den Server direkt ausführen mit:

    python -m kubectl_mcp_tool

Claude Desktop

Fügen Sie Ihrer Claude Desktop-Konfiguration unter ~/.config/claude/mcp.json (Windows: %APPDATA%\Claude\mcp.json ) Folgendes hinzu:

{
  "mcpServers": {
    "kubernetes": {
      "command": "python",
      "args": ["-m", "kubectl_mcp_tool.mcp_server"],
      "env": {
        "KUBECONFIG": "/path/to/your/.kube/config"
      }
    }
  }
}

Cursor-KI

Fügen Sie Ihren Cursor AI-Einstellungen unter MCP Folgendes hinzu, indem Sie einen neuen globalen MCP-Server hinzufügen:

{
  "mcpServers": {
    "kubernetes": {
      "command": "python",
      "args": ["-m", "kubectl_mcp_tool.mcp_server"],
      "env": {
        "KUBECONFIG": "/path/to/your/.kube/config",
        "PATH": "/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/homebrew/bin"
      }
    }
  }
}

Speichern Sie diese Konfiguration für globale Einstellungen in ~/.cursor/mcp.json .

Hinweis : Ersetzen Sie /path/to/your/.kube/config durch den tatsächlichen Pfad zu Ihrer Kubeconfig-Datei. Auf den meisten Systemen ist dies ~/.kube/config .

Windsurf

Fügen Sie Ihrer Windsurf-Konfiguration unter ~/.config/windsurf/mcp.json (Windows: %APPDATA%\WindSurf\mcp.json ) Folgendes hinzu:

{
  "mcpServers": {
    "kubernetes": {
      "command": "python",
      "args": ["-m", "kubectl_mcp_tool.mcp_server"],
      "env": {
        "KUBECONFIG": "/path/to/your/.kube/config"
      }
    }
  }
}

Automatische Konfiguration

Führen Sie zur automatischen Konfiguration aller unterstützten KI-Assistenten das bereitgestellte Installationsskript aus:

bash install.sh

Dieses Skript wird:

  1. Installieren Sie die erforderlichen Abhängigkeiten

  2. Erstellen Sie Konfigurationsdateien für Claude, Cursor und WindSurf

  3. Richten Sie die richtigen Pfade und Umgebungsvariablen ein

  4. Testen Sie Ihre Kubernetes-Verbindung

Voraussetzungen

  1. kubectl installiert und in Ihrem PATH

  2. Eine gültige Kubeconfig-Datei

  3. Zugriff auf einen Kubernetes-Cluster

  4. Helm v3 (optional, für Helm-Operationen)

Beispiele

Pods auflisten

List all pods in the default namespace

Bereitstellen einer Anwendung

Create a deployment named nginx-test with 3 replicas using the nginx:latest image

Überprüfen Sie die Pod-Protokolle

Get logs from the nginx-test pod

Portweiterleitung

Forward local port 8080 to port 80 on the nginx-test pod

Entwicklung

# Clone the repository
git clone https://github.com/rohitg00/kubectl-mcp-server.git
cd kubectl-mcp-server

# Install dependencies
pip install -r requirements.txt

# Install in development mode
pip install -e .

# Run the MCP server
python -m kubectl_mcp_tool

# Run tests
python -m python_tests.run_mcp_tests

Projektstruktur

├── kubectl_mcp_tool/         # Main package
│   ├── __init__.py           # Package initialization
│   ├── __main__.py           # Package entry point
│   ├── cli.py                # CLI entry point
│   ├── mcp_server.py         # MCP server implementation
│   ├── mcp_kubectl_tool.py   # Main kubectl MCP tool implementation
│   ├── natural_language.py   # Natural language processing
│   ├── diagnostics.py        # Diagnostics functionality
│   ├── core/                 # Core functionality 
│   ├── security/             # Security operations
│   ├── monitoring/           # Monitoring functionality
│   ├── utils/                # Utility functions
│   └── cli/                  # CLI functionality components
├── python_tests/             # Test suite
│   ├── run_mcp_tests.py      # Test runner script
│   ├── mcp_client_simulator.py # MCP client simulator for mock testing
│   ├── test_utils.py         # Test utilities
│   ├── test_mcp_core.py      # Core MCP tests
│   ├── test_mcp_security.py  # Security tests
│   ├── test_mcp_monitoring.py # Monitoring tests
│   ├── test_mcp_nlp.py       # Natural language tests
│   ├── test_mcp_diagnostics.py # Diagnostics tests
│   └── mcp_test_strategy.md  # Test strategy documentation
├── docs/                     # Documentation
│   ├── README.md             # Documentation overview
│   ├── INSTALLATION.md       # Installation guide
│   ├── integration_guide.md  # Integration guide
│   ├── cursor/               # Cursor integration docs
│   ├── windsurf/             # Windsurf integration docs
│   └── claude/               # Claude integration docs
├── compatible_servers/       # Compatible MCP server implementations
│   ├── cursor/               # Cursor-compatible servers
│   ├── windsurf/             # Windsurf-compatible servers
│   ├── minimal/              # Minimal server implementations
│   └── generic/              # Generic MCP servers
├── requirements.txt          # Python dependencies
├── setup.py                  # Package setup script
├── pyproject.toml            # Project configuration
├── MANIFEST.in               # Package manifest
├── mcp_config.json           # Sample MCP configuration
├── run_server.py             # Server runner script
├── LICENSE                   # MIT License
├── CHANGELOG.md              # Version history
├── .gitignore                # Git ignore file
├── install.sh                # Installation script
├── publish.sh                # PyPI publishing script
└── start_mcp_server.sh       # Server startup script

MCP-Servertools

Die MCP-Server-Implementierung ( kubectl_mcp_tool.mcp_server ) bietet einen umfassenden Satz von 26 Tools, die von KI-Assistenten zur Interaktion mit Kubernetes-Clustern verwendet werden können:

Core Kubernetes-Ressourcenverwaltung

  • get_pods - Alle Pods im angegebenen Namespace abrufen

  • get_namespaces – Alle Kubernetes-Namespaces abrufen

  • get_services - Alle Dienste im angegebenen Namespace abrufen

  • get_nodes - Alle Knoten im Cluster abrufen

  • get_configmaps - Alle ConfigMaps im angegebenen Namespace abrufen

  • get_secrets - Alle Geheimnisse im angegebenen Namespace abrufen

  • get_deployments - Alle Bereitstellungen im angegebenen Namespace abrufen

  • create_deployment – Erstellen Sie eine neue Bereitstellung

  • delete_resource – Löschen einer Kubernetes-Ressource

  • get_api_resources – Kubernetes-API-Ressourcen auflisten

  • kubectl_explain - Erklären Sie eine Kubernetes-Ressource mit kubectl explain

Helmoperationen

  • install_helm_chart - Helm-Chart installieren

  • upgrade_helm_chart – Upgrade einer Helm-Version

  • uninstall_helm_chart – Deinstallieren einer Helm-Version

Sicherheitsoperationen

  • get_rbac_roles - Alle RBAC-Rollen im angegebenen Namespace abrufen

  • get_cluster_roles - Alle clusterweiten RBAC-Rollen abrufen

Überwachung und Diagnose

  • get_events - Alle Ereignisse im angegebenen Namespace abrufen

  • get_resource_usage – Statistiken zur Ressourcennutzung über kubectl top abrufen

  • health_check – Überprüfen Sie die Clusterintegrität, indem Sie den API-Server anpingen

  • get_pod_events – Ereignisse für einen bestimmten Pod abrufen

  • check_pod_health – Überprüfen Sie den Gesundheitszustand eines Pods

  • get_logs - Protokolle von einem Pod abrufen

Clusterverwaltung

  • switch_context – Aktuellen Kubeconfig-Kontext wechseln

  • get_current_context – Aktuellen Kubeconfig-Kontext abrufen

  • port_forward – Leitet den lokalen Port an den Pod-Port weiter

  • scale_deployment – Skalieren einer Bereitstellung

Alle Tools geben strukturierte Daten mit Erfolgs-/Fehlerinformationen und relevanten Details zurück, sodass KI-Assistenten die Antworten leicht verarbeiten und verstehen können.

Beitragen

Beiträge sind willkommen! Senden Sie gerne einen Pull Request.

  1. Forken Sie das Repository

  2. Erstellen Sie Ihren Feature-Zweig ( git checkout -b feature/amazing-feature )

  3. Übernehmen Sie Ihre Änderungen ( git commit -m 'Add some amazing feature' )

  4. Pushen zum Zweig ( git push origin feature/amazing-feature )

  5. Öffnen einer Pull-Anfrage

Lizenz

Dieses Projekt ist unter der MIT-Lizenz lizenziert – Einzelheiten finden Sie in der Datei LICENSE .

-
security - not tested
A
license - permissive license
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/rohitg00/kubectl-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server