/ Directorio / Playground / kubectl-mcp-server
● Comunidad rohitg00 ⚡ Instantáneo

kubectl-mcp-server

por rohitg00 · rohitg00/kubectl-mcp-server

Gestiona Kubernetes mediante lenguaje natural — pods, despliegues, Helm, GitOps, optimización de costos. 253 herramientas, listado en CNCF Landscape.

kubectl-mcp-server (rohitg00) expone una amplia superficie de 253 herramientas sobre kubectl, Helm, Flux/ArgoCD, Cert-Manager, Velero, KEDA e Istio. Respeta tu KUBECONFIG estándar; soporta múltiples clusters mediante parámetros de contexto. OAuth 2.1 opcional para despliegues multi-tenant.

Por qué usarlo

Características clave

Demo en vivo

Cómo se ve en la práctica

kubectl.replay ▶ listo
0/0

Instalar

Elige tu cliente

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "kubectl": {
      "command": "uvx",
      "args": [
        "kubectl-mcp-server"
      ],
      "_inferred": true
    }
  }
}

Abre Claude Desktop → Settings → Developer → Edit Config. Reinicia después de guardar.

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "kubectl": {
      "command": "uvx",
      "args": [
        "kubectl-mcp-server"
      ],
      "_inferred": true
    }
  }
}

Cursor usa el mismo esquema mcpServers que Claude Desktop. La configuración del proyecto prevalece sobre la global.

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "kubectl": {
      "command": "uvx",
      "args": [
        "kubectl-mcp-server"
      ],
      "_inferred": true
    }
  }
}

Haz clic en el icono MCP Servers de la barra lateral de Cline y luego en "Edit Configuration".

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "kubectl": {
      "command": "uvx",
      "args": [
        "kubectl-mcp-server"
      ],
      "_inferred": true
    }
  }
}

Mismo formato que Claude Desktop. Reinicia Windsurf para aplicar.

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "kubectl",
      "command": "uvx",
      "args": [
        "kubectl-mcp-server"
      ]
    }
  ]
}

Continue usa un array de objetos de servidor en lugar de un mapa.

~/.config/zed/settings.json
{
  "context_servers": {
    "kubectl": {
      "command": {
        "path": "uvx",
        "args": [
          "kubectl-mcp-server"
        ]
      }
    }
  }
}

Añádelo a context_servers. Zed recarga en caliente al guardar.

claude mcp add kubectl -- uvx kubectl-mcp-server

Un solo comando. Verifica con claude mcp list. Quita con claude mcp remove.

Casos de uso

Usos del mundo real: kubectl-mcp-server

Diagnostica un pod CrashLoopBackOff en 60 segundos

👤 SREs de guardia ⏱ ~10 min intermediate

Cuándo usarlo: Las alertas se disparan; quieres ver logs, eventos y uso de recursos antes de investigar manualmente en kubectl.

Requisitos previos
  • kubectl configurado con acceso al cluster — kubectl config get-contexts debería listar tu cluster
Flujo
  1. Identifica pods en crash
    Lista pods en el namespace X con restart count > 5. Muestra nombre del pod, contenedor y razón del último exit.✓ Copiado
    → Lista reducida
  2. Obtén logs + eventos
    Para el pod Y, obtén las últimas 100 líneas de logs y los eventos relacionados. Destaca cualquier palabra clave de error.✓ Copiado
    → Causa raíz probable
  3. Verifica presión de recursos
    Muestra límites de CPU/memoria vs real para el pod. ¿Matado por OOM?✓ Copiado
    → Veredicto de recursos

Resultado: Una hipótesis enfocada en un minuto, no diez comandos kubectl.

Errores comunes
  • Contexto de cluster incorrecto — Siempre especifica --context en tu prompt; el default puede causarte problemas entre prod/staging
Combinar con: prometheus

Encuentra cargas sobre-provisionadas para reducir tu factura de cluster

👤 FinOps, ingenieros de plataforma ⏱ ~40 min advanced

Cuándo usarlo: Revisiones de costos trimestrales — quieres candidatos para scale-down basados en datos.

Flujo
  1. Ejecuta el análisis de costos
    Usa las herramientas de optimización de costos para encontrar despliegues donde request/limit es 3x real en los últimos 30 días.✓ Copiado
    → Lista ordenada de cargas sobre-provisionadas
  2. Estima ahorros
    Para los top 10, estima $ ahorrados por mes si se redimensionan correctamente. Agrupa por equipo.✓ Copiado
    → Tabla de ahorros por equipo
  3. Abre PRs con manifiestos sugeridos
    Genera manifiestos actualizados para los top 5 y abre PRs en los repos apropiados.✓ Copiado
    → PRs abiertos con diffs propuestos

Resultado: Ganancias de costos visibles respaldadas por métricas, con seguimiento mediante PRs.

Combinar con: github · prometheus

Actualiza una release de Helm de forma segura con Claude

