MCP
C# SDK 1.0 - O que há de novo e como criar seu primeiro servidor MCP
![]() |
Neste artigo vou apresentar o MCP C# SDK na sua versão 1.0 lançado a poucos dias. |
O MCP C# SDK atingiu a versão 1.0, trazendo suporte completo para a versão de 25/11/2025 da especificação MCP. Esta versão oferece um conjunto robusto de novos recursos — desde fluxos de autorização aprimorados e metadados mais completos até novos e poderosos padrões para chamadas de ferramentas, elicitação e tratamento de solicitações de longa duração.
A inteligência artificial está rapidamente se tornando parte das aplicações
modernas, e os desenvolvedores precisam de maneiras confiáveis de conectar
modelos de IA com ferramentas do mundo real, APIs e fontes de dados.
Para
atender essa necessidade, a Microsoft e a comunidade do Model Context Protocol
(MCP) lançaram a versão 1.0 do MCP C# SDK, um marco importante para
desenvolvedores .NET que estão construindo sistemas baseados em IA.
Essa
versão traz suporte completo à especificação MCP 2025-11-25 e melhorias
importantes em:
- Autenticação
- Metadados
- Integração de ferramentas
- Execução de operações de longa duração
Esses recursos tornam mais
simples construir integrações de IA seguras e escaláveis em aplicações .NET.
O que é o Model Context Protocol (MCP)?
O Model
Context Protocol (MCP) é um protocolo aberto criado para padronizar
como aplicações fornecem contexto para modelos de linguagem (LLMs).
Em
termos simples, o MCP funciona como uma ponte entre modelos de IA e sistemas do
mundo real, como:
- APIs
- Bancos de dados
- Serviços
- Ferramentas
externas
Com o MCP, desenvolvedores podem permitir que agentes de IA:
- Acessem dados estruturados
- Utilizem ferramentas externas
- Executem
tarefas
- Interajam com aplicações de forma segura
Isso torna o MCP
uma tecnologia fundamental para a construção de:
- Assistentes inteligentes
- Agentes de IA
- Plataformas de automação
- Aplicações corporativas com
IA integrada
Principais recursos do MCP C# SDK v1.0
1. Descoberta avançada de servidores de autorização
A segurança é
fundamental quando sistemas de IA interagem com recursos externos. A nova
especificação MCP permite que servidores exponham Protected Resource Metadata
(PRM) de várias maneiras.
Agora os servidores podem disponibilizar
metadados através de:
- Uma URL no header WWW-Authenticate
- Um endpoint
well-known derivado do caminho MCP
- Um endpoint well-known na raiz do
servidor
O SDK gerencia automaticamente esse processo de descoberta,
simplificando a implementação de autenticação baseada em OAuth.
2.
Suporte a ícones para ferramentas e recursos
Agora o SDK permite anexar
metadados de ícones a:
- Ferramentas
- Recursos
- Prompts
Isso
melhora muito a experiência em interfaces que exibem as ferramentas disponíveis
para agentes de IA.
3. Consentimento incremental de permissões
O
MCP agora suporta incremental scope consent, permitindo solicitar permissões
somente quando necessário.
O Fluxo típico é :
- O cliente inicia com
permissões mínimas
- Quando uma ferramenta exige acesso adicional, o sistema
solicita a autorização
- Esse modelo segue o princípio de menor privilégio,
aumentando segurança e confiança.
4. Interações sensíveis usando URL Mode
Para evitar exposição de dados sensíveis (como chaves de API ou pagamentos),
o MCP permite interações seguras fora do fluxo do modelo de IA.
O usuário
é redirecionado para uma página segura controlada pelo servidor. Isso:
-
Protege dados sensíveis
- Melhora fluxos de autenticação
- Segue boas
práticas de segurança OAuth
5. Suporte a operações de longa duração
Os Workflows de IA podem levar mais
tempo que o limite padrão de HTTP.
O MCP introduz suporte para operações
long-running usando polling e event streams
O fluxo funciona assim:
-
O servidor inicia o processamento
- Retorna um event ID
- O cliente pode
consultar o resultado posteriormente
Isso permite criar workflows de IA
escaláveis.
Exemplo Prático: Criando um MCP Server com C#
Vamos
agora criar um servidor MCP simples que expõe uma ferramenta para consultar
o tempo.
1 — Criando o projeto
Podemos criar o projeto no Visual Studio 2026 ou usando a linha de
comando:
dotnet new web -n McpPrevisaoTempoServer
cd McpPrevisaoTempoServer
A seguir instale o pacote MCP: dotnet add package
ModelContextProtocol.AspNetCore
2 — Criando uma ferramenta MCP
No MCP, uma
ferramenta (tool) é uma função publicada por um servidor, que
qualquer cliente MCP pode descobrir e oferecer ao modelo de IA. Quem decide
chamar a ferramenta é o modelo; quem executa a chamada é o cliente MCP, que a
encaminha ao servidor.
Se você já usou tool calling (function
calling) com o Microsoft.Extensions.AI, vai reconhecer o padrão: o
mecanismo é o mesmo. A diferença é que a função passa a morar em um servidor e
pode ser usada por qualquer aplicação que fale o protocolo MCP.
A seguir temos o exemplo de uma função bem simples que iremos implementar:
using System.ComponentModel;
[McpServerToolType] public class PrevisaoTempoTool { [McpServerTool, Description("Obtém o clima atual de uma cidade.")] public static string GetPrevisaoTempo( [Description("Nome da cidade")] string cidade) { var previsao = new Dictionary<string, string> { ["São Paulo"] = "24°C, parcialmente nublado", ["Rio de Janeiro"] = "30°C, ensolarado", ["Curitiba"] = "18°C, chuva leve" }; if (previsao.TryGetValue(cidade, out var resultado)) return resultado; return "Cidade não encontrada."; } } |
Observe os atributos:
- [McpServerToolType] identifica a classe que contém
ferramentas
- [McpServerTool] marca o método como ferramenta MCP (sem ele a
ferramenta não é registrada)
- [Description] descreve a ferramenta e seus
parâmetros; é com base nessa descrição que o modelo decide quando e como
chamá-la
3 — Registrando o MCP Server
Agora vamos configurar o
servidor MCP registrando a função :
using ModelContextProtocol.Server; var builder = WebApplication.CreateBuilder(args); builder.Services.AddMcpServer() .WithHttpTransport() .WithTools<PrevisaoTempoTool>(); var app = builder.Build(); app.MapMcp(); app.Run(); |
Nesse código:
- AddMcpServer() registra os serviços do servidor MCP
-
WithHttpTransport() configura o transporte HTTP (obrigatório para usar o MapMcp)
- WithTools<PrevisaoTempoTool>() registra as ferramentas da classe
- MapMcp()
expõe o endpoint compatível com o protocolo MCP (na raiz da aplicação; você pode
usar, por exemplo, app.MapMcp("/mcp"))
4 — Como um agente usaria esse servidor
Quando o
modelo decide usar a ferramenta, o cliente MCP envia ao servidor uma requisição
JSON-RPC com o método tools/call:
|
{ "jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": { "name": "get_previsao_tempo", "arguments": { "cidade": "São Paulo" } } } |
E o servidor responde:
|
{ |
Na prática você não monta esse JSON manualmente: o SDK faz isso por você. Em uma aplicação .NET que usa o Microsoft.Extensions.AI, basta obter as ferramentas do servidor e passá-las ao IChatClient:
|
using ModelContextProtocol.Client; var transporte = new HttpClientTransport(new HttpClientTransportOptions { Endpoint = new Uri("https://localhost:5001") }); await using var mcpClient = await McpClient.CreateAsync(transporte); // As ferramentas MCP são AIFunctions: podem ir direto para o ChatOptions var tools = await mcpClient.ListToolsAsync(); var options = new ChatOptions { Tools = [.. tools] }; var resposta = await chatClient.GetResponseAsync( "Como está o tempo em São Paulo?", options); |
(Ajuste o endereço para a porta em que o seu servidor está rodando, e
configure o chatClient com UseFunctionInvocation() para que as chamadas de
ferramentas sejam executadas automaticamente.)
Assim, o modelo pode
acessar ferramentas reais de forma padronizada — e o mesmo servidor pode ser
usado também pelo Visual Studio, VS Code, GitHub Copilot ou Claude Code.
Por que esse lançamento é importante?
O MCP C# SDK 1.0 é
um marco importante porque:
- Estabiliza o MCP para aplicações .NET em
produção
- Simplifica autenticação e segurança
- Melhora a experiência do
desenvolvedor
- Permite criar workflows de IA mais robustos
Para quem
trabalha com:
- AI Agents
- Copilots
- Automação inteligente
-
Aplicações corporativas com IA
Esse SDK fornece os blocos fundamentais
para integrar IA com sistemas reais.
Casos de uso do MCP
Alguns exemplos práticos incluem:
- Ferramentas de desenvolvimento com IA
- Assistentes inteligentes corporativos
- Plataformas de automação
-
Aplicações empresariais integradas com IA
Com o crescimento dos AI
Agents, o MCP pode se tornar uma camada de infraestrutura essencial para
aplicações inteligentes.
Conclusão
O MCP C# SDK
1.0 representa um avanço importante para desenvolvedores .NET que querem
integrar IA em suas aplicações.
Ele oferece:
- Comunicação padronizada
entre IA e aplicações
- Segurança robusta
- Integração simples com
ferramentas e APIs
Isso abre caminho para um futuro onde modelos de IA
podem interagir com serviços e dados do mundo real de forma segura e escalável.
Se você está construindo aplicações .NET com IA, este é um ótimo momento
para começar a explorar o MCP.
O ecossistema ainda está no início — mas o
potencial é enorme.
[NOTA DE ATUALIZAÇÃO — opcional, inclua se for republicar o artigo
agora]
Atualização (novembro/2026): desde a publicação deste artigo,
o MCP C# SDK chegou à versão 2.0, que implementa a revisão 2026-07-28 da
especificação. Entre as mudanças, o transporte HTTP passou a ser stateless por
padrão e há breaking changes em relação à 1.x. Além disso, o .NET 11 SDK já traz
o template de projeto mcpserver (MCP Server App no Visual Studio), que permite
escolher entre os transportes stdio e http.
E estamos
conversados...
"Volta, minha alma, para o teu repouso, pois o Senhor te fez bem"
Salmos 116:7
Referências:
NET - Unit of Work - Padrão Unidade de ...