mcp-k8s-go
Servidor MCP para Kubernetes baseado em Golang. Construído para ser extensível.
Documentação
Servidor MCP baseado em Golang para conectar ao Kubernetes
MCP K8S Go
Recursos ⚙ Navegar com Inspector ⚙ Usar com Claude ⚙ Contribuindo ↗ ⚙ Sobre MCP ↗
Recursos
MCP 💬 prompt 🗂️ resource 🤖 tool
- 🗂️🤖 Listar contextos do Kubernetes
- 💬🤖 Listar namespaces do Kubernetes
- 🤖 Listar, obter, criar e modificar qualquer recurso do Kubernetes
- inclui mapeamentos personalizados para recursos como pods, services e deployments
- 🤖 Listar nós do Kubernetes
- 💬 Listar pods do Kubernetes
- 🤖 Obter eventos do Kubernetes
- 🤖 Obter logs de pods do Kubernetes
- 🤖 Executar comando em pod do Kubernetes
Navegar com Inspector
Para usar a versão publicada mais recente com o Inspector, execute:
npx @modelcontextprotocol/inspector npx @strowk/mcp-k8s
Usar com Claude
Exemplo de Uso
A conversa a seguir com o Claude Desktop demonstra como fica quando um contexto específico é selecionado como recurso e depois é solicitado verificar os logs dos pods em busca de erros no namespace kube-system:

Para usar este servidor MCP com o Claude Desktop (ou qualquer outro cliente), você pode precisar escolher qual método de instalação usar.
Você tem várias opções:
| Smithery | mcp-get | NPM pré-compilado | Pré-compilado no Github | A partir do código-fonte | Usando Docker | |
|---|---|---|---|---|---|---|
| Configuração do Claude | Automática | Automática | Manual | Manual | Manual | Manual |
| Pré-requisito | Node.js | Node.js | Node.js | Nenhum | Golang | Docker |
Usando Smithery
Para instalar o MCP K8S Go para o Claude Desktop automaticamente via Smithery:
npx -y @smithery/cli install @strowk/mcp-k8s --client claude
Usando mcp-get
Para instalar o MCP K8S Go para o Claude Desktop automaticamente via mcp-get:
npx @michaellatman/mcp-get@latest install @strowk/mcp-k8s
Manualmente com binários pré-compilados
Pré-compilado do npm
Use esta opção se você tiver o npm instalado e quiser usar binários pré-compilados:
npm install -g @strowk/mcp-k8s
Em seguida, verifique a versão executando mcp-k8s --version e, se a versão instalada for exibida, você pode prosseguir adicionando a configuração ao arquivo claude_desktop_config.json:
{
"mcpServers": {
"mcp_k8s": {
"command": "mcp-k8s",
"args": []
}
}
}
, ou usando npx com qualquer cliente:
npx @strowk/mcp-k8s
Por exemplo, para o Claude:
{
"mcpServers": {
"mcp_k8s": {
"command": "npx",
"args": [
"@strowk/mcp-k8s"
]
}
}
}
A partir dos releases do GitHub
Acesse GitHub releases e baixe a versão mais recente para sua plataforma.
Descompacte o arquivo, que conterá o binário chamado mcp-k8s-go, coloque esse binário em algum lugar do seu PATH e adicione a seguinte configuração ao arquivo claude_desktop_config.json:
{
"mcpServers": {
"mcp_k8s": {
"command": "mcp-k8s-go",
"args": []
}
}
}
Compilando a partir do código-fonte
Você precisará do Golang instalado para compilar este projeto:
go get github.com/strowk/mcp-k8s-go
go install github.com/strowk/mcp-k8s-go
, e adicione a seguinte configuração ao arquivo claude_desktop_config.json:
{
"mcpServers": {
"mcp_k8s_go": {
"command": "mcp-k8s-go",
"args": []
}
}
}
Usando Docker
Este servidor é compilado e publicado no Docker Hub desde o release 0.3.1-beta.2, com imagens multi-arquitetura disponíveis para as arquiteturas linux/amd64 e linux/arm64.
Você pode usar a tag mais recente, por exemplo:
docker run -i -v ~/.kube/config:/home/nonroot/.kube/config --rm mcpk8s/server:latest
Usuários do Windows podem precisar substituir ~/.kube/config por //c/Users/<username>/.kube/config pelo menos no Git Bash.
Para o Claude:
{
"mcpServers": {
"mcp_k8s_go": {
"command": "docker",
"args": [
"run",
"-i",
"-v",
"~/.kube/config:/home/nonroot/.kube/config",
"--rm",
"mcpk8s/server:latest"
]
}
}
}
Variáveis de Ambiente e Opções de Linha de Comando
As seguintes variáveis de ambiente são usadas pelo servidor MCP:
KUBECONFIG: Caminho para o seu arquivo de configuração do Kubernetes (opcional, padrão: ~/.kube/config)
As seguintes opções de linha de comando são suportadas:
--allowed-contexts=<ctx1,ctx2,...>: Lista separada por vírgulas de contextos do Kubernetes permitidos que os usuários podem acessar. Se não for especificada, todos os contextos são permitidos.--readonly: Desativa qualquer ferramenta que possa gravar alterações no cluster--help: Exibe informações de ajuda--version: Exibe informações de versão--mask-secrets: Mascara segredos na saída (padrão: true). Use--mask-secrets=falsepara desativar o mascaramento
Por exemplo, se você estiver configurando o Claude Desktop, pode adicionar a seguinte configuração ao arquivo claude_desktop_config.json:
{
"mcpServers": {
"mcp_k8s": {
"command": "mcp-k8s",
"args": [
"--allowed-contexts=dev,prod",
"--readonly"
]
}
}
}
, o que permitiria apenas o uso dos contextos dev e prod e desativaria qualquer ferramenta que possa gravar alterações no cluster.