微信扫码
添加专属顾问
我要投稿
探索"可流式 HTTP"协议如何革新MCP传输效率,实现更灵活的服务器消息处理。 核心内容: 1. 新提案"可流式 HTTP"的主要变更点 2. 替代HTTP+SSE的优势和兼容性 3. 无状态和有状态服务器的实现示例
这个 Pull Request (#206) 提出了一个名为 "可流式 HTTP" (Streamable HTTP)的新传输协议,用于替代 MCP (Model Context Protocol) 当前使用的 HTTP+SSE 传输方式。这是一个重要的技术改进,旨在解决现有传输方式的一些关键限制,同时保留其优势。
地址:https://github.com/modelcontextprotocol/specification/pull/206
与当前的 HTTP+SSE 传输相比,新提案做出了以下改变:
/sse
端点/message
(或类似)端点传输/message
发送空 GET 请求来初始化 SSE 流这种方法可以向后兼容实现,并允许服务器在需要时完全无状态运行。
当前的 HTTP+SSE 传输存在以下限制:
支持无状态服务器 - 不再需要高可用性的长连接
纯 HTTP 实现 - MCP 可以在普通 HTTP 服务器上实现,不一定需要 SSE
基础设施兼容性 - 因为"只是 HTTP",确保与中间件和基础设施兼容
向后兼容 - 这是对当前传输方式的渐进式演进
灵活的升级路径 - 服务器可以在需要时选择使用 SSE 进行流式响应
提案支持完全无状态的服务器实现,无需支持长连接:
ToolListRequest
用单个 JSON-RPC
响应CallToolRequest
时执行工具,等待完成,然后发送单个 CallToolResponse
作为 HTTP 响应体即使是完全无状态且不支持长连接的服务器,在这个设计中仍然可以利用流式处理:
CallToolRequest
时,服务器指示响应将是 SSEProgressNotification
CallToolResponse
有状态服务器的实现与现在非常相似,主要区别是服务器需要生成会话 ID,客户端需要在每个请求中传回该 ID。服务器可以使用会话 ID 进行粘性路由或在消息总线上路由消息。
团队详细讨论了将 WebSocket 作为主要远程传输方式的可能性,但最终决定不采用,原因包括:
Authorization
),且第三方库无法在浏览器中从头实现 WebSocket团队也避免将 WebSocket 作为规范中的额外选项,以限制 MCP 官方指定的传输方式数量,避免客户端和服务器之间的组合兼容性问题。
这个提案是在广泛社区讨论和反馈的基础上形成的,表明 MCP 正在积极发展以满足更广泛的使用场景需求。
53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费场景POC验证,效果验证后签署服务协议。零风险落地应用大模型,已交付160+中大型企业
2025-03-20
「AI开发进入USB时代!」Cherry Studio+MCP协议实测:3分钟连通本地/云端/API,效率飙升10倍!
2025-03-20
Xinference+Dify本地部署全攻略:知识库搭建与模型配置详解(附一键安装包)
2025-03-20
如何感知诊断训练 hang,百度百舸万卡集群的稳定性技术方案
2025-03-20
Cursor实战:高效搞定多表关联
2025-03-20
大模型微调:全量微调 VS Lora微调,一篇说清楚
2025-03-20
使用DeepSeek Function Calling构建智能测试助手
2025-03-20
从 0 到 1,Agentic Ops 如何打造企业级 AI 生产力?
2025-03-20
挑战4张2080Ti22G跑本地部署的DeepSeek 671b满血版大模型
2025-02-04
2025-02-04
2024-09-18
2024-07-11
2024-07-09
2024-07-11
2024-07-26
2025-02-05
2025-01-27
2025-02-01
2025-03-20
2025-03-16
2025-03-16
2025-03-13
2025-03-13
2025-03-11
2025-03-07
2025-03-05