什么是 SSE 传输(SSE Transport)?
SSE 传输(SSE Transport)是基于 HTTP 的 Model Context Protocol 传输模式,使用 Server-Sent Events 传递服务端到客户端的消息,同时通过 HTTP 端点发送请求。
快速了解
| 规范文档 | 官方规范 |
|---|
工作原理
当 MCP 集成需要可通过网络访问的 Server,而不是本地 stdio 进程时,可以使用 SSE 传输。Server-Sent Events 提供从 Server 到 Client 的单向事件流,而客户端请求通常通过 HTTP 发送。这种模型更适合远程或共享服务,但也引入了本地 stdio 没有的安全和运维问题:认证、授权、TLS、租户隔离、超时、连接限制、负载均衡和可观测性。
主要特点
- 基于 HTTP 的远程传输:支持非本地子进程的 MCP Server
- 事件流传递:使用 Server-Sent Events 发送服务端到客户端的通知和响应
- 网络安全要求:需要 TLS、认证、授权和请求校验
- 运维复杂度:必须处理重连、负载均衡、连接限制和空闲超时
- 服务化适配:适合共享企业 MCP Server 或托管集成
常见用途
- 把 AI Host 连接到远程企业知识库 MCP Server
- 为多个客户端提供同一个托管 MCP 集成
- 在企业认证和网络控制之后部署 MCP 能力
- 通过 HTTP 把 Server 通知流式返回给 AI 应用
- 在本地进程执行不可行时运行 MCP Server
示例
loading...
Loading code...常见问题
什么时候应该使用 SSE Transport?
当 MCP Server 必须作为远程服务运行、被多个客户端共享,或位于企业认证之后时适合使用。对于本地桌面或 IDE 工具,stdio 通常更简单。
SSE 是双向的吗?
SSE 本身是服务端到客户端的单向通道。在 MCP 风格的 HTTP 传输中,客户端到服务端的请求通常通过独立 HTTP 端点发送,SSE 负责把服务端事件传回来。
SSE Transport 需要哪些安全控制?
它需要 TLS、认证、授权、租户隔离、输入校验、限流、日志,以及对事件流中敏感数据的谨慎处理。
SSE 常见运维问题有哪些?
常见问题包括代理缓冲、空闲连接超时、重连风暴、负载均衡粘性、缺少心跳,以及长连接流缺乏足够可观测性。