Model Context Protocol Advanced Topics
← 所有课程
课程 07Model Context Protocol Advanced Topics

The StreamableHTTP transport

摘要音频

本节课没有语音摘要。

学习笔记

📚 流式 HTTP 传输 (Streamable HTTP Transport) 学习笔记

一、核心概念与优势

  • 定义: 流式 HTTP 传输允许客户端和服务器通过 HTTP 连接发送消息。
  • 主要优势: 能够实现 MCP 服务器的远程托管(Remote Hosting)。
  • 与标准 IO 传输不同,服务器可以部署在外部地址(例如:mcpserver. com),从而支持更广泛的公共连接。

二、功能限制与注意事项 (Caveats)

  • 核心限制: 存在某些设置会限制服务器的功能,特别是限制服务器向客户端发送的消息类型。
  • 关键设置: 必须关注 stateless HTTP 和 JSON response 这两个设置。
  • 默认值通常为 false。
  • 将这些设置更改为 true 会影响 MCP 服务器的功能,甚至可能破坏客户端的正常工作。

三、HTTP 通信基础回顾

  • 客户端 → 服务器 (Client → Server):
  • 客户端发起请求并接收响应是标准的 HTTP 操作,功能正常。
  • 服务器 → 客户端 (Server → Client):
  • 在传统 HTTP 中,服务器难以主动向客户端发起请求,因为服务器通常不知道客户端的地址,且客户端可能不可公开访问。
  • 因此,在 MCP 世界中,服务器向客户端发送初始请求非常困难。

四、受影响的消息类型

  • 由于 HTTP 协议的限制,以下消息类型在流式 HTTP 中实现起来较为困难:
  • 采样请求 (Sampling requests)
  • 列出路由 (Listing routes)
  • 进度通知 (Progress notifications)
  • 日志通知 (Logging notifications)
  • 其他特定消息类型。

Takeaways

  • 流式 HTTP 传输的核心优势是支持 MCP 服务器的远程托管,实现客户端和服务器间的消息发送。
  • 传统 HTTP 协议限制了服务器主动向客户端发送消息的能力,这是流式传输面临的根本挑战。
  • 由于协议限制,采样请求、列出路由、进度通知等特定消息类型在流式 HTTP 中实现较为困难。
  • 必须密切关注 stateless HTTP 和 JSON response 等关键设置,更改这些默认值可能破坏服务器功能。
抽认卡 8 张卡片
问题
点击显示 · ←/→
答案
点击翻回
导出到 Anki (.tsv) ↓
知识检测 0 题

No quiz for this lesson yet.