Anthropic 重磅升级 MCP 传输机制:抛弃长连接,采用更灵活高效的 Streamable HTTP 流式传输

1个月前发布AI俱乐部
9 0 0
Anthropic 重磅升级 MCP 传输机制:抛弃长连接,采用更灵活高效的 Streamable HTTP 流式传输的封面图

Anthropic今日宣布对模型上下文协议 (MCP) 进行重大更新,推出名为“Streamable HTTP”的新传输方式,以取代现有的 HTTP+SSE 方案。此更新彻底解决了 MCP 远程传输中的关键限制,同时保留了其原有优势,显著提升了协议的灵活性和易用性。

与之前的 HTTP+SSE 方案(需保持持续连接)不同,“Streamable HTTP”更类似于发送和接收独立消息的模式,允许服务器根据需要动态升级至 SSE 流以发送通知或请求。 此次更新的核心变化包括:

  1. 统一端点: 取消专用的 /sse 端点,所有客户端到服务器的消息都通过统一的 /message 端点传输。
  2. 动态 SSE 升级: 服务器可以根据需要将 HTTP 请求升级为 SSE 流,用于发送通知或请求。
  3. 会话管理改进: 客户端通过 Mcp-Session-Id 头部提供会话 ID,服务器可自主决定是否存储会话信息。
  4. 无状态服务器支持: 支持完全无状态的服务器运行,不再需要维持长期连接。
  5. 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工具

Vercel
Vercel

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

© 版权声明:
本文地址:https://aidh.net/kuaixun/gmgcjv3a

暂无评论

none
暂无评论...