mcp-k8s-go
Servidor MCP de Kubernetes basado en Golang. Diseñado para ser extensible.
Documentación
Servidor MCP basado en Golang que se conecta a Kubernetes
MCP K8S Go
Características ⚙ Explorar con Inspector ⚙ Usar con Claude ⚙ Contribuir ↗ ⚙ Acerca de MCP ↗
Características
MCP 💬 prompt 🗂️ recurso 🤖 herramienta
- 🗂️🤖 Listar contextos de Kubernetes
- 💬🤖 Listar namespaces de Kubernetes
- 🤖 Listar, obtener, crear y modificar cualquier recurso de Kubernetes
- incluye mapeos personalizados para recursos como pods, services, deployments
- 🤖 Listar nodos de Kubernetes
- 💬 Listar pods de Kubernetes
- 🤖 Obtener eventos de Kubernetes
- 🤖 Obtener registros (logs) de pods de Kubernetes
- 🤖 Ejecutar comandos en pods de Kubernetes
Explorar con Inspector
Para usar la última versión publicada con Inspector, puedes ejecutar esto:
npx @modelcontextprotocol/inspector npx @strowk/mcp-k8s
Usar con Claude
Demostración de uso
La siguiente conversación con Claude Desktop demuestra cómo se ve cuando se selecciona un contexto particular como recurso y luego se pide revisar los registros (logs) de pods en busca de errores en el namespace kube-system:

Para usar este servidor MCP con Claude Desktop (o cualquier otro cliente), es posible que necesites elegir qué método de instalación usar.
Tienes varias opciones:
| Smithery | mcp-get | NPM precompilado | Precompilado en Github | Desde el código fuente | Usando Docker | |
|---|---|---|---|---|---|---|
| Configuración de Claude | Automática | Automática | Manual | Manual | Manual | Manual |
| Requisito previo | Node.js | Node.js | Node.js | Ninguno | Golang | Docker |
Usando Smithery
Para instalar MCP K8S Go para Claude Desktop automáticamente a través de Smithery:
npx -y @smithery/cli install @strowk/mcp-k8s --client claude
Usando mcp-get
Para instalar MCP K8S Go para Claude Desktop automáticamente a través de mcp-get:
npx @michaellatman/mcp-get@latest install @strowk/mcp-k8s
Manualmente con binarios precompilados
Precompilado desde npm
Usa esto si tienes npm instalado y deseas usar binarios precompilados:
npm install -g @strowk/mcp-k8s
Luego verifica la versión ejecutando mcp-k8s --version y si esto imprime la versión instalada, puedes proceder a agregar la configuración al archivo claude_desktop_config.json:
{
"mcpServers": {
"mcp_k8s": {
"command": "mcp-k8s",
"args": []
}
}
}
, o usando npx con cualquier cliente:
npx @strowk/mcp-k8s
Por ejemplo, para Claude:
{
"mcpServers": {
"mcp_k8s": {
"command": "npx",
"args": [
"@strowk/mcp-k8s"
]
}
}
}
Desde releases de GitHub
Ve a GitHub releases y descarga la última versión para tu plataforma.
Descomprime el archivo, que contendrá un binario llamado mcp-k8s-go, coloca ese binario en algún lugar de tu PATH y luego agrega la siguiente configuración al archivo claude_desktop_config.json:
{
"mcpServers": {
"mcp_k8s": {
"command": "mcp-k8s-go",
"args": []
}
}
}
Compilando desde el código fuente
Necesitarás tener Golang instalado para compilar este proyecto:
go get github.com/strowk/mcp-k8s-go
go install github.com/strowk/mcp-k8s-go
, y luego agrega la siguiente configuración al archivo claude_desktop_config.json:
{
"mcpServers": {
"mcp_k8s_go": {
"command": "mcp-k8s-go",
"args": []
}
}
}
Usando Docker
Este servidor se compila y publica en Docker Hub desde la versión 0.3.1-beta.2 con imágenes multi-arquitectura disponibles para las arquitecturas linux/amd64 y linux/arm64.
Puedes usar la etiqueta latest, por ejemplo así:
docker run -i -v ~/.kube/config:/home/nonroot/.kube/config --rm mcpk8s/server:latest
Los usuarios de Windows podrían necesitar reemplazar ~/.kube/config con //c/Users/<username>/.kube/config al menos en Git Bash.
Para Claude:
{
"mcpServers": {
"mcp_k8s_go": {
"command": "docker",
"args": [
"run",
"-i",
"-v",
"~/.kube/config:/home/nonroot/.kube/config",
"--rm",
"mcpk8s/server:latest"
]
}
}
}
Variables de Entorno y Opciones de Línea de Comandos
Las siguientes variables de entorno son utilizadas por el servidor MCP:
KUBECONFIG: Ruta a tu archivo de configuración de Kubernetes (opcional, por defecto ~/.kube/config)
Las siguientes opciones de línea de comandos son compatibles:
--allowed-contexts=<ctx1,ctx2,...>: Lista separada por comas de contextos de Kubernetes permitidos a los que los usuarios pueden acceder. Si no se especifica, se permiten todos los contextos.--readonly: Deshabilita cualquier herramienta que pueda escribir cambios en el clúster--help: Muestra información de ayuda--version: Muestra información de versión--mask-secrets: Oculta secretos en la salida (por defecto: true). Usa--mask-secrets=falsepara deshabilitar el ocultamiento
Por ejemplo, si estás configurando Claude Desktop, puedes agregar la siguiente configuración al archivo claude_desktop_config.json:
{
"mcpServers": {
"mcp_k8s": {
"command": "mcp-k8s",
"args": [
"--allowed-contexts=dev,prod",
"--readonly"
]
}
}
}
, lo que permitiría solo los contextos dev y prod y deshabilitaría cualquier herramienta que pueda escribir cambios en el clúster.