O que é MCP Server Kubernetes?
O MCP Server Kubernetes, publicado no npm como mcp-server-kubernetes pelo usuário do GitHub Flux159, permite a um agente inspecionar e alterar um cluster via kubectl e Helm. Ele expõe 23 ferramentas, de kubectl_get, kubectl_describe e kubectl_logs a kubectl_apply, kubectl_delete, exec_in_pod, node_management e uma ferramenta kubectl_generic que executa qualquer comando kubectl, além de um prompt de solução de problemas k8s-diagnose. A maioria das ferramentas chama os binários kubectl e helm do seu PATH, passando os argumentos diretamente, sem shell; o port forwarding e as verificações de conexão usam a biblioteca cliente oficial em JavaScript.
Por padrão, ele lê ~/.kube/config e usa o contexto que estiver ativo. Ele também aceita um kubeconfig inteiro em KUBECONFIG_YAML ou KUBECONFIG_JSON, um servidor e um token bearer em K8S_SERVER e K8S_TOKEN, um caminho personalizado ou a ServiceAccount do cluster quando roda em um pod, o que o Helm chart do repositório suporta. Stdio é o padrão; o Streamable HTTP é opcional, atrás de ENABLE_UNSAFE_STREAMABLE_HTTP_TRANSPORT, com um token opcional no cabeçalho X-MCP-AUTH.
O repositório, com licença MIT, tem cerca de 1.600 estrelas no GitHub; a v4.2.1 saiu em 26 de outubro de 2026, e o pacote npm teve cerca de 34.000 downloads no mês até 26 de outubro. Ele está listado no registro oficial de MCP.
Como instalar MCP Server Kubernetes
npx mcp-server-kubernetesMCP Server Kubernetes vale a pena?
O problema são os padrões, não a lista de recursos. Iniciado sem variáveis de ambiente, o servidor oferece as 23 ferramentas contra o contexto de kubeconfig que estiver ativo, que para a maioria dos engenheiros é uma identidade de admin. Um agente pode então excluir namespaces, drenar nós, desinstalar releases do Helm, executar comandos dentro de pods com exec_in_pod e passar qualquer coisa ao kubectl_generic. Até a operação set do kubectl_context reescreve seu kubeconfig, então o contexto usado pelo seu próprio terminal também muda.
Três chaves o restringem, nesta ordem de prioridade. O ALLOWED_TOOLS recebe uma lista exata e se recusa a iniciar com um nome escrito errado. O ALLOW_ONLY_READONLY_TOOLS deixa sete ferramentas documentadas: get, describe, logs, context (com a troca bloqueada), explain_resource, list_api_resources e ping. O ALLOW_ONLY_NON_DESTRUCTIVE_TOOLS é mais fraco do que o nome indica: remove delete, uninstall, cleanup, gerenciamento de nós, exec e kubectl_generic, mas mantém kubectl_apply, kubectl_patch, kubectl_scale e o install e upgrade do Helm, então um agente ainda pode escalar um deployment para zero ou sobrescrever um manifesto em execução.
Os Secrets são mascarados, em parte. O kubectl_get substitui por *** os valores de dados de qualquer Secret por padrão, mas a documentação diz claramente que logs e outras operações não são cobertos. No modo padrão, kubectl_generic e exec_in_pod estão disponíveis, então uma identidade com get em Secrets pode lê-los por inteiro. Specs de pods com variáveis de ambiente inline e ConfigMaps voltam sem máscara em todos os modos. O mascaramento é uma conveniência; o controle é o RBAC.
É aí que uma ServiceAccount dedicada se paga. Vinculada à ClusterRole embutida view do Kubernetes em um único namespace, ela consegue ler a maioria dos objetos, mas não Secrets, roles ou role bindings, então nem uma linha de log com prompt injetado nem um bug do servidor alcançam credenciais ou gravam algo. A própria orientação do Kubernetes avisa que list e watch em Secrets revelam o conteúdo tanto quanto get. Não tome o Helm chart do repositório como modelo aqui: sua ClusterRole, descrita como de privilégio mínimo, concede get, list e watch em Secrets em todo o cluster, além de delete em pods e deployments e pods/exec.
O histórico de segurança corta para os dois lados. Onze avisos foram publicados desde julho de 2025, oito classificados como altos, cobrindo injeção de comandos, injeção de flags que podia enviar o token bearer do operador para outro servidor de API, leitura arbitrária de arquivos locais e, em maio de 2026, modos somente leitura que só escondiam ferramentas em vez de bloquear as chamadas (corrigido na 3.6.0). Cada um foi corrigido rapidamente, e o código agora bloqueia flags como --server, --token e --as vindas da entrada das ferramentas. São muitos achados para um único servidor, e um motivo para ficar no release atual.
Onde ele se destaca
Uma SRE de plantão em uma empresa SaaS de 50 engenheiros que roda produção no Kubernetes
Descobrir por que os pods de um namespace estão em crash loop sem arriscar uma escrita
Rode com ALLOW_ONLY_READONLY_TOOLS=true e um kubeconfig de uma ServiceAccount vinculada à role view nesse namespace, depois acione o prompt k8s-diagnose. O agente lê eventos, a saída do describe e logs; não consegue ler Secrets nem mudar nada. O servidor é gratuito, e a configuração é um único Role binding.
Um desenvolvedor trabalhando com um cluster local minikube ou kind
Instalar um Helm chart, mudar valores e reimplantar enquanto itera em um serviço
O modo padrão com o contexto local é razoável aqui: install_helm_chart, kubectl_apply e kubectl_rollout cobrem o ciclo. Aponte-o para produção com as mesmas configurações e o mesmo agente pode excluir namespaces, então mantenha o contexto atual do kubeconfig no cluster local.
Uma líder de equipe de plataforma em uma fintech decidindo se permite agentes perto de clusters compartilhados
Definir uma política sobre quais ações de agentes são aceitáveis
ALLOWED_TOOLS=kubectl_get,kubectl_describe,kubectl_logs fixa a superfície e falha na inicialização se houver erro de digitação, e o tracing com OpenTelemetry registra cada chamada. A decisão maior é a role de RBAC por trás, porque a padrão do Helm chart pode ler todos os Secrets do cluster.
Antes de decidir
- Configuração
- Requer kubectl no PATH e um kubeconfig funcionando (Helm 3 opcional); depois, claude mcp add kubernetes -- npx mcp-server-kubernetes ou o mesmo comando npx no Claude Desktop, VS Code, Cursor ou Codex; também há um bundle mcpb, uma imagem Docker e um Helm chart. Se kubectl get pods funciona no seu terminal, a primeira chamada funciona em minutos.
- Integrações
- 23 ferramentas: de leitura (kubectl_get, kubectl_describe, kubectl_logs, explain_resource, list_api_resources, ping), de escrita (kubectl_apply, kubectl_create, kubectl_patch, kubectl_scale, kubectl_rollout, install, upgrade e uninstall do Helm), destrutivas (kubectl_delete, cleanup, node_management, exec_in_pod, kubectl_generic), além de port forwarding e troca de contexto. Exportação opcional com OpenTelemetry para qualquer backend OTLP.
- Dados e privacidade
- Ele pode fazer tudo o que a identidade do kubeconfig pode e, nos padrões, isso inclui ler Secrets por inteiro via kubectl_generic ou exec_in_pod. Logs de pods, eventos e anotações são texto não confiável que chega ao modelo, que é como vários avisos descrevem a exfiltração de tokens. O modo HTTP escuta no localhost com proteção contra DNS rebinding ativada por padrão, mas não exige token a menos que MCP_AUTH_TOKEN esteja definido.
- Custo em escala
- Gratuito; o cluster é cobrado como de costume. O custo que cresce é a carga no servidor de API e o contexto: chamadas de listagem em todos os namespaces de um cluster grande podem estourar o buffer de saída padrão de 1 MB, que o SPAWN_MAX_BUFFER aumenta.
- Limites
- Exige os binários kubectl e helm localmente; não tem etapa de aprovação própria, então a confirmação depende do cliente MCP. O mascaramento cobre só o kubectl_get em Secrets. O modo HTTP do Helm chart aceita requisições não autenticadas a menos que security.mcpAuthToken esteja definido.
O que é bom
- 23 ferramentas cobrem kubectl, Helm, logs, port forwarding e trabalho com nós
- Modos somente leitura e de lista de permissão exata aplicados no momento da chamada desde a 3.6.0
- Valores de Secrets mascarados na saída do kubectl_get por padrão
- Muitas fontes de credenciais, incluindo ServiceAccounts do cluster
O que não é
- O modo padrão inclui delete, exec_in_pod e kubectl bruto
- O modo não destrutivo ainda permite apply, patch e scale
- Onze avisos de segurança, oito classificados como altos
- A ClusterRole padrão do Helm chart pode ler todos os Secrets
Ideal para
Engenheiros de plataforma que querem um agente para investigar clusters via kubectl e vão antes dar a ele uma ServiceAccount restrita e o modo somente leitura.
Alternativas ao MCP Server Kubernetes
MCP Server Kubernetes: perguntas frequentes
- MCP Server Kubernetes vale a pena?
- Amplo e corrigido com frequência, mas de fábrica ele entrega a um agente delete, exec e kubectl bruto no seu contexto atual, então rode-o somente leitura com uma ServiceAccount que não enxergue Secrets. Damos nota 3.8 de 5.
- Quanto custa MCP Server Kubernetes?
- Gratuito e de código aberto (MIT). Você paga só pelo cluster com que ele conversa.
- Quais são as desvantagens de MCP Server Kubernetes?
- O modo padrão inclui delete, exec_in_pod e kubectl bruto; o modo não destrutivo ainda permite apply, patch e scale; onze avisos de segurança, oito classificados como altos; a ClusterRole padrão do Helm chart pode ler todos os Secrets.
- Para quem MCP Server Kubernetes é indicado?
- Engenheiros de plataforma que querem um agente para investigar clusters via kubectl e vão antes dar a ele uma ServiceAccount restrita e o modo somente leitura.
- Quanto custa MCP Server Kubernetes para uma equipe ou em produção?
- Gratuito; o cluster é cobrado como de costume. O custo que cresce é a carga no servidor de API e o contexto: chamadas de listagem em todos os namespaces de um cluster grande podem estourar o buffer de saída padrão de 1 MB, que o SPAWN_MAX_BUFFER aumenta.
- MCP Server Kubernetes é seguro para dados da empresa?
- Ele pode fazer tudo o que a identidade do kubeconfig pode e, nos padrões, isso inclui ler Secrets por inteiro via kubectl_generic ou exec_in_pod. Logs de pods, eventos e anotações são texto não confiável que chega ao modelo, que é como vários avisos descrevem a exfiltração de tokens. O modo HTTP escuta no localhost com proteção contra DNS rebinding ativada por padrão, mas não exige token a menos que MCP_AUTH_TOKEN esteja definido.
- Quais são as melhores alternativas ao MCP Server Kubernetes?
- As alternativas mais próximas que analisamos são AWS MCP Server, Azure MCP Server, Terraform MCP Server e Grafana MCP Server.
Respostas verificadas em 28 de out. de 2026.
