rmcp-v3.4.0
Model Context Protocol 的 Rust SDK 发布 rmcp-v3.4.0 与 rmcp-macros-v3.4.0。变更包括:新增 ServerConfig 与 ClientConfig(#1266);在取消测试中使用 ServerConfig(#1273);按生命周期路由 peer cancellation(#1262);在 service loop 中运行首个 pre-init 请求(#1263);由 url origin 决定 prm 发现(#1264);弃用 ServerInfo 与 ClientInfo 别名(#1156);探测受保护资源元数据时忽略非 metadata JSON(#1204);不把格式错误的 JSON 200 视为 Accepted(#1208);将 handler 产生的 HeaderMismatch 映射为 HTTP 400(#1259);强制 Origin 校验语义(#1192)。
发展脉络
- 首次出现rmcp-macros-v3.4.0Model Context Protocol Rust SDK
- 行业反馈rmcp-v3.4.0Model Context Protocol Rust SDK
- 当前判断MCP 的 Rust 实现持续以细粒度补丁推进协议一致性,而非新增能力面。对生态的含义是:多语言 SDK 的行为差异会集中在 auth 发现、取消语义与 HTTP 错误码这类边界上,谁先统一这些细节,谁就更容易被服务端与网关实现选为参考。Agent Pulse · 分析
MCP 官方 Rust SDK 发布 rmcp-v3.4.0,配套 rmcp-macros-v3.4.0 同步更新。该版本以配置与协议健壮性为主:引入 ServerConfig 与 ClientConfig 并弃用 ServerInfo、ClientInfo 别名,属于面向使用者的 API 收敛;同时修正取消(cancellation)路由与 pre-init 请求在 service loop 中的执行顺序,调整 auth 侧 prm 发现由 url origin 决定、探测受保护资源元数据时忽略非 metadata JSON,并收紧 HTTP 层语义——格式错误的 JSON 200 不再被当作 Accepted,handler 产生的 HeaderMismatch 映射为 400,Origin 校验语义被强制。整体看是一次以正确性与安全边界为主的补丁级发布。
从变更清单看,重点在生命周期与传输层语义:peer cancellation 按生命周期路由、首个 pre-init 请求进入 service loop,说明此前存在初始化与取消竞态;Origin 校验与 HeaderMismatch→400 表明 HTTP 传输在收紧来源与头部一致性检查。可验证的下一信号是这些 PR 是否伴随文档或迁移说明,以及 ServerConfig/ClientConfig 是否成为后续版本的唯一配置入口。
MCP 的 Rust 实现持续以细粒度补丁推进协议一致性,而非新增能力面。对生态的含义是:多语言 SDK 的行为差异会集中在 auth 发现、取消语义与 HTTP 错误码这类边界上,谁先统一这些细节,谁就更容易被服务端与网关实现选为参考。
对自建 MCP 服务端或网关的团队,本次变更直接影响错误处理与鉴权探测路径:格式错误 JSON 不再被误判为 Accepted、HeaderMismatch 返回 400、Origin 校验被强制,意味着客户端与服务端需要按更严格的语义对齐,否则升级后可能出现此前被容忍的请求被拒。
若后续版本继续围绕配置对象与传输校验收敛,可观察 ServerInfo/ClientInfo 别名是否被移除、以及 Origin 与 prm 发现规则是否被写入规范文本;反之若长期停留在补丁层面,说明协议边界仍在探索。