
Sua API ASP.NET Core Existente Já é um Servidor MCP — Você Só Não Sabe Ainda
Se você tem acompanhado o espaço de ferramentas de IA recentemente, provavelmente ouviu falar sobre MCP — o Protocolo de Contexto de Modelo. É o padrão que permite que clientes de IA como Claude se conectem a ferramentas e APIs externas. E se você é um desenvolvedor .NET, provavelmente também teve o pensamento: "Como posso expor minha API existente como ferramentas MCP sem reescrever tudo?"
A resposta que a maioria dos tutoriais fornece parece algo assim:
[McpServerToolType]
public class OrderTools
{
private readonly OrderService _orders;
public OrderTools(OrderService orders) => _orders = orders;
[McpServerTool, Description("Recupera um único pedido por ID.")]
public async Task<Order> GetOrder(int id) => await _orders.GetByIdAsync(id);
[McpServerTool, Description("Cria um novo pedido.")]
public async Task<Order> CreateOrder(string customerName, string product, int quantity)
=> await _orders.CreateAsync(customerName, product, quantity);
}
Você está duplicando sua lógica de controlador. Seus filtros de autenticação não são executados. Sua validação de ModelState não é executada. Seu pipeline de DI existente está sendo ignorado. Você está mantendo duas superfícies para a mesma funcionalidade.
Há uma maneira melhor.
Apresentando o ZeroMCP
ZeroMCP é uma biblioteca .NET que expõe sua API ASP.NET Core existente como um servidor MCP com um único atributo e duas linhas de configuração. Nenhum processo separado. Nenhuma duplicação de código. Nenhuma reescrita.
Veja como fica:
[ApiController]
[Route("api/[controller]")]
public class OrdersController : ControllerBase
{
[HttpGet("{id}")]
[Mcp("get_order", Description = "Recupera um único pedido por ID.")]
public ActionResult<Order> GetOrder(int id) { ... }
[HttpPost]
[Mcp("create_order", Description = "Cria um novo pedido.")]
public ActionResult<Order> CreateOrder([FromBody] CreateOrderRequest request) { ... }
[HttpDelete("{id}")]
// Sem [Mcp] — invisível para clientes MCP
public IActionResult Delete(int id) { ... }
}
É isso. Seu controlador existente, sua lógica existente, seu pipeline existente — agora também um servidor MCP.
Início Rápido
1. Instalar
<PackageReference Include="ZeroMcp" Version="1.*" />
2. Registrar serviços
builder.Services.AddZeroMcp(options =>
{
options.ServerName = "Minha API de Pedidos";
options.ServerVersion = "1.0.0";
});
3. Mapear o endpoint
app.MapZeroMcp(); // registra GET e POST /mcp
4. Conectar seu cliente MCP
Adicione isso ao seu claude_desktop_config.json:
A adoção do MCP pode facilitar a integração de APIs com agentes de IA, permitindo que empresas brasileiras aproveitem suas infraestruturas existentes. Isso pode resultar em maior eficiência e inovação na oferta de serviços digitais.

