---
title: "MCP Spec 2025-11-25：当前稳定版的变更与升级指南"
wiki: mcp
category: "协议规范"
slug: mcp-spec-2025-11-25-update
url: https://learnagent.wiki/mcp/cards/mcp-spec-2025-11-25-update
tags: ["MCP", "Spec", "Release Notes", "OAuth", "Sampling", "Tasks", "Elicitation"]
last_updated: 2026-06-02
reading_time: 5
---

> 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 Spec 2025-11-25：当前稳定版的变更与升级指南

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/cards/what-is-mcp) 和 [MCP 架构](/mcp/cards/mcp-architecture)，这篇就是你需要看的「差量」。

## 9 项 Major changes（按主题分组）

### 鉴权与发现（3 项）

| 项 | 编号 | 影响 |
|---|---|---|
| 加入 **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 / Prompts 元数据（2 项）

| 项 | 编号 | 影响 |
|---|---|---|
| 服务端可为 Tools / Resources / Resource Templates / Prompts **暴露图标** | SEP-973 | 客户端 UI 可显示工具图标，列表更易识别 |
| 给出 Tool 命名指南 | SEP-986 | 模型在 tool 选择时少出错，减少误调用 |

### Sampling 与 Elicitation（3 项）

| 项 | 编号 | 影响 |
|---|---|---|
| **Sampling 增加 `tools` + `toolChoice` 参数** | SEP-1577 | Sampling 流程里也能让模型自己调工具，不再是只能纯文本回复 |
| `ElicitResult` / `EnumSchema` 改为更标准化的写法，支持 titled / untitled / single-select / multi-select | SEP-1330 | 用户输入采集体验对齐 HTML form 行为 |
| 新增 **URL 模式的 elicitation** | SEP-1036 | 服务端可让客户端弹一个 URL 输入框（比如让用户贴文件链接） |

### 异步任务（1 项，**实验性**）

| 项 | 编号 | 影响 |
|---|---|---|
| 引入 **Tasks**，支持「长任务发起 + 客户端轮询 + 延迟取结果」模式 | SEP-1686 | 适合跑几分钟以上的工具调用（长任务编译、模型推理、数据查询），不必把连接挂着等结果 |

> ⚠️ Tasks 当前标记为 experimental，生产环境用要做好后续 spec 调整的准备。

## 10 项 Minor changes（按主题列）

- **传输细节**
  - stdio 传输的服务端可以用 stderr 输出**任意类型**的日志（不只错误）
  - Streamable HTTP transport 对非法 Origin 必须返回 **HTTP 403**（PR #1439）
  - 支持**轮询 SSE streams**（SEP-1699 + Issue #1847）；GET 流可恢复、可重连，event ID 应编码 stream 身份
- **元数据**
  - `Implementation` 接口加 optional `description` 字段（对齐 MCP registry `server.json`）
- **鉴权细节**
  - OAuth 2.0 Protected Resource Metadata 发现对齐 **RFC 9728**：`WWW-Authenticate` 头可选，可 fallback 到 `.well-known` 端点
- **校验与错误**
  - **输入校验失败**应返回为 Tool Execution Errors（不是 Protocol Errors），让模型能自我纠正（SEP-1303）
- **Schema 默认方言**
  - 正式将 **JSON Schema 2020-12** 定为 MCP schema 定义的默认方言（SEP-1613）
  - Elicitation 所有原始类型都支持 `default` 字段（SEP-1034）
- **安全**
  - Security Best Practices 文档整体更新

## Schema 层面

- **请求 payload 跟 RPC 方法定义解耦**：method 引用独立的 parameter schema（SEP-1319 / PR #1284）。对 SDK 开发者来说意味着可以单独序列化 / 校验参数，不必跟方法签名死锁。

## Governance（4 项）

社区治理这次也正式化了，跟代码改动无关但跟生态长期健康相关：

- 正式化 MCP 治理结构（SEP-932）
- 社区沟通规范（SEP-994）
- Working Groups / Interest Groups 制度（SEP-1302）
- **SDK 分级体系**：明确各 SDK 的功能支持要求和维护承诺（SEP-1730）

## 我要不要升级

**如果你在写 MCP Server（参考 [MCP 服务端原语](/mcp/cards/mcp-primitives)）**

- ✅ 推荐升 — 收益是图标元数据、Tool 命名指南这两条几乎是零成本上手，能让你的 Server 在 Claude Desktop / Claude Code 等客户端里展示得更好
- ⚠️ 如果用了 Sampling，注意 `tools` / `toolChoice` 是新加字段，跟旧客户端兼容时要做能力探测
- ⏸ Tasks 别急着上生产，等下个版本看正式化

**如果你在写 MCP Client（参考 [MCP 生命周期](/mcp/cards/mcp-lifecycle)）**

- ✅ 必升 — OIDC 发现、增量 OAuth 同意、Client ID Metadata 这三条直接关系到用户授权体验
- ✅ 别忘了把 Streamable HTTP 的 Origin 校验改成返回 403
- ✅ 改输入校验错误的处理，让 Tool Execution Errors 也能流回模型自我纠正

**如果只是写自动化脚本调 MCP Server**

- 大概率不用动 — 这次 Major 改动主要在协议层和元数据层，常规的 `list_tools` / `call_tool` 接口稳定

## 下一版预告：2026-07-28 RC 已发

GitHub 上已经能看到 `2026-07-28-RC` tag，意味着下一个 stable 大约在 2026-07-28 前后落地。但当前阶段：

- spec 网站还**没有上 2026-07-28 的正式文档**（draft changelog URL 仍 404）
- RC release notes 也只说「spec 仍可能变化，SDK 按各自节奏 adopt」
- 老版 spec 仍可继续使用，按 [Version Negotiation](https://modelcontextprotocol.io/specification/2025-11-25/basic/lifecycle) 协商即可

所以**生产代码先按 2025-11-25 走**；2026-07-28 RC 仅作为"知道有这个事在路上"的参考。等正式 stable 出来，会有一张新卡专门覆盖差量。

跟进入口：
- [2026-07-28 RC release](https://github.com/modelcontextprotocol/modelcontextprotocol/releases/tag/2026-07-28-RC)
- [所有 release（含 RC）](https://github.com/modelcontextprotocol/modelcontextprotocol/releases)

## 参考资料

1. 官方 changelog（主原文）：https://modelcontextprotocol.io/specification/2025-11-25/changelog
2. 2025-11-25 完整规范：https://modelcontextprotocol.io/specification/2025-11-25
3. GitHub release：https://github.com/modelcontextprotocol/modelcontextprotocol/releases/tag/2025-11-25
4. 上一版 2025-06-18 changelog（diff 起点）：https://modelcontextprotocol.io/specification/2025-06-18/changelog
5. 逐 PR 看：https://github.com/modelcontextprotocol/modelcontextprotocol/compare/2025-06-18...main
6. 同站延伸 — [MCP 是什么](/mcp/cards/what-is-mcp)
7. 同站延伸 — [MCP 架构](/mcp/cards/mcp-architecture)
8. 同站延伸 — [MCP 生命周期](/mcp/cards/mcp-lifecycle)
9. 同站延伸 — [MCP 原语](/mcp/cards/mcp-primitives)

---
*Source: https://learnagent.wiki/mcp/cards/mcp-spec-2025-11-25-update*
*Markdown mirror of https://learnagent.wiki, served as text/markdown for LLM ingestion.*