Programação e desenvolvimento de software

Microsoft lança a versão 2.0 do pacote oficial MCP para C#

A nova versão é compatível com a especificação MCP datada de 2026-07-28, adota o modo sem estado por padrão, padroniza os cabeçalhos HTTP e oferece suporte a solicitações de múltiplas rodadas para lidar com ferramentas interativas. A versão mantém ampla compatibilidade com códigos, clientes e servidores anteriores, com exceção da extensão experimental Tasks.

2026-07-28
5 min de leitura
217 visualizações
certi.news Editorial Team
Microsoft lança a versão 2.0 do pacote oficial MCP para C#

A Microsoft anunciou o lançamento da versão 2.0 do kit de desenvolvimento de software oficial do MCP para C#, juntamente com a implementação da especificação 2026-07-28. A versão altera a forma de execução dos servidores MCP por HTTP, tornando-os sem estado por padrão, adiciona cabeçalhos HTTP padronizados e oferece suporte a solicitações de múltiplas rodadas que permitem às ferramentas solicitar entradas do usuário ou do modelo de linguagem sem depender de uma sessão persistente.

A versão é destinada a desenvolvedores que criam servidores e clientes MCP no .NET, mantendo o funcionamento das interfaces de programação de aplicativos estáveis da versão 1.x e oferecendo suporte aos frameworks net8.0, net9.0 e net10.0, além de netstandard2.0 para uso com o .NET Framework.

Servidores sem estado por padrão

Nas versões anteriores, o uso de Streamable HTTP exigia concluir o handshake de inicialização e criar uma sessão, para então enviar o cabeçalho Mcp-Session-Id em cada solicitação subsequente. Isso vinculava as solicitações à instância do servidor que emitia o identificador, exigindo roteamento fixo ou migração de sessões ao executar várias instâncias.

A especificação 2026-07-28 elimina o handshake initialize e initialized e o cabeçalho Mcp-Session-Id, transportando a versão do protocolo e os recursos em cada solicitação. Como resultado, qualquer instância do servidor pode processar qualquer solicitação, sem a necessidade de sessões fixas ou de armazenamentos de sessão compartilhados no nível do protocolo. Isso torna a implantação de servidores MCP em ambientes serverless, com várias instâncias ou de borda mais semelhante à execução de um aplicativo ASP.NET Core comum atrás de um balanceador de carga.

A opção HttpServerTransportOptions.Stateless passa a ser definida como true por padrão na versão 2.0, com a possibilidade de ativar o modo com estado quando forem necessárias mensagens não solicitadas do servidor para o cliente ou um estado de transporte associado à sessão. As sessões continuam disponíveis como opção, mas deixaram de ser a configuração básica.

Cabeçalhos HTTP para roteamento e monitoramento

O modo sem estado transforma uma solicitação MCP em uma solicitação HTTP POST autossuficiente, permitindo que a infraestrutura usual a trate como qualquer outro tráfego HTTP. A especificação oferece suporte a cabeçalhos como Mcp-Method e Mcp-Name, além da possibilidade de promover alguns parâmetros da ferramenta a cabeçalhos no formato Mcp-Param-*.

O balanceador de carga, o proxy, o gateway ou o firewall de aplicativos web podem usar esses cabeçalhos para roteamento e monitoramento sem analisar o corpo da solicitação JSON-RPC. O corpo da solicitação continua sendo a fonte confiável; se o valor do cabeçalho for diferente do valor presente no corpo, o servidor rejeitará a solicitação com um erro HeaderMismatch. O design também oferece suporte à codificação de valores não suportados nos cabeçalhos, como valores não ASCII, usando um indicador Base64.

Solicitações de múltiplas rodadas para ferramentas interativas

O recurso Multi Round-Trip Requests, ou MRTR, adiciona uma forma de lidar com ferramentas que não conseguem concluir seu trabalho em uma única chamada. Em vez de o servidor se conectar ao cliente por meio de uma sessão ativa durante a execução da solicitação, ele retorna um resultado do tipo InputRequiredResult que inclui as solicitações de entrada e um estado opaco chamado requestState.

