Kube Core MCP
Ein Kubernetes-Befehlsverarbeitungsdienst, der Anfragen in natürlicher Sprache in gültige Kubectl-Befehle umwandelt.
Merkmale
- Konvertierung von natürlicher Sprache in Kubectl-Befehle
- Befehlsvalidierung und Sicherheitsüberprüfungen
- Unterstützung für gängige Kubectl-Operationen
- AWS Bedrock-Integration für die LLM-Verarbeitung
Voraussetzungen
- Python 3.8+
- AWS-Anmeldeinformationen konfiguriert
- kubectl installiert und konfiguriert
- Node.js und npm (für Frontend)
Aufstellen
- Klonen Sie das Repository:
git clone <repository-url>
cd kube-core-mcp
- Erstellen und aktivieren Sie eine virtuelle Umgebung:
python3 -m venv venv
source venv/bin/activate # On Windows: .\venv\Scripts\activate
- Installieren Sie Abhängigkeiten:
pip install -r requirements.txt
- Konfigurieren Sie die AWS-Anmeldeinformationen:
export AWS_ACCESS_KEY_ID=your_access_key
export AWS_SECRET_ACCESS_KEY=your_secret_key
export AWS_REGION=your_region
- Starten Sie den FastAPI-Server:
API-Dokumentation
Gesundheitscheck
curl http://localhost:3000/health
Leistungen
curl http://localhost:3000/api/services
Befehle in natürlicher Sprache
curl -X POST http://localhost:3000/api/nl \
-H "Content-Type: application/json" \
-d '{"message": "show me the pods in default namespace"}'
Direkte Befehle
curl -X POST http://localhost:3000/api/command \
-H "Content-Type: application/json" \
-d '{"command": "kubectl get pods -n default"}'
Sicherheit
Der Dienst arbeitet in zwei Sicherheitsmodi:
- STRICT (Standard):
- Erlaubt nur vordefinierte Befehlsmuster
- Validiert alle Befehle anhand zulässiger Muster
- Verhindert gefährliche Operationen
- PERMISSIV:
- Ermöglicht flexiblere Befehlsmuster
- Behält weiterhin grundlegende Sicherheitskontrollen bei
- Nützlich für Entwicklung und Tests
Entwicklung
Ausführen von Tests
Codestil
black src/ tests/
flake8 src/ tests/
Beitragen
- Forken Sie das Repository
- Erstellen eines Feature-Zweigs
- Nehmen Sie Ihre Änderungen vor
- Führen Sie Tests durch
- Senden einer Pull-Anfrage
Lizenz
[Lizenzinformationen hinzufügen]