Home
Login

Servidor MCP para comandos de gerenciamento de clusters Kubernetes

MITTypeScript 0.8kFlux159 Last Updated: 2025-06-17

Servidor MCP Kubernetes - Detalhes do Projeto

Visão Geral do Projeto

O Servidor MCP Kubernetes é um servidor de Protocolo de Conteúdo de Modelo (Model Content Protocol) projetado especificamente para o gerenciamento de clusters Kubernetes. Ele permite que agentes de IA (como o Claude) se conectem e gerenciem clusters Kubernetes por meio de comandos em linguagem natural, simplificando significativamente a complexidade da orquestração de contêineres e das operações de cluster.

Endereço do Projeto: https://github.com/Flux159/mcp-server-kubernetes

Principais Características

🎯 Conexão e Gerenciamento de Cluster

  • Conexão automática ao cluster configurado no contexto kubectl atual
  • Suporte para vários ambientes Kubernetes (minikube, Rancher Desktop, GKE, etc.)
  • Totalmente compatível com a configuração kubeconfig existente

📦 Gerenciamento de Pods e Deployments

  • Operações de Pod: Criar, descrever, excluir Pods
  • Gerenciamento de Deployments: Listar todos os deployments, atualizar o número de réplicas
  • Configuração Personalizada: Suporte para criar configurações personalizadas de Pod e Deployment
  • Visualização de Logs: Obter logs de Pod para depuração (suporte para Pod, Deployment, Job e seletores de rótulo)

🌐 Gerenciamento de Serviços e Rede

  • Operações de Serviço: Criar, descrever, excluir, atualizar serviços
  • Redirecionamento de Porta: Suporte para redirecionamento de porta de Pod ou serviço
  • Configuração de Rede: Suporte completo para gerenciamento de rede Kubernetes

🗂️ Gerenciamento de Recursos e Configuração

  • Namespaces: Listar todos os namespaces, criar novos namespaces
  • ConfigMap: Criar, obter, atualizar, excluir mapas de configuração
  • Gerenciamento de Nós: Listar e descrever nós do cluster
  • Tarefas Agendadas: Criar, listar e descrever CronJobs

⚙️ Suporte à Integração com Helm

  • Instalação de Gráficos: Instalar gráficos Helm com valores personalizados
  • Gerenciamento de Versões: Suporte para especificação de versão e repositórios personalizados
  • Gerenciamento de Releases: Desinstalar e atualizar releases existentes
  • Suporte a Namespaces: Isolamento completo de namespace

🔧 Funcionalidades Avançadas

  • Suporte a kubectl: Comandos kubectl explain e kubectl api-resources
  • Monitoramento de Eventos: Obter informações de eventos do cluster
  • Modo Não Destrutivo: Modo seguro que permite apenas operações de leitura e criação/atualização
  • Monitoramento em Tempo Real: Suporte para visualização em tempo real do estado do cluster

Arquitetura do Sistema

Diagrama da Arquitetura

Cliente (Claude/Agente de IA)
    ↓
StdioTransport (Camada de Transporte de Comunicação)
    ↓
Servidor MCP (Processamento de Protocolo)
    ↓
Request Handler (Roteamento de Requisições)
    ↓
KubernetesManager (Gerenciador K8s)
    ↓
API Kubernetes (API do Cluster)

Fluxo de Requisição

  1. Requisição do Cliente: O agente de IA envia a requisição via STDIO
  2. Camada de Transporte: StdioTransport encaminha a requisição para o servidor MCP
  3. Processamento de Roteamento: O servidor roteia a requisição para o handler correspondente
  4. Execução da Ferramenta: KubernetesManager executa as operações K8s específicas
  5. Chamada da API: Interage com a API Kubernetes
  6. Retorno da Resposta: O resultado do processamento é retornado camada por camada para o cliente

Instalação e Configuração

Requisitos de Ambiente

  • kubectl: Instalado e configurado no PATH
  • kubeconfig: Arquivo kubeconfig válido e configuração de contexto
  • Cluster Kubernetes: Cluster acessível (minikube, GKE, EKS, etc.)
  • Helm v3: Opcional, se precisar usar as funcionalidades do Helm
  • Node.js: Ambiente de tempo de execução

Instalação Rápida

Instalação via NPM (Recomendado)

# Instalação global
npm install -g mcp-server-kubernetes

# Ou use npx para executar diretamente
npx mcp-server-kubernetes

Integração com Claude Desktop

Edite o arquivo claude_desktop_config.json:

{
  "mcpServers": {
    "kubernetes": {
      "command": "npx",
      "args": ["mcp-server-kubernetes"]
    }
  }
}

Verificação de Conexão

Após a instalação, você pode:

  1. Pedir ao Claude para listar seus Pods
  2. Criar um deployment de teste
  3. Se houver erros, execute kubectl get pods no terminal para verificar a conexão

Configuração do Ambiente de Desenvolvimento

Desenvolvimento Local

# Clonar o repositório
git clone https://github.com/Flux159/mcp-server-kubernetes.git
cd mcp-server-kubernetes

