Skip to content

MCP Server Kubernetes

Servidor comunitario de Kubernetes: kubectl y Helm como 23 herramientas para agentes, con modos de solo lectura y de lista de permitidas que tienes que activar tú.

Reseña de Sheela · Actualizado

Guía de instalación Código abierto

Nuestra nota

3.8/5

Amplio y con parches frecuentes, pero tal como viene da a un agente delete, exec y kubectl en bruto sobre tu contexto activo, así que ejecútalo en solo lectura con una ServiceAccount que no pueda ver Secrets.

¿Qué es MCP Server Kubernetes?

MCP Server Kubernetes, publicado en npm como mcp-server-kubernetes por el usuario de GitHub Flux159, permite a un agente inspeccionar y modificar un clúster mediante kubectl y Helm. Expone 23 herramientas, de kubectl_get, kubectl_describe y kubectl_logs a kubectl_apply, kubectl_delete, exec_in_pod, node_management y una herramienta kubectl_generic que ejecuta cualquier comando de kubectl, además de un prompt de diagnóstico k8s-diagnose. La mayoría de las herramientas llaman a los binarios kubectl y helm de tu PATH, pasando los argumentos directamente y no a través de una shell; el reenvío de puertos y las comprobaciones de conexión usan la librería cliente oficial de JavaScript.

Lee ~/.kube/config por defecto y usa el contexto que esté activo. También acepta un kubeconfig completo en KUBECONFIG_YAML o KUBECONFIG_JSON, un servidor y un token bearer en K8S_SERVER y K8S_TOKEN, una ruta personalizada o la ServiceAccount del clúster cuando se ejecuta en un pod, algo que admite el chart de Helm del repositorio. Stdio es el transporte por defecto; Streamable HTTP es opcional tras ENABLE_UNSAFE_STREAMABLE_HTTP_TRANSPORT, con un token opcional en la cabecera X-MCP-AUTH.

El repositorio, con licencia MIT, tiene unas 1.600 estrellas en GitHub; la v4.2.1 salió el 26 de octubre de 2026, y el paquete de npm se descargó unas 34.000 veces en el mes hasta el 26 de octubre. Figura en el registro oficial de MCP.

Cómo instalar MCP Server Kubernetes

npx mcp-server-kubernetes

¿Merece la pena MCP Server Kubernetes?

El problema son los valores por defecto, no la lista de funciones. Arrancado sin variables de entorno, el servidor ofrece las 23 herramientas contra el contexto de kubeconfig que esté activo, que para la mayoría de los ingenieros es una identidad de administrador. Un agente puede entonces borrar namespaces, vaciar nodos, desinstalar releases de Helm, ejecutar comandos dentro de pods con exec_in_pod y pasar cualquier cosa a kubectl_generic. Incluso la operación set de kubectl_context reescribe tu kubeconfig, así que también cambia el contexto que usa tu propia terminal.

Tres interruptores lo acotan, por este orden de prioridad. ALLOWED_TOOLS recibe una lista exacta y se niega a arrancar si un nombre está mal escrito. ALLOW_ONLY_READONLY_TOOLS deja siete herramientas documentadas: get, describe, logs, context (con el cambio bloqueado), explain_resource, list_api_resources y ping. ALLOW_ONLY_NON_DESTRUCTIVE_TOOLS es más débil de lo que indica su nombre: elimina delete, uninstall, cleanup, la gestión de nodos, exec y kubectl_generic, pero mantiene kubectl_apply, kubectl_patch, kubectl_scale y el install y upgrade de Helm, así que un agente aún puede escalar un deployment a cero o sobrescribir un manifiesto en ejecución.

Los Secrets se enmascaran, en parte. kubectl_get sustituye por *** los valores de datos de cualquier Secret por defecto, pero la documentación dice claramente que los logs y otras operaciones no están cubiertos. En el modo por defecto están disponibles tanto kubectl_generic como exec_in_pod, así que una identidad con get sobre Secrets puede leerlos completos. Las especificaciones de pods con variables de entorno en línea y los ConfigMaps vuelven sin enmascarar en todos los modos. El enmascaramiento es una comodidad; el control es RBAC.

