

Anthropic今日宣布对模型上下文协议 (MCP) 进行重大更新,推出名为“Streamable HTTP”的新传输方式,以取代现有的 HTTP+SSE 方案。此更新彻底解决了 MCP 远程传输中的关键限制,同时保留了其原有优势,显著提升了协议的灵活性和易用性。
与之前的 HTTP+SSE 方案(需保持持续连接)不同,“Streamable HTTP”更类似于发送和接收独立消息的模式,允许服务器根据需要动态升级至 SSE 流以发送通知或请求。 此次更新的核心变化包括:
- 统一端点: 取消专用的
/sse
端点,所有客户端到服务器的消息都通过统一的/message
端点传输。 - 动态 SSE 升级: 服务器可以根据需要将 HTTP 请求升级为 SSE 流,用于发送通知或请求。
- 会话管理改进: 客户端通过
Mcp-Session-Id
头部提供会话 ID,服务器可自主决定是否存储会话信息。 - 无状态服务器支持: 支持完全无状态的服务器运行,不再需要维持长期连接。
- HTTP 请求方法: 支持使用 POST 请求进行消息传输。
此更新旨在解决 HTTP+SSE 方案的诸多缺陷,例如缺乏连接断开后的恢复功能、对服务器高可用性的依赖以及仅支持单向通信等问题。“Streamable HTTP”成功解决了这些问题,并显著提升了系统的可扩展性和灵活性。
开发者收益:
- 简化服务器实现: 只需普通的 HTTP 服务器即可支持 MCP,无需搭建专门的 SSE 服务器。
- 增强部署灵活性: 易于部署到 Vercel、Cloudflare、AWS Lambda 等不支持长连接的云平台。
- 提升兼容性: 作为标准 HTTP 协议,可与 CDN、API 网关、负载均衡无缝集成。
- 增强可扩展性: 支持无状态模式运行,并可在需要时动态升级到 SSE。
基础设施与服务器架构改进:
- 无状态服务器: 服务器不再需要持续存储客户端会话信息,更适合微服务架构。
- 高效资源利用: 处理完请求后即可释放资源,适合高并发场景。
- 集成性增强: 可轻松与 REST API、GraphQL、负载均衡、CDN 等系统集成。
Anthropic 选择使用 HTTP 而不是 WebSocket,主要是因为 WebSocket 需要维持长连接,而 MCP 主要采用类似 RPC 的模式,每个请求独立执行;此外,WebSocket 无法传输 HTTP 头部信息,身份验证过程更为复杂;且 WebSocket 仅支持 GET 升级而非 MCP 主要使用的 POST 请求。
总而言之,此次 MCP 更新使其更加轻量级、灵活且高效。 简化的部署流程使其适用于 Serverless 架构,增强的兼容性使其能够与各种网络基础设施无缝协作,而更高的服务器资源利用率则支持更大规模的并发请求。 这项创新性变更使 MCP 服务器更易于部署、管理和扩展,为 AI 模型与应用间的通信开辟了新篇章。
项目地址:https://github.com/modelcontextprotocol/specification/pull/206
快讯中提到的AI工具

全面、高效且易用的网络开发平台