kubectl MCP (Protocolo de contexto de modelo) Plugin
Visión general
El plugin kubectl-mcp
implementa un servidor Model Context Protocol (MCP ) para kubectl. Este servidor permite a los asistentes de IA como Amazon Q interactuar con la funcionalidad de kubectl directamente a través de un protocolo estandarizado, lo que permite una integración perfecta de los comandos de kubectl en los flujos de trabajo impulsados por IA.
¿Qué es MCP?
Model Context Protocol (MCP) es un protocolo abierto que estandariza cómo las aplicaciones proporcionan contexto y herramientas a Large Language Models (LLMs). Permite a los asistentes de IA
- Descubrir las herramientas disponibles y sus capacidades
- Ejecutar comandos y recibir respuestas estructuradas
- Proporcionar información contextual para mejorar las interacciones de la IA
Cómo funciona el complemento MCP de kubectl
El plugin kubectl MCP expone todos los comandos kubectl como herramientas que pueden ser invocadas por los asistentes de IA. La implementación consta de varios componentes clave:
Componentes principales
main.go
: Punto de entrada que inicia el servidor MCPpkg/mcp/server.
go: Crea y configura el servidor MCP con todos los comandos kubectlpkg/mcp/tools.go
: Gestiona el registro de comandos kubectl como herramientas MCP
Detalles de implementación
- El servidor utiliza la biblioteca
mcp-go
para implementar el Protocolo de Contexto de Modelo - Registra dinámicamente todos los comandos kubectl (get, apply, delete, etc.) como herramientas MCP
- El texto de ayuda, las banderas y los parámetros de cada comando se exponen a través del protocolo
- El servidor se ejecuta como un servidor stdio, comunicándose a través de la entrada/salida estándar
Proceso de registro de comandos
- El servidor recorre recursivamente el árbol de comandos de kubectl
- Para cada comando, extrae
- Descripción del comando e información de uso
- Banderas disponibles y sus descripciones
- Parámetros obligatorios y opcionales
Uso del complemento MCP de kubectl con Amazon Q Chat
Para utilizar el complemento MCP de kubectl con Amazon Q Chat, debes registrarlo en el archivo de configuración de Amazon Q.
Crea o edita el archivo en $HOME/.aws/amazonq/mcp.json
con el siguiente contenido:
{ "mcpServers": { "kubectl": { "command": "kubectl-mcp", "args": [] } } }
Esta configuración indica a Amazon Q Chat que:
- Registre un servidor llamado "kubectl"
- Utilice el comando
kubectl-mcp
para iniciar el servidor MCP - Hacer que todos los comandos kubectl estén disponibles como herramientas con el prefijo
kubectl___
Ventajas
- Integración perfecta: Los asistentes de IA pueden ejecutar comandos kubectl directamente
- Respuestas estructuradas: Los comandos devuelven datos estructurados que pueden ser analizados por modelos de IA
- Capacidad de descubrimiento: Los asistentes de IA pueden descubrir los comandos disponibles y sus parámetros
- Consciente del contexto: Proporciona un contexto enriquecido sobre los recursos de Kubernetes
Instalación
Para instalar el complemento MCP de kubectl:
Cree el complemento:
make kubectl-mcp
Mueva el binario a una ubicación en su PATH:
sudo mv kubectl-mcp /usr/local/bin/
Verifica la instalación:
kubectl plugin list | grep mcp
Prueba rápida del servidor MCP
Para probar rápidamente el servidor MCP, puede ejecutar el siguiente comando en su terminal:
echo '{"jsonrpc": "2.0", "method": "tools/list", "id":1}' | kubectl-mcp | jq
Recomendaciones
- Supervise las operaciones en segundo plano de los comandos de larga ejecución. Comandos como la creación de recursos tienen un tiempo de espera de 45 segundos para las respuestas de comandos, pero los procesos continúan en segundo plano.
- Para operaciones kubectl complejas, considere el uso del plugin en combinación con kubectl apply -f para la gestión declarativa de recursos.