Ahí es donde una ServiceAccount dedicada demuestra su valor. Vinculada al ClusterRole view integrado de Kubernetes en un solo namespace, puede leer la mayoría de los objetos pero no Secrets, roles ni role bindings, así que ni una línea de log con prompt injection ni un fallo del servidor pueden llegar a las credenciales ni escribir nada. La propia guía de Kubernetes advierte de que list y watch sobre Secrets revelan su contenido igual que get. No tomes como modelo el chart de Helm del repositorio: su ClusterRole, descrito como de mínimo privilegio, concede get, list y watch sobre Secrets en todo el clúster, además de delete sobre pods y deployments y pods/exec.

El historial de seguridad tiene dos caras. Se han publicado once avisos desde julio de 2025, ocho de gravedad alta, que cubren inyección de comandos, inyección de flags que podía enviar el token bearer del operador a otro servidor de API, lectura arbitraria de archivos locales y, en mayo de 2026, modos de solo lectura que solo ocultaban herramientas en lugar de bloquear las llamadas (corregido en 3.6.0). Todos se corrigieron rápido, y el código ahora bloquea flags como --server, --token y --as en la entrada de las herramientas. Son muchos hallazgos para un solo servidor, y un motivo para mantenerse en la versión actual.

Dónde se gana su sitio

  • Una SRE de guardia en una empresa SaaS de 50 ingenieros con producción en Kubernetes

    Averiguar por qué los pods de un namespace están en bucle de fallos sin arriesgarse a una escritura

    Ejecútalo con ALLOW_ONLY_READONLY_TOOLS=true y un kubeconfig de una ServiceAccount vinculada al rol view en ese namespace, y lanza el prompt k8s-diagnose. El agente lee eventos, la salida de describe y los logs; no puede leer Secrets ni cambiar nada. El servidor es gratuito y la configuración es un solo Role binding.

  • Un desarrollador que trabaja con un clúster local de minikube o kind

    Instalar un chart de Helm, cambiar valores y volver a desplegar mientras itera sobre un servicio

    Aquí el modo por defecto con el contexto local es razonable: install_helm_chart, kubectl_apply y kubectl_rollout cubren el ciclo. Si lo apuntas a producción con los mismos ajustes, el mismo agente puede borrar namespaces, así que mantén el contexto activo del kubeconfig en el clúster local.

  • Un responsable de equipo de plataforma en una fintech que decide si dejar a los agentes acercarse a clústeres compartidos

    Fijar una política sobre qué acciones de los agentes son aceptables

    ALLOWED_TOOLS=kubectl_get,kubectl_describe,kubectl_logs fija la superficie y falla al arrancar si hay una errata, y el trazado con OpenTelemetry registra cada llamada. La decisión de fondo es el rol de RBAC que hay detrás, porque el valor por defecto del chart de Helm puede leer todos los Secrets del clúster.

Antes de decidirte

Puesta en marcha
Necesita kubectl en el PATH y un kubeconfig que funcione (Helm 3 opcional), y después claude mcp add kubernetes -- npx mcp-server-kubernetes o el mismo comando npx en Claude Desktop, VS Code, Cursor o Codex; también se ofrecen un paquete mcpb, una imagen de Docker y un chart de Helm. Si kubectl get pods funciona en tu terminal, la primera llamada funciona en minutos.
Integraciones
23 herramientas: de lectura (kubectl_get, kubectl_describe, kubectl_logs, explain_resource, list_api_resources, ping), de escritura (kubectl_apply, kubectl_create, kubectl_patch, kubectl_scale, kubectl_rollout, install, upgrade y uninstall de Helm), destructivas (kubectl_delete, cleanup, node_management, exec_in_pod, kubectl_generic), además de reenvío de puertos y cambio de contexto. Exportación opcional de OpenTelemetry a cualquier backend OTLP.
Datos y privacidad
Puede hacer todo lo que pueda la identidad del kubeconfig, y con los valores por defecto eso incluye leer Secrets completos mediante kubectl_generic o exec_in_pod. Los logs de pods, los eventos y las anotaciones son texto no fiable que llega al modelo, que es como varios avisos describen la exfiltración de tokens. El modo HTTP se liga a localhost con protección contra DNS rebinding activada por defecto, pero no exige token salvo que se defina MCP_AUTH_TOKEN.
Coste a escala
Gratis; el clúster se factura como siempre. El coste que crece es la carga del servidor de API y el contexto: las llamadas list sobre todos los namespaces de un clúster grande pueden desbordar el búfer de salida por defecto de 1 MB, que SPAWN_MAX_BUFFER amplía.
Límites
Requiere los binarios kubectl y helm en local; no tiene paso de aprobación propio, así que la confirmación depende del cliente MCP. El enmascaramiento solo cubre kubectl_get sobre Secrets. El modo HTTP del chart de Helm acepta peticiones sin autenticar salvo que se defina security.mcpAuthToken.

