一句话看懂:微软正式发布 MCP C# SDK 2.0,实现 MCP 规范 2026-07-28 修订版,默认把 Streamable HTTP 服务器切到无状态模式,并引入多轮往返请求(MRTR),让 MCP 流量在网关和负载均衡器上更容易处理。
事件核心:发生了什么
MCP 是标准化应用向大模型提供上下文与工具的开放协议,C# SDK 由微软联合维护、基于 ASP.NET Core 构建。这次 2.0 对应 2026-07-28 修订版,SDK 团队称其为协议发布以来最大的一次改动,核心是重新设计 MCP 在 HTTP 上的运行方式:移除 initialize 握手和 Mcp-Session-Id 请求头,协议版本与功能声明随每个请求发送,任何服务器实例都能处理请求,不再依赖粘性路由或共享会话存储。
具体变化包括:HttpServerTransportOptions.Stateless 默认为 true;tools/call 新增 Mcp-Method、Mcp-Name 请求头,负载均衡器和网关可基于请求头路由;交互式工具改用 MRTR,工具抛出 InputRequiredException 并携带 requestState,客户端收集响应后重新发起调用。2026 年 8 月至 10 月,SDK 又陆续发布 2.1 至 2.3 三个次要版本。
为什么重要
无状态化把“会话”从 MCP 服务器里拿掉,直接降低了 MCP 服务横向扩容和部署在云原生基础设施上的门槛,这对企业把 AI 工具接入现有网关、鉴权和流量体系是个实质利好。MRTR 则补上了无状态化后缺失的“服务器在调用中向客户端要输入”的通道,让需要用户确认或补充信息的 Agent 工具流程仍能跑通。从生态看,C# SDK 跟上规范修订,有助于 .NET 技术栈在 MCP 工具生态中保持可用性。
对用户/开发者/创作者的影响
开发者需要留意兼容性:客户端会先探测 server/discover,旧服务器回退到传统握手;有状态服务器需手动把 Stateless 设为 false;仅状态模式配置和传统 SSE 端点会触发 MCP9006、MCP9004 警告。使用 Roots、采样和日志 API 的代码被标记废弃(MCP9005),Tasks 迁至 ModelContextProtocol.Extensions.Tasks 包且与 1.3/1.4 实验版不兼容。Streamable HTTP 现在会等首个协议消息到达再发响应头,长时间静默的处理器可能需要输出进度或调长超时。
AI 工具推荐
想把多个 AI 模型放在一个入口?
GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。
推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。
值得关注的后续
一是 MRTR 在真实 Agent 工作流中的采用程度,以及 header 与 body 不一致返回 HeaderMismatch 的实践反馈;二是社区提出的“如何防止 requestState 被篡改或跨会话重用”目前暂无官方回复,团队称下一阶段重点是端到端身份认证与授权;三是 2.3 将 McpClient.ServerInfo 设为可空,文档提醒不要用服务器自报身份做安全决策,后续认证方案是否补上这一环值得观察。
来源:InfoQ CN


