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:

  1. Descubram ferramentas disponíveis e suas capacidades
  2. Executem comandos e recebam respostas estruturadas
  3. 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

  1. main.go: Ponto de entrada que inicia o servidor MCP
  2. pkg/mcp/server.go: Cria e configura o servidor MCP com todos os comandos kubectl
  3. pkg/mcp/tools.go: Gerencia o registro de comandos kubectl como ferramentas MCP

Detalhes da Implementação

  • O servidor usa a biblioteca mcp-go para 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

  1. O servidor percorre recursivamente a árvore de comandos do kubectl
  2. 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:

  1. Registrar um servidor chamado "kubectl"
  2. Usar o comando kubectl-mcp para iniciar o servidor MCP
  3. 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:

  1. Compile o plugin:

    make kubectl-mcp
    
  2. Mova o binário para um local no seu PATH:

    sudo mv kubectl-mcp /usr/local/bin/
    
  3. 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 -f para gerenciamento declarativo de recursos.