Lo bueno

  • 23 herramientas cubren kubectl, Helm, logs, reenvío de puertos y trabajo con nodos
  • Modos de solo lectura y de lista exacta de permitidas aplicados en cada llamada desde 3.6.0
  • Valores de Secrets enmascarados por defecto en la salida de kubectl_get
  • Muchas fuentes de credenciales, incluidas ServiceAccounts dentro del clúster

Lo malo

  • El modo por defecto incluye delete, exec_in_pod y kubectl en bruto
  • El modo no destructivo sigue permitiendo apply, patch y scale
  • Once avisos de seguridad, ocho de gravedad alta
  • El ClusterRole por defecto del chart de Helm puede leer todos los Secrets

Ideal para

Ingenieros de plataforma que quieren que un agente investigue clústeres mediante kubectl y que antes le darán una ServiceAccount acotada y el modo de solo lectura.

Alternativas a MCP Server Kubernetes

MCP Server Kubernetes: preguntas frecuentes

¿Merece la pena MCP Server Kubernetes?
Amplio y con parches frecuentes, pero tal como viene da a un agente delete, exec y kubectl en bruto sobre tu contexto activo, así que ejecútalo en solo lectura con una ServiceAccount que no pueda ver Secrets. Le damos un 3.8 sobre 5.
¿Cuánto cuesta MCP Server Kubernetes?
Gratis y de código abierto (MIT). Solo pagas el clúster con el que se comunica.
¿Qué inconvenientes tiene MCP Server Kubernetes?
El modo por defecto incluye delete, exec_in_pod y kubectl en bruto; el modo no destructivo sigue permitiendo apply, patch y scale; once avisos de seguridad, ocho de gravedad alta; el ClusterRole por defecto del chart de Helm puede leer todos los Secrets.
¿Para quién es MCP Server Kubernetes?
Ingenieros de plataforma que quieren que un agente investigue clústeres mediante kubectl y que antes le darán una ServiceAccount acotada y el modo de solo lectura.
¿Cuánto cuesta MCP Server Kubernetes para un equipo o en producción?
Gratis; el clúster se factura como siempre. El coste que crece es la carga del servidor de API y el contexto: las llamadas list sobre todos los namespaces de un clúster grande pueden desbordar el búfer de salida por defecto de 1 MB, que SPAWN_MAX_BUFFER amplía.
¿Es MCP Server Kubernetes seguro para los datos de la empresa?
Puede hacer todo lo que pueda la identidad del kubeconfig, y con los valores por defecto eso incluye leer Secrets completos mediante kubectl_generic o exec_in_pod. Los logs de pods, los eventos y las anotaciones son texto no fiable que llega al modelo, que es como varios avisos describen la exfiltración de tokens. El modo HTTP se liga a localhost con protección contra DNS rebinding activada por defecto, pero no exige token salvo que se defina MCP_AUTH_TOKEN.
¿Cuáles son las mejores alternativas a MCP Server Kubernetes?
Las alternativas más cercanas que hemos analizado son AWS MCP Server, Azure MCP Server, Terraform MCP Server y Grafana MCP Server.

Respuestas comprobadas el 28 oct 2026.