MCP (Model Context Protocol) 是 Anthropic 开源的 “模型上下文协议”,该协议支持将大模型直接连接至数据源,官方介绍称 “可无缝集成 LLM 应用程序和外部数据源”。
近日,Anthropic 工程师在 MCP 的 GitHub 仓库提交了一个希望采用"Streamable HTTP"传输代替「HTTP+SSE」的 PR,以解决当前远程 Model Context Protocol (MCP) 传输方式的关键限制,同时保留其优势。
https://github.com/modelcontextprotocol/specification/pull/206
简单来说,Streamable HTTP 改变了 MCP 的数据传输方式,让协议变得:
更灵活(支持流式传输,但不强制)
更易用(支持无状态服务器)
更兼容(适用于标准 HTTP 基础设施)
💡 简单比喻: 原来的 MCP 传输方式就像是你和客服通话时必须一直保持在线(SSE 需要长连接),而新的方式更像是你随时可以发消息,然后等回复(普通 HTTP 请求,但可以流式传输)。
移除 /sse 端点
所有客户端 → 服务器的消息都通过 /message 端点
服务器可以选择升级请求为 SSE
客户端通过 Header 提供 Mcp-Session-Id
支持无状态(Stateless)服务器
当前的 HTTP+SSE 传输 存在以下问题:
不支持可恢复性(Resumability):连接断开后,客户端必须重新开始整个会话。
服务器需要维持长期连接(High Availability Requirement):服务器必须保持高可用性,以支持持续的 SSE 连接。
SSE 仅支持服务器 → 客户端消息,无法灵活进行双向通信。
新的“Streamable HTTP”传输方式解决了这些问题,并增强了系统的可扩展性和灵活性。
评论删除后,数据将无法恢复
MCP 有望引入新的数据传输方式:Streamable HTTP
MCP (Model Context Protocol) 是 Anthropic 开源的 “模型上下文协议”,该协议支持将大模型直接连接至数据源,官方介绍称 “可无缝集成 LLM 应用程序和外部数据源”。
近日,Anthropic 工程师在 MCP 的 GitHub 仓库提交了一个希望采用"Streamable HTTP"传输代替「HTTP+SSE」的 PR,以解决当前远程 Model Context Protocol (MCP) 传输方式的关键限制,同时保留其优势。
简单来说,Streamable HTTP 改变了 MCP 的数据传输方式,让协议变得:
更灵活(支持流式传输,但不强制)
更易用(支持无状态服务器)
更兼容(适用于标准 HTTP 基础设施)
💡 简单比喻: 原来的 MCP 传输方式就像是你和客服通话时必须一直保持在线(SSE 需要长连接),而新的方式更像是你随时可以发消息,然后等回复(普通 HTTP 请求,但可以流式传输)。
主要变更
移除 /sse 端点
所有客户端 → 服务器的消息都通过 /message 端点
服务器可以选择升级请求为 SSE
客户端通过 Header 提供 Mcp-Session-Id
支持无状态(Stateless)服务器
变更的动机
当前的 HTTP+SSE 传输 存在以下问题:
不支持可恢复性(Resumability):连接断开后,客户端必须重新开始整个会话。
服务器需要维持长期连接(High Availability Requirement):服务器必须保持高可用性,以支持持续的 SSE 连接。
SSE 仅支持服务器 → 客户端消息,无法灵活进行双向通信。
新的“Streamable HTTP”传输方式解决了这些问题,并增强了系统的可扩展性和灵活性。