Abandoning SSE, Embracing Streamable HTTP: The New Transport Protocol of MCP
SSE vs Streamable HTTP: Why MCP 0.2 adopts a new real-time bidirectional protocol. Compare pros, cons & code examples.
"AI Disruption" Publication 5700 Subscriptions 20% Discount Offer Link.
To be honest, SSE has quite a few issues. If it weren’t for its adoption by ChatGPT, it probably would have long been forgotten in the river of technological advancements.
First, it uses a fixed text/event-stream format, which limits the flexibility of data transmission. It also doesn’t support bidirectional communication, requiring additional requests. Moreover, browsers have a limit on the number of connections per domain, and the most annoying part is that the data format comes with prefixes like data:, which need to be parsed every time. This subtly increases the transmission overhead as well.
Additionally, when deploying with Nginx as a proxy, you need to separately configure cache-related settings.
MCP has been using SSE from the beginning, but with the MCP 0.2 version, it officially introduced the Streamable HTTP transmission mechanism, which supports real-time bidirectional data flow.