O cliente executa a ação solicitada, como pedir confirmação ao usuário, chamar um modelo de linguagem ou exibir raízes de espaços de trabalho, e então reenvia a mesma chamada da ferramenta acompanhada de inputResponses e requestState. O processo pode ser repetido por várias rodadas, enquanto as informações de continuidade são transportadas dentro do payload; portanto, a operação não precisa de uma sessão.

O McpClient de alto nível processa MRTR automaticamente depois que os handlers apropriados são registrados. A versão também pode usar uma ponte de compatibilidade com clientes mais antigos quando houver uma sessão com estado. Já o cliente antigo que opera sem sessão não consegue executar a interação de múltiplas rodadas; por isso, a ferramenta deve fornecer um caminho alternativo, como passar o valor necessário diretamente em um parâmetro da chamada.

Compatibilidade e pacotes disponíveis

As APIs estáveis e não obsoletas da versão 1.x continuam compilando e sendo executadas na versão 2.0, enquanto as alterações obsoletas aparecem como avisos, não como remoções. Um cliente 2.0 pode usar o handshake de inicialização antigo ao se conectar a um servidor mais antigo, e um servidor 2.0 também aceita esse handshake de um cliente antigo.

A única exceção à compatibilidade do protocolo é a extensão Tasks; seu design reformulado na versão 2.0 substitui o Tasks experimental presente na especificação 2025-11-25 e não é compatível com ele no nível da interface nem do protocolo. O Tasks agora está disponível no pacote separado ModelContextProtocol.Extensions.Tasks, enquanto os MCP Apps experimentais vêm no ModelContextProtocol.Extensions.Apps.

Os pacotes básicos incluem ModelContextProtocol.Core para o cliente e os componentes de baixo nível, ModelContextProtocol para a maioria dos servidores e ModelContextProtocol.AspNetCore para servidores Streamable HTTP. A publicação indica que o próximo foco da série 2.x será a autenticação e a autorização abrangentes, com base em uma compatibilidade mais estreita com OAuth e OpenID Connect.

Fonte da notícia
c
Autor

certi.news Editorial Team

O que você precisa saber

A Microsoft lançou a versão 2.0 do pacote oficial MCP para C#, com transporte sem estado ativado por padrão e suporte a solicitações em várias rodadas para ferramentas interativas. A versão mantém ampla compatibilidade com as interfaces 1.x, mas não é compatível com a antiga extensão experimental Tasks.

  • A versão 2.0 torna os servidores MCP executados via HTTP sem estado por padrão, eliminando a necessidade de sessões persistentes ou armazenamentos de sessão compartilhados no nível do protocolo.
  • Foram adicionados cabeçalhos HTTP padronizados, como Mcp-Method e Mcp-Name, e a solicitação é rejeitada se o cabeçalho entrar em conflito com o valor presente no corpo JSON-RPC.
  • O recurso MRTR permite executar ferramentas interativas em várias rodadas usando InputRequiredResult e requestState, sem uma sessão persistente.
  • O pacote oferece suporte a net8.0, net9.0, net10.0 e netstandard2.0, e as interfaces 1.x estáveis continuam compilando e executando, com as alterações obsoletas aparecendo como avisos.
  • A extensão Tasks da versão 2.0 não é compatível com a extensão Tasks experimental da especificação 2025-11-25 e agora está disponível em um pacote separado.

Perguntas frequentes

Qual é a nova configuração padrão para servidores MCP via HTTP?

A opção HttpServerTransportOptions.Stateless passou a ser true por padrão, enquanto o modo com estado continua disponível quando necessário.

A versão 2.0 é compatível com clientes e servidores mais antigos?

Sim. Um cliente 2.0 pode usar o handshake de inicialização antigo com um servidor mais antigo, e um servidor 2.0 aceita o handshake de um cliente antigo. No entanto, um cliente antigo sem estado não consegue executar interações em várias rodadas.

Quais são os principais pacotes disponíveis?

Eles incluem ModelContextProtocol.Core para componentes de baixo nível, ModelContextProtocol para a maioria dos servidores e ModelContextProtocol.AspNetCore para servidores Streamable HTTP.

Na mesma categoria

Você também pode gostar

Ver todas as notícias