开发者 3 秒速决决策指标
Model Context Protocol 官方 TypeScript SDK 于 2026-09-23 发布 @modelcontextprotocol/[email protected](npm)。主变更:为 tools/resources/resource templates/prompts 增加请求时 scopeChallenge 回调,可按解析后的请求与已校验 AuthInfo 返回精确 scope 集合并回 insufficient_scope;createMcpHandler 与 Streamable HTTP 在 handler/SSE 前以 HTTP 403 挑战。补丁还包括默认 4 MiB 请求体上限与 JSON-RPC batch≤100、将合法请求 id 0 视为有效、停止对 initialize 发 notifications/cancelled,以及 tasks 路径补齐 Mcp-Name 头校验。面向把 MCP 挂到 OAuth 资源服务器的 Agent 网关,这是权限面与 DoS 硬化的一次小版本。
核心要点速览 (Key Takeaways)
- ✓发版:@modelcontextprotocol/[email protected] / npm 2.1.0
- ✓鉴权:#1624 增加
scopeChallenge+requireScopes;403 +WWW-Authenticate/insufficient_scope,规范见 Authorization - ✓加固:默认
maxRequestBodySize=4MiB(413)、batch≤100;修复请求 id0被当成缺省导致 cancel/debounce 失效 - ✓协议:不再对
initialize发notifications/cancelled;现代 tasks 路径校验Mcp-Name与params.taskId - ✓文档:MCP Architecture / TypeScript SDK 仓库;
npm i @modelcontextprotocol/[email protected]
阅读完核心要点?进一步了解模型实力与实际开销
7 大权威镜像天梯跑分与 29+ 款主流编程套餐横向比价测算
相关资源与官方项目出处
免代理直达深度技术解析与实战评估
核心背景与行业痛点
把 MCP 服务挂到企业 OAuth 资源服务器时,仅靠连接级 bearer 校验往往过粗:同一连接上不同 tool/resource 需要不同 scope,却缺少「按请求挑战精确 scope」的一等钩子。另一方面,Streamable HTTP / createMcpHandler 若无限制地读 body,易被超大 JSON 或超长 batch 打满内存;历史实现把 JSON-RPC id 0 当 falsy,导致首个 sampling/createMessage 的 cancel 与 debounce 静默失效。Agent 网关与 IDE 侧 MCP 宿主都需要一次「权限细粒度 + DoS 边界」对齐。
架构亮点与底层机制
@modelcontextprotocol/[email protected] 经 #1624 为 tools/resources/resource templates/prompts 增加 scopeChallenge(request, authInfo):可继续放行或返回精确 scope 集以触发 insufficient_scope;requireScopes 提供静态 all-of 辅助。createMcpHandler 与 Streamable HTTP 在 handler/SSE 之前回 HTTP 403,WWW-Authenticate 与 bearer 401/403 共用格式化器,并从 AuthInfo.resourceMetadataUrl(或 RFC 8707 resource 的 well-known)填充 resource_metadata。读 body 默认封顶 4 MiB(maxRequestBodySize / DEFAULT_MAX_REQUEST_BODY_SIZE),超限 413;batch 数组 >100 回 400/-32600。另:id 0 视为有效;禁止对 initialize 发 cancel 通知;现代 tasks 路径交叉校验 Mcp-Name 与 params.taskId。
权威 Benchmark 与实测跑分对比
本发行为协议/SDK 安全与正确性升级,没有公开延迟或吞吐榜单数字。可量化验收:未授权 scope 是否稳定收到 403/insufficient_scope;>4 MiB body 是否 413;id=0 的 cancel 是否中止 in-flight handler;initialize 超时是否不再误发 cancel。规范对照见 Authorization 与 Architecture。
开发者实战落地与开箱指南
npm i @modelcontextprotocol/[email protected](包页:npm 2.1.0)。在注册 tool/resource 时挂 scopeChallenge 或 requireScopes;按部署调大/调小 maxRequestBodySize。手写 tasks 客户端需补 Mcp-Name。仓库与发行说明:typescript-sdk、Release。旧线 @modelcontextprotocol/[email protected] 同日带回部分 body limit backport,新旧包勿混用 API 假设。
讨论与评论
0登录后即可参与深度讨论
与广大 AI 开发者、工程师交流评测心得与前沿洞察