Skip to main content
Glama
teresa-tran

kubectl-mcp

by teresa-tran

kubectl-mcp

Un servidor MCP (Model Context Protocol) que permite a los agentes de IA inspeccionar clústeres de Kubernetes en lenguaje natural — pregunta "¿qué pods se reiniciaron en la última hora?" y obtén una respuesta real.

Creado por Teresa Tran.

Por qué

Los asistentes de LLM son excelentes explicando comandos kubectl y pésimos ejecutándolos de forma segura. kubectl-mcp expone la inspección de clústeres de solo lectura como un conjunto de herramientas MCP que un agente puede llamar — convirtiendo "revisa mi clúster" de copiar-y-pegar-y-esperar en una conversación real.

  • Solo lectura por diseño. Sin apply, sin delete, sin exec. El servidor solo inspecciona.

  • Modo simulado por defecto. Incluye un clúster falso con datos de ejemplo para que puedas probarlo en 30 segundos sin un clúster real.

  • Modo real cuando estés listo. Apúntalo a tu KUBECONFIG y consultará un clúster en vivo mediante el cliente oficial de Kubernetes para Python.

Related MCP server: Kubernetes MCP Server

Instalación

pip install kubectl-mcp                # mock mode (default)
pip install "kubectl-mcp[real]"        # + real-cluster support (kubernetes client)

O desde el código fuente:

git clone https://github.com/teresa-tran/kubectl-mcp.git
cd kubectl-mcp
pip install -e ".[real,dev]"

Ejecútalo de forma independiente (verificación rápida)

kubectl-mcp --help                     # show flags
kubectl-mcp --list-tools               # print every MCP tool + its schema
kubectl-mcp --demo list_pods           # run a tool once against the mock cluster
kubectl-mcp --demo find_restarted_pods --arg since_minutes=120

Conéctalo a un cliente MCP

Claude Desktop

Añade a ~/Library/Application Support/Claude/claude_desktop_config.json (mac) o %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "kubectl": {
      "command": "kubectl-mcp"
    }
  }
}

Para el modo de clúster real:

{
  "mcpServers": {
    "kubectl": {
      "command": "kubectl-mcp",
      "env": {
        "KUBECTL_MCP_MODE": "real",
        "KUBECONFIG": "/Users/you/.kube/config"
      }
    }
  }
}

Reinicia Claude Desktop. Ahora deberías poder preguntar "lista los pods en el namespace de producción" y obtener una respuesta real.

Otros clientes compatibles con MCP

Cualquier cliente que hable MCP por stdio (Cursor, Cline, Continue, agentes personalizados) funciona de la misma manera — apúntalo al binario kubectl-mcp.

Herramientas expuestas

Herramienta

Qué hace

list_namespaces

Todos los namespaces del clúster

list_pods

Pods en un namespace, con fase + número de reinicios

get_pod

Detalle completo de un pod (contenedores, estados, eventos)

list_deployments

Deployments en un namespace, con réplicas listas/deseadas

get_deployment

Detalle completo de un deployment

list_services

Servicios en un namespace, con tipo + endpoints

list_recent_events

Eventos de los últimos N minutos, más recientes primero

get_pod_logs

Últimas N líneas de los logs de un pod (solo lectura, sin exec)

find_restarted_pods

Pods que se reiniciaron en los últimos N minutos (consulta de alto nivel)

Cada herramienta tiene un JSON Schema — los LLM obtienen validación de argumentos adecuada de forma gratuita.

Configuración

Variables de entorno:

Var

Valores

Por defecto

Qué hace

KUBECTL_MCP_MODE

mock | real

mock

Backend del clúster

KUBECONFIG

ruta

~/.kube/config

Ruta del kubeconfig en modo real

KUBECTL_MCP_MOCK_DATA

ruta

(incluido)

Sobrescribe el JSON del clúster simulado

KUBECTL_MCP_LOG_LEVEL

debug | info | warn

info

Verbosidad de logs a stderr

El clúster simulado

El clúster simulado por defecto viene en src/kubectl_mcp/mock_data.json e incluye:

  • 3 namespaces: default, production, staging

  • ~15 pods que abarcan estados saludables, en crashloop y reiniciados recientemente

  • Deployments, servicios y un flujo de eventos recientes

  • Algunos pods tienen contadores de reinicio > 0 para que find_restarted_pods devuelva resultados reales

Puedes sobrescribirlo configurando KUBECTL_MCP_MOCK_DATA=/ruta/a/tu.json si quieres demostrar un escenario específico.

Notas de diseño

  • Solo lectura por construcción. El protocolo KubernetesBackend solo define métodos de lectura. No hay ninguna ruta de código que pueda mutar el estado del clúster — ni siquiera en modo real.

  • El backend es intercambiable. MockBackend y RealBackend implementan el mismo protocolo. Añadir un tercero (por ejemplo, una instantánea en caché) es un archivo.

  • Los errores son excepciones, no nulos silenciosos. ResourceNotFound, NamespaceNotFound, etc., se propagan como McpError con mensajes útiles para que el agente pueda corregir el rumbo.

  • Transporte stdio. Todas las llamadas a herramientas MCP son JSON-RPC sobre stdio, cumpliendo exactamente con la especificación MCP.

Desarrollo

pip install -e ".[real,dev]"
pytest                                 # run tests
ruff check src tests                   # lint
kubectl-mcp --demo list_pods --arg namespace=production   # smoke test

Hoja de ruta

  • Backend simulado con datos de ejemplo

  • Backend real mediante el cliente de Python kubernetes

  • Superficie de herramientas de solo lectura

  • Modo --demo independiente para CI/pruebas de humo

  • Soporte multi-clúster (bandera --context)

  • Herramientas de métricas (CPU/memoria mediante metrics.k8s.io)

  • Capa de caché opcional para consultas de alta frecuencia

Licencia

MIT © 2026 Teresa Tran

A
license - permissive license
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • Git-backed platform for skills, tools, and context for AI agents

  • See, price, and control every tool call your AI agents make: policy checks, cost, and audit tools.

  • SaaS intelligence for AI agents. 5 unified tools cover 1,000+ services with 91-96% token savings.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/teresa-tran/kubectl-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server