# Instalar dependências (requer bun)
bun install

# Iniciar no modo de desenvolvimento (monitorar alterações de arquivo)
bun run dev

# Executar testes unitários
bun run test

# Construir o projeto
bun run build

Casos de Uso e Exemplos

🚀 Cenários de Operação Diária

  • "Listar o status de todos os Pods" - Verificação rápida da saúde do cluster
  • "Criar um deployment nginx com 3 réplicas" - Implantação rápida de aplicativos
  • "Ver os logs de Pods com erros no namespace default" - Solução de problemas
  • "Redirecionar a porta do aplicativo para localhost:8080" - Depuração local

📊 Monitoramento e Depuração

  • "Mostrar todos os eventos no cluster" - Monitorar a atividade do cluster
  • "Descrever as informações detalhadas do nó node-1" - Análise de recursos
  • "Verificar a execução recente do CronJob" - Monitoramento de tarefas agendadas

🛠️ Implantação de Aplicativos

  • "Instalar o gráfico Redis usando Helm" - Implantação rápida de middleware
  • "Atualizar o número de réplicas do deployment web-app para 5" - Operação de escalonamento
  • "Criar um ConfigMap para o ambiente de produção" - Gerenciamento de configuração

Configuração Avançada

Modo Não Destrutivo

Defina a variável de ambiente para habilitar o modo seguro:

export ALLOW_ONLY_NON_DESTRUCTIVE_TOOLS=true

Neste modo, apenas operações de leitura e criação/atualização são permitidas, as operações de exclusão são proibidas.

Protocolo de Transporte SSE

Suporte para protocolo de transporte de eventos push do servidor, consulte o ADVANCED_README.md do projeto para obter detalhes da configuração.

Autenticação de Cluster

Suporte para vários métodos de autenticação Kubernetes:

  • Autenticação por certificado
  • Autenticação por Token
  • Autenticação OIDC
  • Integração IAM do provedor de nuvem

Stack de Tecnologia e Dependências

Tecnologias Principais

  • Tempo de Execução: Node.js + Bun
  • Protocolo: Model Content Protocol (MCP)
  • Cliente Kubernetes: Official Kubernetes JavaScript Client
  • Camada de Transporte: STDIO Transport
  • Gerenciamento de Pacotes: Helm v3

Principais Dependências

  • @kubernetes/client-node: Cliente JS oficial do Kubernetes
  • @modelcontextprotocol/sdk: SDK do protocolo MCP
  • commander: Análise de parâmetros de linha de comando
  • yaml: Processamento de arquivos YAML

Projetos Relacionados e Ecossistema

Ecossistema MCP

  • mcp-chat: Cliente de chat CLI para o servidor MCP
  • MCP Inspector: Ferramenta de depuração do protocolo MCP
  • Claude Desktop: Aplicativo de desktop de assistente de IA com suporte a MCP

Ferramentas Kubernetes

  • kubectl: Ferramenta de linha de comando oficial
  • Helm: Gerenciador de pacotes
  • minikube: Ambiente de desenvolvimento local
  • Rancher Desktop: Ambiente Kubernetes de desktop

Perspectivas e Valor da Aplicação

🎯 Aumento da Eficiência Operacional

Operar clusters Kubernetes por meio de linguagem natural reduz a curva de aprendizado e aumenta a eficiência operacional. Até mesmo os novatos podem começar rapidamente com tarefas complexas de gerenciamento de cluster.

🤖 Operações Inteligentes

Combinando a capacidade de análise inteligente de agentes de IA, é possível realizar:

  • Diagnóstico automático de falhas
  • Recomendações inteligentes de recursos
  • Manutenção preditiva
  • Otimização automatizada de implantação

🔗 Integração Perfeita

Totalmente compatível com o ecossistema Kubernetes existente, sem a necessidade de alterar os fluxos de trabalho existentes, a introdução da operação assistida por IA pode ser gradual.

📈 Direções Futuras de Desenvolvimento

  • Suporte para mais tipos de recursos Kubernetes
  • Integração com mais ferramentas nativas da nuvem
  • Aprimoramento da segurança e controle de permissões
  • Suporte para gerenciamento de vários clusters
  • Interface gráfica do usuário

Conclusão

O projeto Servidor MCP Kubernetes representa uma tentativa inovadora de combinar IA e tecnologias nativas da nuvem. Ele simplifica a complexidade do gerenciamento de clusters Kubernetes por meio de uma interface de linguagem natural, permitindo que os operadores gerenciem aplicativos conteinerizados de forma mais intuitiva e eficiente.

Seja você um novato no Kubernetes ou um especialista em operações experiente, esta ferramenta pode melhorar significativamente sua eficiência no trabalho. Ao integrar-se com assistentes de IA como o Claude, ele abre novas possibilidades para operações inteligentes e é uma adição poderosa ao conjunto de ferramentas DevOps moderno.

Com o desenvolvimento contínuo de tecnologias nativas da nuvem e o avanço constante da tecnologia de IA, acredita-se que essas ferramentas desempenharão um papel cada vez mais importante nas operações de TI futuras.