códigomadrugada

iaclaude-codemcpagentes

MCP para devs: o que é e como usar com Claude Code

MCP (Model Context Protocol) conecta o Claude Code ao seu banco, repositórios e APIs. Veja como configurar em minutos e os melhores servers para projetos C#/.NET.

Desenvolvedor de madrugada configurando servidores MCP no Claude Code em projeto C# .NET
Código da Madrugada25 de maio de 20267 min de leitura

Você conectou o Claude Code ao seu projeto C# e a coisa funciona: ele lê arquivos, edita código, cria endpoints. Mas quando você pede pra ele "verificar se esse usuário já existe no banco antes de inserir", ele não consegue. Ele não enxerga o PostgreSQL. Não acessa o GitHub. Não conhece a API interna da sua empresa.

O motivo é simples: por padrão, o Claude Code só tem acesso ao sistema de arquivos local. E é exatamente aí que o MCP entra.

O que é MCP (Model Context Protocol)?

MCP é um padrão aberto lançado pela Anthropic em novembro de 2024. A ideia central: criar um protocolo padronizado pra modelos de IA se conectarem a fontes de dados e ferramentas externas.

Antes do MCP, cada integração era customizada. Queria conectar o Claude ao banco? Escreve código de integração específico. Queria acesso ao GitHub? Outra integração diferente. Cada ferramenta, um trabalho separado.

Com MCP, funciona como USB: se um servidor implementa o protocolo, qualquer agente compatível consegue usá-lo. Um MCP server pra PostgreSQL criado hoje funciona com Claude Code, com GPT-4o, com Gemini — qualquer LLM que suporte o padrão. O release candidate da spec foi publicado em 21 de maio de 2026 e o protocolo está disponível em modelcontextprotocol.io.

É novo. Por isso quase não existe conteúdo em pt-BR sobre isso ainda.

Como funciona na prática

A arquitetura tem três partes:

Claude Code (LLM) ↔ MCP Server ↔ Ferramenta externa

O Claude Code chama o MCP server usando o protocolo. O MCP server traduz essa chamada pra ferramenta (banco, API, GitHub) e devolve o resultado. O Claude processa e continua o trabalho.

Pra você como dev, isso aparece assim: você adiciona um MCP server ao projeto e, a partir daí, o Claude Code "enxerga" aquela ferramenta. Pode fazer queries no banco, criar issues no GitHub, ler segredos de um cofre.

MCP servers rodam de dois jeitos: localmente como um processo stdio (que fica ativo durante a sessão) ou como um serviço remoto acessado via HTTP. A maioria dos servers que você vai instalar é stdio — um processo Node.js ou .NET que sobe quando o Claude Code inicia.

Como configurar no Claude Code

Existem duas formas: via CLI ou editando o .mcp.json direto.

Via CLI

claude mcp add postgres -- npx -y crystaldba/postgres-mcp

Isso adiciona o server ao arquivo .mcp.json na raiz do projeto. Pra adicionar com escopo de usuário (disponível em todos os projetos):

claude mcp add --scope user github -- npx -y @github/github-mcp-server

Outros comandos úteis:

claude mcp list            # lista servers configurados
claude mcp remove <nome>   # remove um server
claude mcp get <nome>      # mostra configuração de um server

Via .mcp.json

Crie ou edite o arquivo .mcp.json na raiz do projeto:

{
  "mcpServers": {
    "postgres": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "crystaldba/postgres-mcp"],
      "env": {
        "DATABASE_URL": "postgresql://localhost:5432/meu_banco"
      }
    },
    "github": {
      "type": "http",
      "url": "https://api.githubcopilot.com/mcp/",
      "headers": {
        "Authorization": "Bearer ${GITHUB_TOKEN}"
      }
    }
  }
}

Esse arquivo vai pro git, o que significa que o time todo usa os mesmos servers sem configuração adicional. Pra dados sensíveis como tokens e connection strings, use variáveis de ambiente em vez de valores fixos.

E aí você reinicia o Claude Code na raiz do projeto. O agente detecta o .mcp.json e conecta aos servers automaticamente na próxima sessão.

MCP servers úteis pra devs .NET

PostgreSQL

O server oficial da Anthropic (@modelcontextprotocol/server-postgres) foi arquivado em maio de 2025 por uma vulnerabilidade de SQL injection. Use o crystaldba/postgres-mcp como alternativa — é ativamente mantido e aparece nos exemplos oficiais da Anthropic:

claude mcp add postgres -- npx -y crystaldba/postgres-mcp

Com ele configurado, você pode pedir coisas como "lista os 5 pedidos com maior valor criados hoje" e o Claude vai montar e executar a query no banco, devolver o resultado, e usar isso no código que estiver escrevendo.

SQL Server

Pra projetos .NET com SQL Server, o executeautomation/mcp-database-server suporta múltiplos bancos (PostgreSQL, SQL Server, SQLite) numa instalação só:

claude mcp add database -- npx -y @executeautomation/database-server

Se você preferir uma implementação nativa em .NET, o aadversteeg/mssqlclient-mcp-server foi escrito com o SDK oficial de C# e tem boa integração com Claude Desktop e Claude Code.

GitHub

claude mcp add --transport http github https://api.githubcopilot.com/mcp/

