MCP 传输层:stdio 与 Streamable HTTP
搞清楚 MCP 的两种消息传输方式——本地用 stdio、远程用 Streamable HTTP,以及怎么选。
MCP 2025-11-25 是当前 stable 版(自 2025-06-18 以来的第一个稳定版),下一版 2026-07-28 已进入 RC 阶段。本卡覆盖 9 项 Major 新能力(OIDC 发现、增量 OAuth、Sampling 调工具、异步 Tasks 等)+ 10 项 Minor 澄清 + 升级建议;末尾给出下一版 RC 预告。
内容摘要
MCP 2025-11-25 是 Model Context Protocol 自 2025-06-18 之后的第一个稳定版本,**目前仍是写代码时实现的当前 stable 目标**(下一版 `2026-07-28` 已发 RC,但 spec 仍可能变化,参见末尾「下一版预告」)。这次更新带来 **9 项 Major 改动 + 10 项 Minor 澄清 + Schema 解耦 + 4 项 Governance 流程化**,重点在三个方向:**OAuth / OIDC 鉴权能力补齐**、**Sampling 终于能调工具**、**新加实验性的 Tasks 用于长任务异步轮询**。
MCP 2025-11-25 是 Model Context Protocol 自 2025-06-18 之后的第一个稳定版本,目前仍是写代码时实现的当前 stable 目标(下一版 2026-07-28 已发 RC,但 spec 仍可能变化,参见末尾「下一版预告」)。这次更新带来 9 项 Major 改动 + 10 项 Minor 澄清 + Schema 解耦 + 4 项 Governance 流程化,重点在三个方向:OAuth / OIDC 鉴权能力补齐、Sampling 终于能调工具、新加实验性的 Tasks 用于长任务异步轮询。
如果你已经读过同站的 MCP 是什么 和 MCP 架构,这篇就是你需要看的「差量」。
| 项 | 编号 | 影响 |
|---|---|---|
| 加入 OpenID Connect Discovery 1.0 支持,授权服务发现更标准 | PR #797 | 客户端可以用 OIDC /.well-known/openid-configuration 替代手写 metadata 解析 |
增量 OAuth 同意 via WWW-Authenticate | SEP-835 | 用户首次只批必要 scope,后续按需追加;不再一次性弹一大堆权限 |
| OAuth Client ID Metadata Documents 作为推荐注册方式 | SEP-991 / PR #1296 | 客户端无需先动态注册即可获得稳定 client_id |
| 项 | 编号 | 影响 |
|---|---|---|
| 服务端可为 Tools / Resources / Resource Templates / Prompts 暴露图标 | SEP-973 | 客户端 UI 可显示工具图标,列表更易识别 |
| 给出 Tool 命名指南 | SEP-986 | 模型在 tool 选择时少出错,减少误调用 |
| 项 | 编号 | 影响 |
|---|---|---|
Sampling 增加 tools + toolChoice 参数 | SEP-1577 | Sampling 流程里也能让模型自己调工具,不再是只能纯文本回复 |
ElicitResult / EnumSchema 改为更标准化的写法,支持 titled / untitled / single-select / multi-select | SEP-1330 | 用户输入采集体验对齐 HTML form 行为 |
| 新增 URL 模式的 elicitation | SEP-1036 | 服务端可让客户端弹一个 URL 输入框(比如让用户贴文件链接) |
| 项 | 编号 | 影响 |
|---|---|---|
| 引入 Tasks,支持「长任务发起 + 客户端轮询 + 延迟取结果」模式 | SEP-1686 | 适合跑几分钟以上的工具调用(长任务编译、模型推理、数据查询),不必把连接挂着等结果 |
⚠️ Tasks 当前标记为 experimental,生产环境用要做好后续 spec 调整的准备。
Implementation 接口加 optional description 字段(对齐 MCP registry server.json)WWW-Authenticate 头可选,可 fallback 到 .well-known 端点default 字段(SEP-1034)社区治理这次也正式化了,跟代码改动无关但跟生态长期健康相关:
如果你在写 MCP Server(参考 MCP 服务端原语)
tools / toolChoice 是新加字段,跟旧客户端兼容时要做能力探测如果你在写 MCP Client(参考 MCP 生命周期)
如果只是写自动化脚本调 MCP Server
list_tools / call_tool 接口稳定GitHub 上已经能看到 2026-07-28-RC tag,意味着下一个 stable 大约在 2026-07-28 前后落地。但当前阶段:
所以生产代码先按 2025-11-25 走;2026-07-28 RC 仅作为"知道有这个事在路上"的参考。等正式 stable 出来,会有一张新卡专门覆盖差量。
跟进入口:
优先展示同分类且标签更接近的内容,方便继续串联学习。
搞清楚 MCP 的两种消息传输方式——本地用 stdio、远程用 Streamable HTTP,以及怎么选。
搞清楚 MCP 里 Host、Client、Server 各自干什么、怎么连接、消息怎么流转。
搞清楚 MCP Server 能暴露的三种能力——工具、资源、提示词模板,以及什么时候该用哪个。