Voltar as noticias
Servidor MCP em .NET para Gerenciar Kubernetes com Claude
MCP ProtocolAltaEN

Servidor MCP em .NET para Gerenciar Kubernetes com Claude

Dev.to - MCP·14 de abril de 2026

Eu cansei de alternar entre meu assistente de IA e um terminal toda vez que
precisava verificar o que estava rodando no meu cluster Kubernetes. Então eu construí
uma solução que remove completamente o terminal da equação.

Este é um servidor MCP escrito em .NET 9 que conecta Claude diretamente a
um cluster Kubernetes. Em vez de executar comandos kubectl, você apenas pergunta
para Claude o que deseja em inglês simples e ele descobre qual ferramenta chamar,
fala com o cluster e retorna dados reais.

O que é realmente o MCP

MCP significa Protocolo de Contexto de Modelo. É um padrão aberto criado por
Anthropic que permite que assistentes de IA se comuniquem com ferramentas e serviços externos de
uma maneira estruturada. Pense nisso como um sistema de plugins para IA - você constrói um
servidor que expõe ferramentas, e qualquer IA compatível com MCP pode chamar essas ferramentas
durante uma conversa.

A diferença de uma API comum é que a IA decide quando e como
usar as ferramentas com base no que você pergunta. Você não escreve código para chamar as
tools. Você apenas tem uma conversa.

O que eu construí

O servidor expõe oito ferramentas que Claude pode chamar:

ListPods - lista todos os pods em todos os namespaces ou em um específico, com
status e idade.

GetPodLogs - busca a saída recente de logs de qualquer pod, útil para depuração
sans abrir um terminal.

ListDeployments - mostra todos os deployments com suas contagens de réplicas desejadas versus prontas.

ScaleDeployment - escala um deployment para qualquer número de réplicas até um
límite máximo de 10, com a contagem anterior incluída na resposta para que você
sabia o que mudou.

RestartDeployment - aciona um reinício gradual atualizando a
annotation restartedAt, que é exatamente o que o kubectl rollout restart
faz nos bastidores.

GetDeploymentStatus - retorna o status detalhado do rollout e condições,
útil para verificar se um deployment foi concluído com sucesso.

ListNamespaces - lista todos os namespaces com status e idade.

GetNamespaceSummary - retorna pods, deployments e serviços para um
namespaces em uma única visualização.

Uma conversa real com o cluster

Aqui está como uma sessão real se parece. Eu abro o Claude Desktop e pergunto:

"Liste todos os pods no meu cluster Kubernetes"

Claude chama ListPods, meu servidor MCP fala com o cluster, e eu recebo de volta
algo como:

idp-platform/idp-platform-xxx - Executando - 1d
monitoring/prometheus-stack-grafana-xxx - Executando - 1d
monitoring/alertmanager-xxx - Executando - 1d
kube-system/coredns-xxx - Executando - 1d

Então eu pergunto:

"Escale o deployment idp-platform para 2 réplicas"

Claude chama ScaleDeployment com os parâmetros corretos, o cluster
atualiza, e eu recebo de volta uma confirmação de que escalou de 1 para 2
réplicas. Sem kubectl, sem terminal, sem troca de contexto.

Como funciona tecnicamente

O servidor é construído com o SDK ModelContextProtocol .NET. Cada classe de ferramenta
é decorada com McpServerToolType e cada método com
McpServerTool mais um atributo Description que informa à IA o que a
tool faz e quando usá-la.

[McpServerToolType]
public class DeploymentTools
{
    [McpServerTool, Description("Escalar um deployment Kubernetes para um " +
        "número especificado de réplicas.")]
    public async Task<string> ScaleDeployment(
        [Description("Nome do deployment a ser escalado.")]
        string deploymentName,
        [Description("Número de réplicas. Máximo 10.")]
        int replicas,
        [Description("Namespace. Padrão é default.")]
        string namespaceName = "default")
    {
        // verificação de segurança, então escalar
    }
}

As descrições são o que a IA lê para decidir qual ferramenta chamar.
Escrever boas descrições é a parte mais importante de construir um servidor MCP -
descrições vagas levam a chamadas de ferramentas erradas.

O servidor se comunica via stdio, o que significa que o Claude Desktop o inicia
como um processo filho e os dois se comunicam através de entrada e saída padrão.
Sem servidor HTTP, sem portas, sem regras de firewall.

Conectando ao Claude Desktop

Adicione isso ao seu arquivo de configuração do Claude Desktop em
%APPDATA%\Claude\claude_desktop_config.json:

{
  "mcpServers": {
    "kubernetes-manager": {
      "command": "C:\\Program Files\\dotnet\\dotnet.exe",
      "args": [
        "run",
        "--project",
        "C:\\path\\to\\mcp-kubernetes-manager\\src\\Mcp.KubernetesManager"
      ]
    }
  }
}

Reinicie o Claude Desktop, vá para Configurações, e você verá o servidor
listado sob Servidores MCP locais com todas as oito

Contexto Triplo Up

A implementação do MCP pode transformar a forma como empresas brasileiras gerenciam suas infraestruturas de TI. Com a capacidade de interagir com sistemas complexos usando linguagem natural, as empresas podem aumentar a eficiência operacional e reduzir a curva de aprendizado para novos usuários.

Noticias relacionadas

Gostou do conteudo?

Receba toda semana as principais novidades sobre WebMCP.