Kubernetes MCP Server
oficialUm servidor MCP Kubernetes para Claude, construído em Go. O servidor integra-se com ArgoCD, GitLab, Claude AI e Kubernetes para permitir controle e automação avançados de ambientes Kubernetes.
O que você pode fazer com Kubernetes MCP?
- Inspecionar recursos do cluster — Peça ao seu assistente para listar namespaces ou recursos de qualquer tipo via
GET /api/v1/namespaceseGET /api/v1/resources/{kind}. - Solucionar problemas de um recurso específico — Peça ao assistente para analisar ou solucionar problemas de um pod como
example-podusando o endpointPOST /api/v1/mcp/troubleshoot. - Revisar commits do GitLab — Solicite uma análise de commit através do endpoint
POST /api/v1/mcp/commitpara obter insights orientados por IA. - Verificar aplicações ArgoCD — Peça uma lista de todas as aplicações ArgoCD via
GET /api/v1/argocd/applications. - Consultas personalizadas de IA sobre recursos — Envie uma solicitação MCP genérica (
POST /api/v1/mcp) com uma consulta personalizada sobre qualquer recurso no seu cluster.
Documentação
Claude Kubernetes MCP Server
Um servidor Model Context Protocol (MCP) para gerenciamento de clusters Kubernetes com integração com ArgoCD e GitLab.
Este repositório contém o servidor Claude Kubernetes MCP (Model Context Protocol), construído em Go. O servidor integra-se com ArgoCD, GitLab, Claude AI e Kubernetes para permitir controle avançado e automação de ambientes Kubernetes.
Sumário
- Visão Geral
- Pré-requisitos
- Instruções de Configuração
- Configuração
- Executando Localmente
- Construindo e Executando com Docker
- Implantação em Produção
- Documentação da API
- Coleção Postman
- Licença
Visão Geral
Este servidor foi projetado para orquestrar cargas de trabalho Kubernetes usando Claude AI, GitLab, ArgoCD e Vault. Ele expõe uma API REST que permite interação programática com esses sistemas, orientada por um config.yaml configurado e autenticada usando uma chave de API.
Pré-requisitos
- Go 1.20+
- Docker
- Cluster Kubernetes e
~/.kube/configválido - Cluster EKS com AWS_PROFILE definido localmente
- Credenciais do ArgoCD
- Token de acesso pessoal do GitLab
- Chave de API do Claude (Anthropic)
- Credenciais do Vault (opcional, dependendo do uso)
Instruções de Configuração
1. Clonar o Repositório
git clone https://github.com/blankcut/kubernetes-mcp-server.git
cd kubernetes-mcp-server
2. Exportar Variáveis de Ambiente Necessárias
Exporte as credenciais para ArgoCD, GitLab e Claude:
export ARGOCD_USERNAME="argocd-username"
export ARGOCD_PASSWORD="argocd-password"
export GITLAB_TOKEN="gitlab-token"
export CLAUDE_API_KEY="claude-api-key"
export VAULT_TOKEN="optional-if-using-vault"
Garanta que um kubeconfig esteja disponível:
export KUBECONFIG=~/.kube/config
3. Configurar config.yaml
Atualize kubernetes-claude-mcp/config.yaml com credenciais e preferências do servidor:
server:
address: ":8080"
readTimeout: 30
writeTimeout: 60
auth:
apiKey: ""${API_KEY}""
kubernetes:
kubeconfig: ""
inCluster: false
defaultContext: ""
defaultNamespace: "default"
argocd:
url: "http://example.argocd.com"
authToken: ""
username: "${ARGOCD_USERNAME}"
password: "${ARGOCD_PASSWORD}"
insecure: true
gitlab:
url: "https://gitlab.com"
authToken: "${AUTH_TOKEN}"
apiVersion: "v4"
projectPath: ""${PROJECT_PATH}""
claude:
apiKey: "${API_KEY}"
baseURL: "https://api.anthropic.com"
modelID: "claude-sonnet-4.5-20250514"
maxTokens: 8192
temperature: 0.3
Você pode usar os modelos Go fornecidos ou o método de interpolação de variáveis de ambiente.
4. Adicionar Chave de API para Postman
Certifique-se de que um config.yaml inclua um apiKey. Isso será usado para autenticar solicitações no Postman ou em qualquer cliente externo.
Executando Localmente
cd kubernetes-claude-mcp
go run ./cmd/server/main.go
Com Logging de Depuração:
LOG_LEVEL=debug go run ./cmd/server/main.go --config config.yaml
O servidor iniciará e vinculará à porta configurada em config.yaml (padrão: 8080).
Construindo e Executando com Docker
1. Construir a Imagem
cd kubernetes-claude-mcp
docker build -t claude-mcp-server -f Dockerfile .
2. Executar o Contêiner (segunda opção de build incluída)
cd kubernetes-claude-mcp
docker-compose build
docker-compose up -d
Implantação em Produção
Um chart Helm está incluído no repositório para implantação em Kubernetes:
1. Navegue até o Diretório do Chart Helm
cd kubernetes-claude-mcp/deployments/helm
2. Implantar com Helm
Atualize values.yaml com valores apropriados e execute:
helm install claude-mcp .
Para atualizar:
helm upgrade claude-mcp .
Certifique-se de que segredos e config maps estejam devidamente montados e protegidos no cluster.
Documentação da API
Abaixo estão os endpoints principais expostos pelo servidor MCP. Todas as solicitações exigem o cabeçalho X-API-Key:
Geral
- Verificação de Saúde
GET /api/v1/health
Kubernetes
- Listar Namespaces
GET /api/v1/namespaces
- Listar Recursos
GET /api/v1/resources/{kind}?namespace={ns}
- Obter Recurso Específico
GET /api/v1/resources/{kind}/{name}?namespace={ns}
- Obter Eventos para um Recurso
GET /api/v1/events?namespace={ns}&resource={kind}&name={name}
ArgoCD
- Listar Aplicações
GET /api/v1/argocd/applications
Endpoints Claude MCP
- Analisar Recurso
POST /api/v1/mcp/resource
- Solucionar Problemas do Recurso
POST /api/v1/mcp/troubleshoot
- Análise de Commit (GitLab)
POST /api/v1/mcp/commit
- Solicitação MCP Genérica
POST /api/v1/mcp
Todos os endpoints POST aceitam um payload JSON contendo campos como:
{
"resource": "pod",
"name": "example-pod",
"namespace": "default",
"query": "What’s wrong with this pod?"
}
Coleção Postman
Uma coleção Postman pronta para uso estará disponível em breve.
Doação
Contribua para o nosso fundo de café para nos ajudar a continuar fazendo coisas incríveis Compre-me um Café
Licença
Este projeto está licenciado sob a Licença MIT.
Contribuição
A documentação será expandida em breve. Se você quiser contribuir, sinta-se à vontade para abrir um pull request ou registrar uma issue!