Com o server remoto oficial do GitHub, você pode pedir ao Claude Code que liste issues abertos com uma determinada label, crie um pull request, ou verifique o status de um workflow de CI — tudo no mesmo terminal onde você já tá desenvolvendo.

Filesystem

Quando você precisa dar acesso a diretórios fora da raiz do projeto:

claude mcp add files -- npx -y @modelcontextprotocol/server-filesystem /caminho/para/pasta

Aprenda Claude Code do zero

Do terminal ao projeto real — um curso em pt-BR feito pra devs C#/.NET.

Ver cursos

Criando seu próprio MCP server em C#

Aqui fica interessante pra quem trabalha com .NET: você pode criar um MCP server em C# pra expor APIs internas, dados de negócio, ou qualquer ferramenta que o Claude Code precise acessar.

A Microsoft mantém o SDK oficial no NuGet. A versão estável é a 1.3.0:

dotnet add package ModelContextProtocol

Com .NET 10, tem até template incluído no SDK:

dotnet new mcp-server -n MeuMcpServer

Um server mínimo expõe métodos como "tools" que o Claude pode chamar:

using ModelContextProtocol.Server;

var builder = McpServerBuilder.Create();

builder.AddTool(
    name: "buscar_pedido",
    description: "Busca um pedido pelo ID e retorna status e valor",
    handler: async (int pedidoId) =>
    {
        var pedido = await db.Pedidos.FindAsync(pedidoId);
        return pedido is null
            ? "Pedido não encontrado"
            : $"Pedido {pedido.Id}: {pedido.Status}, R${pedido.Total:F2}";
    });

await builder.Build().RunAsync();

Aí você adiciona esse executável ao .mcp.json do projeto:

{
  "mcpServers": {
    "meu-server": {
      "type": "stdio",
      "command": "dotnet",
      "args": ["run", "--project", "./MeuMcpServer"]
    }
  }
}

E o Claude Code passa a chamar buscar_pedido(pedidoId: 42) como se fosse uma função nativa, usando o resultado pra guiar o código que estiver gerando. A documentação completa do SDK C# cobre autenticação, streaming, e como expor resources além de tools.

Quando vale a pena configurar MCP?

Se você usa Claude Code principalmente pra escrever e refatorar código, o acesso ao filesystem já resolve 80% dos cenários. Mas se você quer que o agente entenda o estado real do sistema — dados no banco, issues em aberto, logs de produção — MCP é o que vai fazer essa diferença.

Só que, como quem leu Vibe Coding Vai Te Falhar aqui no blog já sabe: MCP não transforma o Claude Code em algo onisciente. Ele vai ter acesso às ferramentas que você conectar, com os dados disponíveis. Você ainda define os limites, as permissões, e o que o agente pode ou não fazer.

Se você ainda tá conhecendo o Claude Code, comece pelo guia completo do que é e como usar antes de mergulhar nos MCP servers. E se a dúvida é entre Claude Code e GitHub Copilot, tem uma comparação direta entre os dois que explica quando cada um faz mais sentido no dia a dia.

O artigo oficial da Anthropic sobre MCP tem o contexto histórico e a motivação por trás do protocolo, caso você queira entender as decisões de design além do uso prático.

Para quem quer ir além do básico e aprender a usar Claude Code com projetos C#/.NET de verdade — configurando CLAUDE.md, escrevendo prompts eficientes e integrando MCP no fluxo de trabalho — o curso de Claude Code cobre isso em pt-BR, do zero.

Perguntas frequentes

O que é MCP (Model Context Protocol)?
MCP é um padrão aberto criado pela Anthropic que define como modelos de IA se conectam a ferramentas externas — bancos de dados, APIs, sistemas de arquivos. Funciona como USB para IA: qualquer ferramenta compatível se pluga a qualquer LLM compatível, sem integração customizada.
Como adicionar um MCP server ao Claude Code?
Via CLI: rode 'claude mcp add <nome> -- npx -y @pacote/server' no terminal. O Claude Code salva a configuração em .mcp.json na raiz do projeto. Você também pode editar esse arquivo JSON manualmente, adicionando servers na estrutura mcpServers.
Existe MCP server para PostgreSQL ou SQL Server?
Sim. Para PostgreSQL, o recomendado é o crystaldba/postgres-mcp (o server oficial da Anthropic foi arquivado em maio de 2025 por vulnerabilidade de SQL injection). Para SQL Server, existem implementações em C#/.NET no GitHub, como o executeautomation/mcp-database-server e o aadversteeg/mssqlclient-mcp-server.
Dá pra criar um MCP server em C#?
Sim. A Microsoft mantém o SDK oficial em C# no pacote NuGet ModelContextProtocol (v1.3.0). Com .NET 10, você pode usar o template 'dotnet new mcp-server' pra criar um server do zero. O código expõe métodos C# como tools que o Claude Code pode chamar diretamente.
MCP funciona com outros modelos além do Claude?
Sim. MCP é um padrão aberto: qualquer LLM com suporte a tool use pode implementá-lo. GPT-4o, Gemini e outros modelos já têm ou estão adicionando suporte ao protocolo, o que significa que um MCP server criado hoje funciona com qualquer agente compatível no futuro.

Artigos relacionados

Quer usar Claude Code em projetos .NET reais?

Curso prático em português: CLAUDE.md, hooks, gestão de tokens e projetos reais com C#/.NET.

Conhecer o Curso Claude Code na Prática