DEV Community

Cover image for 🧠 Minha Primeira Comunicação com MCP e .NET

🧠 Minha Primeira Comunicação com MCP e .NET

📖 Introdução

Com o avanço das arquiteturas modernas e da interoperabilidade entre plataformas, o MCP (Model Context Protocol) surge como uma tecnologia que permite comunicação estruturada entre modelos de linguagem (LLMs) e aplicações reais, incluindo APIs, serviços e agentes.

O objetivo deste artigo é mostrar como realizar sua primeira comunicação entre uma aplicação .NET e um endpoint MCP, demonstrando na prática como conectar seu back-end a uma camada inteligente.


⚙️ O Que é o MCP?

O Model Context Protocol (MCP) é um padrão aberto projetado para criar um canal de comunicação entre aplicações externas e modelos de linguagem, de forma segura, extensível e baseada em contexto.

Ele permite que seu modelo (por exemplo, GPT, Claude, Gemini) acesse dados e APIs do mundo real, mantendo controle sobre escopo, autenticação e contexto.

No ecossistema moderno, isso significa que um sistema .NET pode expor endpoints que são compreendidos e consumidos diretamente por um modelo compatível com MCP.


🧩 Arquitetura da Comunicação

A arquitetura base envolve três camadas principais:

┌────────────────────────────┐ │ .NET API (C#) │ ← Expõe endpoints REST/JSON └──────────────┬─────────────┘ │ ▼ ┌────────────────────────────┐ │ MCP Server │ ← Interpreta, autentica e roteia └──────────────┬─────────────┘ │ ▼ ┌────────────────────────────┐ │ Model / LLM Client │ ← ChatGPT / Copilot / Llama └────────────────────────────┘ 
Enter fullscreen mode Exit fullscreen mode

Essa comunicação pode ser feita via HTTP, WebSocket ou gRPC, dependendo da configuração do MCP.


🧱 Criando o Projeto .NET

Comece criando uma API básica em .NET:

dotnet new webapi -n McpConnector cd McpConnector 
Enter fullscreen mode Exit fullscreen mode

No arquivo Program.cs, configure um endpoint simples para teste:

var builder = WebApplication.CreateBuilder(args); var app = builder.Build(); app.MapGet("/api/status", () => { return Results.Ok(new { service = "MCP .NET Connector", status = "running", timestamp = DateTime.UtcNow }); }); app.Run(); 
Enter fullscreen mode Exit fullscreen mode

Execute o projeto:

dotnet run 
Enter fullscreen mode Exit fullscreen mode

Acesse http://localhost:5000/api/status.


🔗 Conectando com o MCP

Para conectar sua API ao MCP, é necessário expor um manifesto que descreve os recursos e operações disponíveis.

Crie um arquivo mcp-manifest.json:

{ "version": "1.0.0", "name": "dotnet-mcp-service", "description": "MCP integration demo with .NET Web API", "endpoints": [ { "id": "status", "method": "GET", "path": "/api/status", "description": "Returns the current service status." } ] } 
Enter fullscreen mode Exit fullscreen mode

Esse arquivo informa ao MCP como interagir com sua API, permitindo que um modelo entenda suas rotas.


🧠 Comunicação Prática

Suponha que seu MCP Client (por exemplo, ChatGPT com MCP habilitado) precise acessar seu endpoint /api/status.

O cliente MCP fará a requisição:

GET http://localhost:5000/api/status Accept: application/json 
Enter fullscreen mode Exit fullscreen mode

Resposta do .NET:

{ "service": "MCP .NET Connector", "status": "running", "timestamp": "2025-10-07T12:00:00Z" } 
Enter fullscreen mode Exit fullscreen mode

O modelo então entende o contexto e pode usá-lo em conversas, dashboards ou automações.


🧩 Integração com gRPC ou WebSocket

O MCP pode usar transportes bidirecionais.
No .NET, podemos habilitar isso facilmente com MapHub (SignalR) ou Grpc.AspNetCore.

Exemplo gRPC (simplificado)

Adicione o pacote:

dotnet add package Grpc.AspNetCore 
Enter fullscreen mode Exit fullscreen mode

Crie um arquivo mcp.proto:

syntax = "proto3"; service McpService { rpc GetStatus (Empty) returns (StatusResponse); } message StatusResponse { string service = 1; string status = 2; string timestamp = 3; } 
Enter fullscreen mode Exit fullscreen mode

Implemente o serviço e registre-o no Program.cs:

app.MapGrpcService<McpServiceImplementation>(); 
Enter fullscreen mode Exit fullscreen mode

Agora o MCP pode se conectar via gRPC com o mesmo modelo de contrato.


📈 Boas Práticas

✅ Utilize autenticação JWT ou API Key para proteger o acesso.
✅ Crie logs detalhados com ILogger<T> para rastrear as chamadas MCP.
✅ Padronize respostas JSON para consistência.
✅ Monitore com OpenTelemetry + Grafana para métricas e tracing.


🧩 Cenários Reais de Uso

  • Integração entre ChatGPT Enterprise e API .NET interna.
  • Automação de processos via MCP Agents conectados a microsserviços.
  • APIs inteligentes com acesso contextual (CRM, ERP, observabilidade).
  • Suporte a assistentes internos corporativos baseados em dados reais.

✅ Conclusão

Integrar o MCP com .NET é um passo estratégico para modernizar a comunicação entre suas APIs e modelos inteligentes.
Essa arquitetura cria uma ponte entre o raciocínio contextual de LLMs e a robustez do .NET, tornando suas aplicações mais dinâmicas, observáveis e preparadas para o futuro da interoperabilidade.


🤝 Conecte-se Comigo

Se você trabalha com .NET moderno e quer dominar arquitetura, C#, observabilidade, DevOps ou interoperabilidade, vamos conversar:

💼 LinkedIn
✍️ Medium
📬 dopme.io
📬devsfree

Bem sei eu que tudo podes, e que nenhum dos teus propósitos pode ser impedido. Jó 42:2

Top comments (0)