什么是 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 或托管集成

常见用途

  1. 把 AI Host 连接到远程企业知识库 MCP Server
  2. 为多个客户端提供同一个托管 MCP 集成
  3. 在企业认证和网络控制之后部署 MCP 能力
  4. 通过 HTTP 把 Server 通知流式返回给 AI 应用
  5. 在本地进程执行不可行时运行 MCP Server

示例

loading...
Loading code...

常见问题

什么时候应该使用 SSE Transport?

当 MCP Server 必须作为远程服务运行、被多个客户端共享,或位于企业认证之后时适合使用。对于本地桌面或 IDE 工具,stdio 通常更简单。

SSE 是双向的吗?

SSE 本身是服务端到客户端的单向通道。在 MCP 风格的 HTTP 传输中,客户端到服务端的请求通常通过独立 HTTP 端点发送,SSE 负责把服务端事件传回来。

SSE Transport 需要哪些安全控制?

它需要 TLS、认证、授权、租户隔离、输入校验、限流、日志,以及对事件流中敏感数据的谨慎处理。

SSE 常见运维问题有哪些?

常见问题包括代理缓冲、空闲连接超时、重连风暴、负载均衡粘性、缺少心跳,以及长连接流缺乏足够可观测性。

相关工具

相关术语

相关文章