Aprendizagem pessoal com IA
e orientação prática
Beanbag Marscode1

O protocolo MCP recebe uma grande atualização: torna-se completamente sem estado, simplificando a comunicação HTTP

Pontos principais: MCP Ao introduzir um esquema de transporte "streaming HTTP", o protocolo alcança total ausência de estado e simplifica a comunicação, estabelecendo as bases para uma gama mais ampla de aplicativos futuros.

blank


Um aprimoramento técnico importante proposto para o Message Channel Protocol (MCP) foi aprovado, sinalizando um futuro mais amplo para o protocolo emergente. No centro dessa atualização está uma revolução na forma como o MCP transfere dados, tornando-o completamente sem estado e simplificando a comunicação com o protocolo HTTP normal.

 

Histórico: Limitações do HTTP+SSE

Anteriormente, o protocolo MCP usava HTTP mais SSE (Server Sent Events) para transferir dados. Essa abordagem tinha algumas limitações:

  • Não há suporte para desconectar e reconectar
  • Os servidores precisam manter conexões longas para garantir a estabilidade
  • As mensagens do servidor só podem ser enviadas via SSE

Soluções inovadoras: streaming HTTP

Para resolver esses problemas, a comunidade propôs o esquema de transporte "Streaming HTTP". Esse esquema contém os seguintes ajustes importantes:

  • Eliminar a interface /sse: todas as mensagens de cliente para servidor são transmitidas uniformemente por meio da interface /message (ou similar).
  • Escalonamento de solicitações para SSE: o servidor pode escalonar uma solicitação do cliente para uma conexão SSE para obter dados ou notificações push em tempo real.
  • Gerenciamento de ID de sessão: o cliente fornece um ID de sessão no cabeçalho da solicitação HTTP, que o servidor pode usar opcionalmente para identificar a sessão.
  • Iniciar fluxo SSE: o cliente pode enviar uma solicitação GET vazia para a interface /message para estabelecer um fluxo SSE.

Esses aprimoramentos permitem que os servidores MCP sejam completamente sem estado, eliminando a necessidade de conectividade constante e reduzindo significativamente a complexidade do servidor e o consumo de recursos. Ao mesmo tempo, o uso do protocolo HTTP puro melhora a compatibilidade do MCP, permitindo que ele se encaixe melhor na infraestrutura de rede e no middleware existentes.

 

Resposta positiva da comunidade

Esse aprimoramento proposto foi muito bem recebido e recebeu feedback positivo da comunidade do MCP. shopify, Pydantic, Cloudflare, LangChain, Vercel e Antrópica A equipe e muitas outras organizações e indivíduos contribuíram para isso.

 

Os múltiplos benefícios da apatridia

A ausência de estado é o destaque central dessa atualização do protocolo MCP e traz várias vantagens para o MCP:

  • Implantação e manutenção simplificadas: não é necessário lidar com a persistência e a sincronização dos dados da sessão, o que facilita a implantação e a expansão do servidor.
  • Melhorar a estabilidade do sistema: a falha de um único servidor não afeta a operação geral do sistema, o que facilita a obtenção de alta disponibilidade.
  • Redução do consumo de recursos: elimina a necessidade de manter conexões longas e o estado da sessão, reduzindo o uso de recursos e os custos do servidor.

 

Perspectiva do cenário de aplicativos

A implementação do MCP sem estado abre novas possibilidades para muitos cenários de aplicativos:

  • Servidor de ferramentas sem estado: um servidor MCP completamente sem estado pode ser criado para fornecer apenas a funcionalidade da ferramenta de modelagem de linguagem sem gerenciamento de estado, simplificando o processo de invocação da ferramenta.
  • Servidores sem estado com suporte a respostas de fluxo contínuo: até mesmo os servidores sem estado podem aproveitar o SSE para fornecer respostas de fluxo contínuo, como o envio de informações de progresso em tempo real durante a execução da ferramenta.

 

Por que fazer streaming de HTTP sobre WebSocket?

O WebSocket também foi considerado na seleção do esquema de transporte, mas, por fim, a comunidade escolheu o "Streaming HTTP" com base nas seguintes considerações:

  • Sobrecarga em cenários de RPC: para cenários simples de RPC (Remote Procedure Call), forçar o uso do WebSocket introduz uma carga operacional e de rede desnecessária.
  • Compatibilidade com o navegador: o WebSocket não é tão flexível quanto o SSE em termos de configurações de cabeçalho de solicitação HTTP e implementações de bibliotecas de terceiros no ambiente do navegador.
  • Complexidade da atualização do protocolo: o WebSocket suporta apenas a atualização de solicitações GET; o processo de atualização de solicitações POST é complexo e aumenta a latência.
  • Especificação de protocolo simplificada: a especificação do protocolo MCP tende a limitar a variedade de protocolos de transporte oficiais para evitar problemas de compatibilidade.

 

Exploração da segurança

Embora a ausência de estado ofereça muitas vantagens, ela também levanta a discussão sobre segurança, especialmente com relação ao gerenciamento e à autorização de ID de sessão.

Alguns desenvolvedores apontaram que, se um servidor usar o cabeçalho de solicitação Mcp-Session-Id para gerenciar sessões, ele deverá vincular o ID da sessão ao ambiente de autorização para evitar que ele seja usado indevidamente em diferentes ambientes de autorização. Isso significa que a ID da sessão deve ser associada a um usuário específico ou a uma sessão de cliente, em vez de ser globalmente comum.

Para os desenvolvedores que buscam um servidor minimalista, os mecanismos de autenticação complexos podem não ser aplicáveis. No modo com estado, a própria solicitação HTTP pode ser considerada o limite da sessão. No entanto, no modelo sem estado, ainda há uma preocupação sobre como gerenciar com segurança a sessão sem cookies somente HTTP.

Alguns desenvolvedores sugerem a introdução de cookies somente HTTP para gerenciar sessões de clientes e atribuir IDs exclusivos a cada sessão de cliente e, em seguida, gerenciar vários IDs de sessão de MCP sob eles para obter um gerenciamento hierárquico de sessões e equilibrar segurança e flexibilidade.

 

Resumo e perspectivas

A evolução do protocolo MCP para a ausência de estado é uma etapa importante para a praticidade e a facilidade de uso. Espera-se que a adoção do esquema "Streaming HTTP" reduza o limite de implantação do MCP e atraia mais desenvolvedores e cenários de aplicativos. Embora ainda haja espaço para discussão sobre segurança, acreditamos que, à medida que a comunidade continua a melhorar, vale a pena esperar pelo futuro do protocolo MCP.

 

Propostas relevantes

[RFC] Substituir HTTP+SSE pelo novo transporte "Streamable HTTP" #206 Link proposto: [RFC] Substituir HTTP+SSE pelo novo transporte "Streamable HTTP" #206

Não pode ser reproduzido sem permissão:Chefe do Círculo de Compartilhamento de IA " O protocolo MCP recebe uma grande atualização: torna-se completamente sem estado, simplificando a comunicação HTTP

Chefe do Círculo de Compartilhamento de IA

O Chief AI Sharing Circle se concentra no aprendizado de IA, fornecendo conteúdo abrangente de aprendizado de IA, ferramentas de IA e orientação prática. Nosso objetivo é ajudar os usuários a dominar a tecnologia de IA e explorar juntos o potencial ilimitado da IA por meio de conteúdo de alta qualidade e compartilhamento de experiências práticas. Seja você um iniciante em IA ou um especialista sênior, este é o lugar ideal para adquirir conhecimento, aprimorar suas habilidades e realizar inovações.

Entre em contato conosco
pt_BRPortuguês do Brasil