Anthropic recently announced a major technological innovation in its Model Context Protocol (MCP) and launched the new "Streamable HTTP" transmission protocol. This innovative solution will completely change the remote data transmission method of MCP. The new protocol not only solves the key limitations of the existing HTTP+SSE solution, but also retains the original technological advantages of MCP, bringing a revolutionary breakthrough to the communication between AI models and applications.
From the perspective of technical architecture, this update is a comprehensive reconstruction of the MCP data transmission mechanism. The new protocol adopts a more flexible, easy to use and more compatible design concept. Compared with the long SSE connections that had to be kept online, the new solution allows clients to send messages and wait for reply at any time. This method similar to ordinary HTTP requests but supports streaming greatly improves the flexibility and usability of the system.
This technology update mainly includes five core improvements: first, the dedicated /sse endpoint was removed, simplifying the server architecture; second, all messages from clients to server are transmitted through a unified /message endpoint, realizing the standardization of the interface; third, the server can dynamically upgrade HTTP requests to SSE streams according to actual needs, providing greater flexibility; fourth, the client provides Mcp-Session-Id through the header, allowing the server to manage session information more flexibly; finally, it supports a completely stateless server operation mode, significantly improving the scalability of the system.
The main reason for promoting this technological innovation is that there are many technical bottlenecks in the existing HTTP+SSE transmission solutions: the lack of recovery function after the connection is disconnected, resulting in the client having to restart the entire session; the server needs to maintain high availability to support continuous SSE connections; and SSE only supports one-way communication, which cannot achieve flexible two-way data interaction. The new "Streamable HTTP" transmission method successfully solved these problems, while significantly improving the overall performance and scalability of the system.
For developers, this update brings many conveniences: it is easier to implement an MCP server, and only a normal HTTP server can support MCP, no longer need to build a dedicated SSE server; it is easier to deploy to cloud platforms such as Vercel, Cloudflare, AWS Lambda, etc. that do not support long connections; compatibility has been greatly improved, and the new solution, as standard HTTP, can be seamlessly integrated with CDN, API gateway, and load balancing; it has significantly enhanced scalability, supports stateless mode operation, and can be dynamically upgraded to SSE when needed.
In terms of infrastructure and server architecture, the new solution also brings revolutionary changes: stateless servers are made possible, and servers no longer need to continuously store client session information; they are more suitable for microservice architectures, and can easily integrate with REST API, GraphQL, load balancing, CDN and other systems; server resource utilization is higher, and resources can be released after processing requests, which is suitable for high concurrency scenarios.
It is worth noting that despite the many problems with SSE, Anthropic has not chosen WebSocket as an alternative. This is mainly based on the following technical considerations: WebSocket needs to maintain long connections, while MCP mainly adopts a RPC-like mode, and each request is executed independently; WebSocket cannot transmit HTTP header information, resulting in the authentication process becoming complicated; WebSocket only supports GET upgrades rather than POST, which is incompatible with the POST requests mainly used by MCP. Therefore, it was finally decided to continue using HTTP, but give the server the ability to upgrade to SSE as needed, rather than forcing SSE or WebSocket.
Overall, this update makes MCP more lightweight and flexible, and the server can independently decide whether to support streaming; the deployment process is significantly simplified and is suitable for Serverless architecture; the compatibility is greatly improved, and it can work seamlessly with various network infrastructure; the server resource utilization rate is higher, and it supports larger-scale concurrent requests.
This innovative change makes MCP servers simpler, more efficient and more flexible, able to support larger-scale distributed deployments, completely breaking away from the limitations of SSE, and opening a new chapter for communication between AI models and applications. Project address: https://github.com/modelcontextprotocol/specification/pull/206