O Model Context Protocol (MCP), em sua versão 2026-07-28, tornou-se um protocolo totalmente sem estado, após a reescrita de seu núcleo, modelo de interação e pacotes SDK associados. A Cloudflare afirma que essa mudança permite executar servidores MCP dentro de um Worker comum, sem a necessidade de uma infraestrutura dedicada para manter sessões do protocolo, reduzindo a complexidade operacional e o custo resultante de componentes adicionais.
A nova especificação foi lançada na semana passada, juntamente com versões atualizadas dos pacotes SDK para as linguagens TypeScript, Python, Go e C#. Segundo a Cloudflare, os servidores agora podem receber uma solicitação, executar uma ferramenta, um prompt ou um recurso e, em seguida, retornar o resultado sem armazenar uma sessão de protocolo entre as solicitações.
Abandono das sessões obrigatórias
As versões anteriores começavam com uma troca de initialize e initialized para criar uma sessão, com a possibilidade de atribuir um identificador por meio do cabeçalho Mcp-Session-Id. Cada solicitação subsequente precisava acessar o estado associado a essa sessão, o que impunha desafios a ambientes que dependem de escalabilidade automática e também exigia que as implantações drenassem ou transferissem as sessões ativas. A perda de uma instância ativa do servidor poderia fazer com que o cliente se reconectasse ou que a sessão fosse interrompida.
A nova versão remove o handshake obrigatório, o cabeçalho Mcp-Session-Id e as sessões do caminho principal das solicitações. Cada solicitação transporta a versão do protocolo, a identidade do cliente e os recursos necessários. Já a chamada server/discover para inspecionar o servidor antes de executar outra solicitação tornou-se opcional.
Isso não significa que as aplicações com estado deixaram de ser necessárias; a Cloudflare afirma que os Durable Objects continuam adequados quando a própria aplicação precisa de estado coordenado. No entanto, o MCP já não exige Durable Objects para falar o protocolo, e os servidores que precisam de processamento vinculado à solicitação podem escalar no Workers.
Interações de várias rodadas em vez de streaming aberto
A versão redesenhou o mecanismo de elicitation, que corresponde à situação em que o servidor precisa de informações adicionais antes de concluir a solicitação, como aprovação para publicar uma versão em produção ou confirmação de uma emissão de reembolso. Antes, as solicitações iniciadas pelo servidor dependiam de streaming aberto.
Com o mecanismo Multi Round-Trip Requests, o servidor pode retornar um resultado chamado input_required, que explica quais dados são necessários. O cliente reúne a resposta e tenta novamente a operação com esses dados, sem que nenhuma das partes mantenha uma sessão de transporte entre as duas solicitações. A Cloudflare descreve essa mudança como incompatível com a abordagem anterior, mas mais simples do ponto de vista operacional.
Tornando as solicitações MCP compreensíveis para a infraestrutura HTTP
A nova especificação exige os dois cabeçalhos Mcp-Method e Mcp-Name nas solicitações Streamable HTTP. Assim, o gateway, o limitador de taxa ou o firewall de aplicações web pode saber se a solicitação chama uma ferramenta ou lê um recurso, sem analisar completamente o conteúdo JSON-RPC.
A especificação também adicionou as dicas ttlMs e cacheScope aos resultados de tools/list, prompts/list, resources/list e resources/read, além de uma ordenação determinística para os índices das ferramentas, permitindo reutilizá-los e manter estável o cache de prompts durante a reconexão.
Mudanças na autorização e no ciclo de vida dos recursos
A nova especificação prioriza clientes registrados previamente quando existe uma relação estabelecida entre o cliente e o servidor. Em seguida, usa documentos de metadados do cliente CIMD para o registro dinâmico, enquanto o Dynamic Client Registration, ou DCR, torna-se uma opção de reserva. O DCR foi declarado obsoleto para novas aplicações, com remoção planejada após o verão de 2027.
A especificação também adota o mecanismo da RFC 9207 para identificar o emissor e exige o uso do endereço base do servidor como recurso, conforme a RFC 8707, nas solicitações de autorização e de tokens. A Cloudflare afirma que o Workers OAuth Provider implementa esses requisitos para servidores MCP no Workers.
A especificação agora tem um ciclo de vida formal que classifica os recursos como ativos, obsoletos ou removidos. Um recurso obsoleto deve permanecer disponível por pelo menos 12 meses antes de ser removido. Entre os recursos declarados obsoletos nesta versão estão Roots, Sampling, Logging, DCR e o antigo transporte HTTP+SSE. MCP Apps e Enterprise-Managed Authorization tornaram-se extensões, enquanto Tasks foi transferido para a estrutura de extensões, oferecendo um caminho para trabalhos longos e confiáveis.
Caminho de migração e disponibilidade
A interface createMcpHandler sai do modo experimental e passa para o pacote oficial MCP TypeScript SDK. A Cloudflare continua oferecendo uma interface direcionada ao Workers no Agents SDK. A empresa também ajudou a migrar o SDK do TypeScript do Node.js para Web Standards, melhorando a compatibilidade com Bun, Deno e Cloudflare Workers.
Os clientes podem migrar mantendo a compatibilidade com as especificações mais antigas. O endpoint /mcp aceita o novo protocolo e as solicitações sem estado de clientes Streamable HTTP que usam a versão 2025, permitindo que a maioria dos clientes se reconecte sem alterações nas configurações. Já os servidores que dependem de sessões antigas, de solicitações do servidor para o cliente ou de fluxos independentes precisam de um caminho de migração mais cuidadoso, como executar uma rota sem estado ao lado da rota antiga até que as sessões ativas sejam drenadas.
A Cloudflare afirma que a nova especificação está disponível para clientes e servidores em sua plataforma, e que é possível executar um servidor MCP sem estado em um Worker e protegê-lo por meio do Workers OAuth Provider. Segundo a empresa, o serviço Code Mode MCP Server para a API da Cloudflare utilizou essa abordagem e alcançou milhares de solicitações por segundo e bilhões de chamadas de ferramentas.