DEV Community

Alex Pimenta
Alex Pimenta

Posted on

Desmistificando o MCP (Model Context Protocol): A camada que conecta a IA ao mundo real

A Inteligência Artificial Generativa e os Modelos de Linguagem de Grande Porte (LLMs) revolucionaram a forma como interagimos com software. No entanto, por mais potentes que sejam, esses modelos enfrentam uma limitação estrutural clássica: isolados, eles não possuem acesso em tempo real aos dados e ferramentas do mundo real.

💡 A analogia do USB-C: Pense no MCP (Model Context Protocol) como o conector USB-C para a Inteligência Artificial. Antes do USB-C, cada dispositivo exigia um cabo específico. Antes do MCP, cada ferramenta ou banco de dados exigia uma integração customizada e frágil para se conectar a um agente de IA.


O que é exatamente o MCP e o que ele faz?

O Model Context Protocol (MCP) é um protocolo aberto que funciona como uma camada bidirecional de tradução e acesso entre clientes de IA (como Claude Desktop, VS Code, ChatGPT ou assistentes corporativos) e os sistemas onde as informações operacionais residem (bancos de dados SQL, APIs de ERPs, serviços de nuvem como AWS/Azure e repositórios locais).

Ele atua em duas frentes fundamentais:

  • Da IA para o Mundo Real: Traduz o raciocínio em linguagem natural gerado pelo modelo em ações concretas do sistema (consultas SQL, chamadas REST API, comandos de infraestrutura).
  • Do Mundo Real para a IA: Traduz os dados brutos e resultados retornados pelos sistemas em um contexto estruturado e seguro que o modelo consegue interpretar com precisão.

Para que serve nos Negócios? (Valor Prático)

Adotar o padrão MCP na arquitetura de software corporativa gera impactos diretos em eficiência e segurança:

  1. Redução de Custo de Desenvolvimento: Crie a integração no padrão MCP uma única vez e conecte qualquer modelo de IA compatível sem ter que reescrever conectores.
  2. Fim do "Copia e Cola" Operacional: Elimina a necessidade de exportar planilhas CSV ou colar relatórios manualmente nos chats de IA. A IA consulta a fonte da verdade diretamente.
  3. Mitigação Severa de "Alucinações": Como a IA passa a ter acesso a dados auditados e atualizados em tempo real, as respostas passam a ser baseadas em fatos.
  4. Governança e Controle de Acesso: O servidor MCP atua como um gatekeeper. Você define exatamente quais ações a IA pode executar, impedindo alterações não autorizadas ou vazamento de dados sensíveis.

Construindo um Servidor MCP sob Medida em C# (.NET 8)

O protocolo MCP é agnóstico de linguagem de programação, pois utiliza comunicações padronizadas via stdio ou HTTP/SSE com JSON-RPC 2.0. Existem SDKs maduros para TypeScript, Python e uma adoção crescente no ecossistema C#/.NET.

Abaixo está um exemplo prático de implementação de um Servidor MCP em C# (.NET 8) utilizando Entity Framework Core para expor consultas seguras a um banco de dados SQL Server:

1. Configuração do Projeto e Injeção das Tools

Definimos uma classe de ferramentas (Tools) em C# decorada com atributos que descrevem para a IA a utilidade da função e seus parâmetros:

using System.ComponentModel;
using System.Text.Json;
using Microsoft.EntityFrameworkCore;
using ModelContextProtocol.NET.Server.Features.Tools;

namespace McpSqlDbServer.Tools;

public class ClienteMcpTools
{
    private readonly AppDbContext _dbContext;

    public ClienteMcpTools(AppDbContext dbContext)
    {
        _dbContext = dbContext;
    }

    [McpTool("buscar_cliente_por_documento")]
    [Description("Busca os dados cadastrais e saldo devedor de um cliente pelo CPF ou CNPJ.")]
    public async Task<string> BuscarClientePorDocumentoAsync(
        [Description("Número do documento (CPF ou CNPJ) sem pontuação")] string documento)
    {
        var cliente = await _dbContext.Clientes
            .AsNoTracking()
            .FirstOrDefaultAsync(c => c.Documento == documento);

        if (cliente == null)
            return JsonSerializer.Serialize(new { Sucesso = false, Mensagem = "Cliente não encontrado." });

        return JsonSerializer.Serialize(new { Sucesso = true, cliente.Nome, cliente.SaldoDevedor });
    }
}

Enter fullscreen mode Exit fullscreen mode

2. Ponto de Entrada e Registro do Servidor (Program.cs)

A inicialização do servidor configura os serviços do .NET e registra o transporte via Stdio Transport para comunicação direta com a interface de IA do desenvolvedor:

using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.DependencyInjection;
using ModelContextProtocol.NET.Server.Extensions;
using McpSqlDbServer.Tools;

var builder = Host.CreateDefaultBuilder(args);

builder.ConfigureServices((hostContext, services) =>
{
    services.AddDbContext<AppDbContext>(options =>
        options.UseSqlServer("Server=localhost;Database=EmpresaDb;Trusted_Connection=True;"));

    services.AddScoped<ClienteMcpTools>();

    services.AddMcpServer(options =>
    {
        options.ServerInfo = new() { Name = "SqlServerMcpServer", Version = "1.0.0" };
    })
    .AddStdioTransport()
    .WithTools<ClienteMcpTools>();
});

var app = builder.Build();
await app.RunAsync();

Enter fullscreen mode Exit fullscreen mode

Conclusão

O MCP transforma a IA de uma ferramenta estática de chat em um agente de execução autônomo e contextualizado. Para arquitetos e desenvolvedores de software, dominar o MCP é o passo definitivo para criar soluções de inteligência artificial verdadeiramente integradas aos processos de negócios modernos.


📚 Série Engenharia de Software Assistida por IA
Publiquei a obra completa com todos os conteúdos para você se tornar um Engenheiro de Software Assistido por IA com todas as bases, processos e governança necessárias para o correto Desenvolvimento de Software.

Edições Físicas (Capa Comum):

Top comments (0)