ModelContextProtocol (MCP) Python SDK 已发布其首个 v2 发布候选版 v2.0.0rc1。此预发布版本需手动启用,并引入了重大的 API 清理以及与即将到来的 2026-07-28 规范的对齐。
- Client 缓存默认值现为 CacheConfig(),设为 None 可将其关闭。
- Context.client_id 已移除;请使用 ctx.request_context.meta 或 get_access_token().client_id。
- RFC7523OAuthClientProvider 和 JWTParameters 已被移除,取而代之的是 ClientCredentialsOAuthProvider、PrivateKeyJWTOAuthProvider 或 IdentityAssertionOAuthProvider。
- Client-credentials 提供程序现在使用 scope= 而非 scopes=。
- OAuthClientProvider 的 timeout 参数已移除,因其未被使用。
- message_handler 仅接收 ServerNotification | Exception;死掉的 RequestResponder 分支和 mcp.shared.session 模块已消失。
- FileResource.is_binary 被 encoding 字段取代。
- MCPServer 的 MCP_* 环境变量不再公开,且 pydantic-settings 已从运行时依赖中移除。
- Streamable HTTP 服务器拒绝超过 4 MiB 的请求体,并返回 HTTP 413。
- clientInfo _meta 键为可选,serverInfo 已移至每个结果的 _meta 中。
- stdio 服务器现在根据客户端的初始请求决定协议时代,从而允许在 stdio 上启用 2026 时代的特性。
- stdio_server() 隔离了 stdin/stdout,以防止 print 破坏 JSON-RPC 流。
- 针对输出 schema 验证的工具结果因缓存的 JSON Schema 验证器而更快。
稳定的 v2 版本计划于 2026-07-28 与规范发布同步推出。建议用户在此之前锁定确切版本。