👤 Ingenieros de plataforma ⏱ ~20 min advanced

Cuándo usarlo: Los upgrades rutinarios de Helm no deberían requerir 20 minutos de ceremonia.

Flujo
  1. Compara nuevo vs actual
    Para la release X, muestra diff entre values.yaml y la nueva versión del chart.✓ Copiado
    → Diff de value/template
  2. Ejecución de prueba
    Ejecuta helm upgrade --dry-run con el nuevo chart. Reporta cualquier problema de template renderizado.✓ Copiado
    → Dry-run limpio o errores accionables
  3. Actualiza con rollback listo
    Aplica la actualización. Inmediatamente después, verifica el estado del rollout y mantén la revisión anterior lista para rollback.✓ Copiado
    → Desplegado exitosamente con instrucciones de rollback

Resultado: Operaciones de Helm de menor riesgo con una ruta de rollback explícita desde el inicio.

Audita RBAC en busca de roles excesivamente permisivos

👤 Ingenieros de seguridad ⏱ ~30 min advanced

Cuándo usarlo: Pre-certificación o después de notar un rol sospechoso.

Flujo
  1. Lista roles con comodines
    Encuentra ClusterRoles o Roles con '*' en recursos o verbos. Agrupa por namespace.✓ Copiado
    → Lista de RBAC con comodines
  2. Mapea a sujetos
    Para cada uno, ¿quién está vinculado? Lista ServiceAccounts/Users/Groups.✓ Copiado
    → Matriz de sujeto-rol
  3. Sugiere reemplazos mínimos
    Para los 5 más riesgosos, sugiere los verbos mínimos requeridos basados en uso real (registros de auditoría).✓ Copiado
    → Propuestas concretas de restricción

Resultado: RBAC restringido con diffs defendibles.

Combinaciones

Combínalo con otros MCPs para multiplicar por 10

kubectl + prometheus

Referencia cruzada de estado de pod con métricas de Prometheus

Para el pod X, muestra la salida de kubectl describe junto a su CPU/memoria de las últimas 24h de Prometheus.✓ Copiado
kubectl + github

Auditoría RBAC → PRs que restringen manifiestos YAML

Para cada hallazgo en la auditoría RBAC, abre un PR contra el repo infra con un YAML de Role minimizado.✓ Copiado

Herramientas

Lo que expone este MCP

HerramientaEntradasCuándo llamarCoste
kubectl_get resource, namespace?, label_selector? Lista cualquier cosa 1 llamada API
kubectl_describe resource, name, namespace? Detalle profundo en un objeto individual 1 llamada API
pod_logs pod, container?, tail?, namespace? Depuración 1 llamada API
pod_events pod, namespace? ¿Por qué sucedió esto? 1 llamada API
helm_list namespace? Vista general de releases de Helm comando helm
helm_upgrade release, chart, values?, dry_run? Desplegar comando helm
cost_optimize namespace?, period? Barridos de FinOps API de métricas
rbac_audit Revisión de seguridad varias llamadas API

Coste y límites

Lo que cuesta ejecutarlo

Cuota de API
Limitado por la capacidad del servidor API de tu cluster
Tokens por llamada
La salida de kubectl puede ser grande — especialmente describe/get-wide
Monetario
MCP gratuito; los costos del cluster son tuyos
Consejo
Prefiere label_selector y field selectors en lugar de listar todo; evita --output=wide en los prompts

Seguridad

Permisos, secretos, alcance

Ámbitos mínimos: cluster solo lectura a menos que necesites escrituras
Almacenamiento de credenciales: KUBECONFIG estándar; MCP no almacena credenciales por separado
Salida de datos: Solo tu servidor API de K8s
No conceder nunca: cluster-admin al contexto MCP a menos que sea absolutamente necesario

Resolución de problemas

Errores comunes y soluciones

No autorizado / prohibido

El contexto KUBECONFIG carece de permisos. Verifica kubectl auth can-i para el verbo/recurso específico

Verificar: kubectl auth can-i get pods --namespace X
Confusión de contexto entre clusters

Siempre establece o pasa --context explícitamente; un contexto incorrecto en prod es un mal día

Verificar: kubectl config current-context
Helm upgrade falla a mitad del proceso

Usa helm rollback <release> <prev-rev>; siempre captura la revisión previa antes de actualizar

Alternativas

kubectl-mcp-server vs otros

AlternativaCuándo usarlaContrapartida
k8s-mcp-server (oficial-ish, más pequeño)Solo necesitas kubectl básico y te preocupa el ruido de la superficie de 253 herramientasMenos herramientas del ecosistema (sin Helm/Flux)
kubectl directo en una shellYa estás profundo en una sesión de terminalSin bucle de agente

Más

Recursos

📖 Lee el README oficial en GitHub

🐙 Ver issues abiertas

🔍 Ver todos los 400+ servidores MCP y Skills