plugin kubectl MCP (Model Context Protocol)
Vue d'ensemble
Le plugin kubectl-mcp
implémente un serveur Model Context Protocol (MCP) pour kubectl. Ce serveur permet aux assistants d'intelligence artificielle comme Amazon Q d'interagir avec les fonctionnalités de kubectl directement à travers un protocole standardisé, permettant une intégration transparente des commandes kubectl dans les flux de travail alimentés par l'intelligence artificielle.
Qu'est-ce que le MCP ?
Model Context Protocol (MCP) est un protocole ouvert qui normalise la manière dont les applications fournissent un contexte et des outils aux grands modèles de langage (LLM). Il permet aux assistants d'IA de
- Découvrir les outils disponibles et leurs capacités
- D'exécuter des commandes et de recevoir des réponses structurées
- Fournir des informations contextuelles pour améliorer les interactions avec l'IA
Fonctionnement du plugin kubectl MCP
Le plugin kubectl MCP expose toutes les commandes kubectl en tant qu'outils pouvant être invoqués par les assistants d'intelligence artificielle. L'implémentation consiste en plusieurs composants clés :
Composants de base
main.go
: Point d'entrée qui démarre le serveur MCPpkg/mcp/server.go
: Crée et configure le serveur MCP avec toutes les commandes kubectlpkg/mcp/tools.
go : Gère l'enregistrement des commandes kubectl en tant qu'outils MCP
Détails de la mise en œuvre
- Le serveur utilise la bibliothèque
mcp-go
pour mettre en œuvre le protocole de contexte de modèle - Il enregistre dynamiquement toutes les commandes kubectl (get, apply, delete, etc.) en tant qu'outils MCP
- Le texte d'aide, les drapeaux et les paramètres de chaque commande sont exposés via le protocole
- Le serveur fonctionne comme un serveur stdio, communiquant par l'intermédiaire de l'entrée/sortie standard
Processus d'enregistrement des commandes
- Le serveur parcourt récursivement l'arborescence des commandes kubectl
- Pour chaque commande, il extrait
- Description de la commande et informations d'utilisation
- Les drapeaux disponibles et leur description
- Les paramètres obligatoires et facultatifs
Utilisation du plugin kubectl MCP avec Amazon Q Chat
Pour utiliser le plugin kubectl MCP avec Amazon Q Chat, vous devez l'enregistrer dans le fichier de configuration d'Amazon Q.
Créez ou modifiez le fichier $HOME/.aws/amazonq/mcp.json
avec le contenu suivant :
{ "mcpServers" : { "kubectl" : { "command" : "kubectl-mcp", "args" : [] } } }
Cette configuration indique à Amazon Q Chat de :
- Enregistrer un serveur nommé "kubectl"
- D'utiliser la commande
kubectl-mcp
pour démarrer le serveur MCP - Rendre toutes les commandes kubectl disponibles en tant qu'outils avec le préfixe
kubectl___
Avantages
- Intégration transparente: Les assistants d'intelligence artificielle peuvent exécuter directement les commandes kubectl
- Réponses structurées: Les commandes renvoient des données structurées qui peuvent être analysées par les modèles d'IA
- Possibilité de découverte: Les assistants IA peuvent découvrir les commandes disponibles et leurs paramètres
- Conscient du contexte: Fournit un contexte riche sur les ressources Kubernetes
Installation de kubectl MCP
Pour installer le plugin kubectl MCP :
Construire le plugin :
make kubectl-mcp
Déplacez le binaire vers un emplacement dans votre PATH :
sudo mv kubectl-mcp /usr/local/bin/
Vérifiez l'installation :
kubectl plugin list | grep mcp
Test rapide du serveur MCP
Pour tester rapidement le serveur MCP, vous pouvez exécuter la commande suivante dans votre terminal :
echo '{"jsonrpc" : "2.0", "method" : "tools/list", "id":1}' | kubectl-mcp | jq
Recommandations
- Surveillez les opérations en arrière-plan pour les commandes à longue durée d'exécution. Les commandes telles que la création de ressources ont un délai de 45 secondes pour les réponses, mais les processus se poursuivent en arrière-plan.
- Pour les opérations kubectl complexes, envisagez d'utiliser le plugin en combinaison avec kubectl apply -f pour la gestion déclarative des ressources.