kubectl MCP Plugin
Um servidor MCP para kubectl, permitindo que assistentes de IA interajam com clusters Kubernetes através de um protocolo padronizado.
Documentação
kubectl MCP (Model Context Protocol) Plugin
Visão Geral
O plugin kubectl-mcp implementa um servidor Model Context Protocol (MCP) para kubectl. Este servidor permite que assistentes de IA como o Amazon Q interajam com a funcionalidade do kubectl diretamente por meio de um protocolo padronizado, permitindo a integração perfeita de comandos kubectl em fluxos de trabalho alimentados por IA.
O que é MCP?
Model Context Protocol (MCP) é um protocolo aberto que padroniza como aplicativos fornecem contexto e ferramentas para Modelos de Linguagem de Grande Escala (LLMs). Ele permite que assistentes de IA:
- Descubram ferramentas disponíveis e suas capacidades
- Executem comandos e recebam respostas estruturadas
- Forneçam informações contextuais para melhorar as interações com IA
Como o kubectl MCP Plugin Funciona
O plugin kubectl MCP expõe todos os comandos kubectl como ferramentas que podem ser invocadas por assistentes de IA. A implementação consiste em vários componentes-chave:
Componentes Principais
main.go: Ponto de entrada que inicia o servidor MCPpkg/mcp/server.go: Cria e configura o servidor MCP com todos os comandos kubectlpkg/mcp/tools.go: Gerencia o registro de comandos kubectl como ferramentas MCP
Detalhes da Implementação
- O servidor usa a biblioteca
mcp-gopara implementar o Model Context Protocol - Ele registra dinamicamente todos os comandos kubectl (get, apply, delete, etc.) como ferramentas MCP
- O texto de ajuda, as flags e os parâmetros de cada comando são expostos por meio do protocolo
- O servidor opera como um servidor stdio, comunicando-se por entrada e saída padrão
Processo de Registro de Comandos
- O servidor percorre recursivamente a árvore de comandos do kubectl
- Para cada comando, ele extrai:
- Descrição do comando e informações de uso
- Flags disponíveis e suas descrições
- Parâmetros obrigatórios e opcionais
Usando o kubectl MCP Plugin com o Amazon Q Chat
Para usar o plugin kubectl MCP com o Amazon Q Chat, você precisa registrá-lo no arquivo de configuração do Amazon Q.
Crie ou edite o arquivo em $HOME/.aws/amazonq/mcp.json com o seguinte conteúdo:
{
"mcpServers": {
"kubectl": {
"command": "kubectl-mcp",
"args": []
}
}
}
Esta configuração instrui o Amazon Q Chat a:
- Registrar um servidor chamado "kubectl"
- Usar o comando
kubectl-mcppara iniciar o servidor MCP - Disponibilizar todos os comandos kubectl como ferramentas com o prefixo
kubectl___
Benefícios
- Integração Perfeita: Assistentes de IA podem executar comandos kubectl diretamente
- Respostas Estruturadas: Os comandos retornam dados estruturados que podem ser analisados por modelos de IA
- Descoberta: Assistentes de IA podem descobrir comandos disponíveis e seus parâmetros
- Consciente do Contexto: Fornece contexto rico sobre recursos do Kubernetes
Instalação
Para instalar o plugin kubectl MCP:
-
Compile o plugin:
make kubectl-mcp -
Mova o binário para um local no seu PATH:
sudo mv kubectl-mcp /usr/local/bin/ -
Verifique a instalação:
kubectl plugin list | grep mcp
Teste rápido para o servidor MCP
Para testar rapidamente o servidor MCP, você pode executar o seguinte comando no seu terminal:
echo '{"jsonrpc":"2.0","method":"tools/list","id":1}' | kubectl-mcp | jq
Recomendações
- Monitore operações em segundo plano para comandos de longa duração. Comandos como criação de recursos têm um tempo limite de 45 segundos para respostas de comandos, mas os processos continuam em segundo plano.
- Para operações kubectl complexas, considere usar o plugin em combinação com
kubectl apply -fpara gerenciamento declarativo de recursos.