Servidor MCP Kubernetes
Servidor MCP que puede conectarse a un clúster de Kubernetes y administrarlo.
https://github.com/user-attachments/assets/f25f8f4e-4d04-479b-9ae0-5dac452dd2ed
Uso con Claude Desktop
El servidor se conectará automáticamente a tu contexto actual de kubectl. Asegúrate de que:
- kubectl instalado y en su PATH
- Un archivo kubeconfig válido con contextos configurados
- Acceso a un clúster de Kubernetes configurado para kubectl (por ejemplo, minikube, Rancher Desktop, GKE, etc.)
- Helm v3 instalado y en tu PATH (no requiere Tiller). Opcional si no planeas usar Helm.
Puedes verificar tu conexión pidiéndole a Claude que enumere tus pods o cree una implementación de prueba.
Si tiene errores, abra una terminal estándar y ejecute kubectl get pods
para ver si puede conectarse a su clúster sin problemas de credenciales.
Uso con mcp-chat
mcp-chat es un cliente de chat CLI para servidores MCP. Puede usarlo para interactuar con el servidor Kubernetes.
Como alternativa, pásele el archivo de configuración existente de Claude Desktop mencionado anteriormente (Linux debería pasar la ruta correcta a config):
Impermeable:
Ventanas:
Características
- [x] Conectarse a un clúster de Kubernetes
- [x] Enumere todos los pods, servicios e implementaciones
- [x] Listar, describir nodos
- [x] Crear, describir, eliminar un pod
- [x] Enumere todos los espacios de nombres, cree un espacio de nombres
- [x] Crear configuraciones de implementación y pods personalizados, actualizar réplicas de implementación
- [x] Crear, describir, eliminar, actualizar un servicio
- [x] Crear, obtener, actualizar, eliminar un ConfigMap
- [x] Obtener registros de un pod para depuración (admite pods, implementaciones, trabajos y selectores de etiquetas)
- [x] Soporte para Helm v3 para instalar gráficos
- Instalar gráficos con valores personalizados
- Desinstalar versiones
- Actualizar versiones existentes
- Compatibilidad con espacios de nombres
- Soporte para la especificación de versiones
- Soporte para repositorios personalizados
- [x] Explicación de kubectl y soporte de recursos de la API de kubectl
- [x] Obtener eventos de Kubernetes del clúster
- [x] Reenvío de puerto a un pod o servicio
- [x] Crear, enumerar y describir cronjobs
- [x] Modo no destructivo para acceso de solo lectura y creación/actualización a clústeres
Desarrollo local
Asegúrate de tener instalado bun . Clona el repositorio e instala las dependencias:
Flujo de trabajo de desarrollo
- Inicie el servidor en modo de desarrollo (observa los cambios de archivos):
- Ejecutar pruebas unitarias:
- Construir el proyecto:
- Pruebas locales con Inspector
- Pruebas locales con Claude Desktop
- Pruebas locales con mcp-chat
Contribuyendo
Consulte el archivo CONTRIBUTING.md para obtener más detalles.
Avanzado
Funciones avanzadas adicionales
Para obtener información más avanzada, como el uso del transporte SSE, el modo no destructivo con ALLOW_ONLY_NON_DESTRUCTIVE_TOOLS
, consulte ADVANCED_README.md .
Arquitectura
Consulte este enlace de DeepWiki para obtener una descripción general de la arquitectura más detallada creada por Devin.
Esta sección describe la arquitectura de alto nivel del servidor Kubernetes MCP.
Flujo de solicitud
El diagrama de secuencia a continuación ilustra cómo fluyen las solicitudes a través del sistema:
Publicación de nuevo lanzamiento
Vaya a la página de lanzamientos , haga clic en "Borrador de nueva versión", haga clic en "Elegir una etiqueta" y cree una nueva etiqueta escribiendo un nuevo número de versión en formato semver "v{principal}.{secundaria}.{parche}". Luego, escriba el título de la versión "Versión v{principal}.{secundaria}.{parche}" y la descripción/registro de cambios si es necesario, y haga clic en "Publicar versión".
Esto creará una nueva etiqueta que activará una nueva compilación de lanzamiento mediante el flujo de trabajo cd.yml. Una vez completado correctamente, la nueva versión se publicará en npm . Tenga en cuenta que no es necesario actualizar manualmente la versión de package.json, ya que el flujo de trabajo actualizará automáticamente el número de versión en el archivo package.json y enviará una confirmación a main.
No planeado
Autenticación/adición de clústeres a kubectx.
local-only server
The server can only run on the client's local machine because it depends on local resources.
Tools
Implementación de TypeScript de operaciones de clúster de Kubernetes para pods, implementaciones y servicios.
Related MCP Servers
- -securityAlicense-qualityA server for task orchestration and coordination, facilitating task management with dependencies, multi-instance collaboration, and persistent task tracking.Last updated -717JavaScriptMIT License
- -securityFlicense-qualityA server that enables LLMs to manage Kubernetes clusters through natural language commands, wrapping kubectl operations to provide a simplified interface for common Kubernetes tasks.Last updated -3Python
- -securityAlicense-qualityProvides MCP multi-cluster Kubernetes management and operations, featuring a management interface, logging, and nearly 50 built-in tools covering common DevOps and development scenarios. Supports both standard and CRD resources.Last updated -484GoMIT License
- -securityAlicense-qualityProvides MCP multi-cluster Kubernetes management and operations. It can be integrated as an SDK into your own project and includes nearly 50 built-in tools covering common DevOps and development scenarios. Supports both standard and CRD resources.Last updated -115GoMIT License