
























官方简介: >MCP 是一个开放协议,它标准化了应用程序如何为大语言模型(LLMs)提供上下文信息。可以把 MCP 想象成 AI 应用中的 USB Type-C 接口。就像 USB Type-C 为各种设备和配件提供了标准化的连接方式一样,MCP 为 AI 模型与不同数据源和工具之间提供了标准化的连接方式。
官方简介: >MCP 帮助你在 LLMs 之上构建智能体和复杂的工作流。LLMs 经常需要与数据和工具进行集成,而 MCP 提供了: >- 不断增长的预建集成列表,利用生态系统不断发展的内容让你的 LLM 可以直接接入 >- 灵活切换不同 LLM 服务提供商的自由度 >- 在基础设施内保护数据安全的最佳实践
Anthropics 公司的 @jspahrsummers 在 MCP 规范仓库提交了一个 PR, 提议使用 Streamable HTTP 替换 HTTP+SSE 作为 MCP 的底层传输协议。目前该 PR 才刚在周一(2025/03/17)提交,目前还没有被合并, 感兴趣的可以关注一下 PR: RFC Replace HTTP+SSE with new “Streamable HTTP” transport。
主要改动如下: - 删除 API 端点 /sse - 所有 MCP 客户端都应该使用新的 /message 端点与 MCP 服务端进行通信 - 所有 MCP 客户端请求都可以在服务器端将请求升级为 SSE 用于 request 和 notifications 两种数据类型 - MCP 服务器端可以用 session ID 来建立持久化连接 - MCP 客户端可以发起一个空的请求到 /message 来建立一个 SSE 连接
这种设计方式可以使 MCP 服务器端无状态化(没有 SSE 长连接)并且可以向后兼容(如果需要 SSE 的话仍然可以建立 SSE 连接).
当前的 MCP 实现是基于 HTTP+SSE 的,这种方式有一些缺点: - 不支持可恢复性(任务终端后需要重新开始) - MCP 服务器端需要一直保持长连接可用 - 只能通过 SSE 发送数据,而不能通过 HTTP 请求发送
可以实现无状态的 MCP 服务器,不需要一直保持长连接。
例如,一个仅提供LLM工具且不依赖其他功能的服务器可以这样实现:
完全无状态且不支持长连接的服务器仍可利用流式设计。
例如,在工具调用期间发送进度通知:
有状态服务器的实现与当前非常相似。主要区别在于服务器需要生成 session ID,客户端需要在每个请求中回传该 ID。
服务器可以使用 session ID 进行粘性路由或消息总线路由——即在水平扩展部署中,POST 消息可能到达任何服务器节点,因此必须使用Redis 等中间件将消息路由到现有会话。
核心团队深入讨论了将 WebSocket 作为主要远程传输(而不是SSE)的可能性,并计划对其应用类似的工作以实现可断开和可恢复。我们最终决定暂不采用 WebSocket,原因如下:
本提案不排除未来进一步探索 WebSocket 作为传输协议的可能性,但目前我们认为 HTTP+SSE 足以满足当前需求。
这个提案更改很大程度上简化了 MCP 服务器的实现,意味着我们甚至可以将 MCP 服务器部署在 serverl 环境中,例如 vercel functions 或 cloudflare worker,并且向后兼容,值得关注.
我觉得值得一提的一点是:该提案才刚提交 PR 还没有合并,就已经有中文文章在各种营销 Anthropics 宣布了 xxxx,但实际情况是在 PR 合并之前任何改变都是可能的,所以大家在看到这类文章的时候可以稍微冷静一下,也侧面的说明了 MCP 社区的关注度很高.
更新:本文发布时 PR 已经合并了!
后续我也会持续关注这个提案的进展,并分享到我的微信公众号.
我让我的 AI 员工们开发了一个微信小程序,并且我将它上线了,欢迎围观👇

扫描下面的二维码关注我们的微信公众号,第一时间查看最新内容。同时也可以关注我的Github,看看我都在了解什么技术,在页面底部可以找到我的Github。

此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。