AGENT PULSESJCPal Special EditionAI Industry Evidence & Trends
Sep 23, 2026 · @modelcontextprotocol/server

@modelcontextprotocol/server-legacy@2.1.0

What Happened

MCP TypeScript SDK 发布 @modelcontextprotocol/server@2.1.0,新增请求时 OAuth scope 挑战:tools、resources、resource templates、prompts 的 scopeChallenge 回调接收解析后的请求与已验证认证信息,可继续或返回 insufficient_scope 所需 scope 集合;requireScopes 提供静态 all-of 检查。createMcpHandler 与 Streamable HTTP 传输在执行处理器或建立 SSE 前返回 HTTP 403 与 insufficient_scope 挑战,且只要注册的原语带 scopeChallenge 回调即生效,无处理器或传输层配置。同时发布 @modelcontextprotocol/server-legacy@2.1.0,仅更新依赖 @modelcontextprotocol/core@2.1.0。

EVENT STORY

Development

  1. First Report@modelcontextprotocol/server@2.1.0MCP TypeScript SDK Releases
  2. Industry Response@modelcontextprotocol/server-legacy@2.1.0MCP TypeScript SDK Releases
  3. Current AssessmentMCP 生态正从「能连上工具」转向「按原语授权」,OAuth scope 挑战进入传输层默认路径,说明企业接入 MCP 时的权限审计与最小权限诉求开始被协议实现直接承接。这有利于把 MCP 服务端放进已有 OAuth 体系,而不是另建一套鉴权。可验证下一信号:是否有主流 MCP 服务端或托管平台声明支持 insufficient_scope 挑战与 resource_metadata 发现流程。Agent Pulse · analysis
What Changed

MCP TypeScript SDK 同日发布两个包:@modelcontextprotocol/server@2.1.0 为 tools、resources、resource templates、prompts 引入请求时 OAuth scope 挑战,scopeChallenge 回调拿到解析后的请求与已验证认证信息,决定继续或返回 insufficient_scope 的精确 scope 集合,requireScopes 提供静态 all-of 检查;createMcpHandler 与 Streamable HTTP 传输在处理器执行或 SSE 建立前返回 HTTP 403 挑战,只要注册原语带该回调即自动生效。挑战的 WWW-Authenticate 头与 bearer-auth 401/403 使用同一格式化器,resource_metadata 参数来自已验证 AuthInfo,requireBearerAuth / verifyBearerToken 会把配置的 resourceMetadataUrl 写入 AuthInfo 新增可选字段,缺失时回退到 HTTP(S) RFC 8707 资源标识的 well-known 位置。@modelcontextprotocol/server-legacy@2.1.0 为补丁版本,仅更新依赖 @modelcontextprotocol/core@2.1.0。

How the Capability Boundary Shifted

把授权粒度从连接级下沉到原语级:scope 检查发生在处理器执行与 SSE 建立之前,意味着未授权请求不会触发工具逻辑或长连接资源占用,对多租户 MCP 服务端是更干净的失败路径。resource_metadata 由已验证 AuthInfo 派生而非请求方自述,减少了元数据伪造面。可验证下一信号:官方文档或示例是否给出 scopeChallenge 与 requireScopes 的推荐组合,以及非 TypeScript SDK 是否跟进同一语义。

Why It Matters

MCP 生态正从「能连上工具」转向「按原语授权」,OAuth scope 挑战进入传输层默认路径,说明企业接入 MCP 时的权限审计与最小权限诉求开始被协议实现直接承接。这有利于把 MCP 服务端放进已有 OAuth 体系,而不是另建一套鉴权。可验证下一信号:是否有主流 MCP 服务端或托管平台声明支持 insufficient_scope 挑战与 resource_metadata 发现流程。

Who It Affects

对提供 MCP 服务端的企业,未授权调用在进入业务逻辑前即被 403 拦截,可降低无效执行与长连接开销,并让权限模型对齐既有 OAuth 审计要求;对采购方,原语级 scope 是评估 MCP 供应商是否满足最小权限与合规审计的具体检查项。

What to Watch Next

若其他语言 SDK 与托管平台跟进,原语级 scope 挑战可能成为 MCP 服务端的默认鉴权形态;反之若仅停留在 TypeScript 实现,跨生态互操作仍会出现鉴权语义分叉。观察点是后续版本是否把该行为从「注册回调即生效」改为可显式配置。