mcp-use v2 是什么 无状态 MCP 改了部署
mcp-use v2 跟随 MCP 2026-07-28 去掉会话握手,请求自带协议上下文。讲清对负载均衡、滚动发布和粘性会话的影响。

mcp-use v2 是 Manufact 旗下 TypeScript MCP 框架的大版本:底层对齐官方 MCP SDK v2,并围绕 2026-07-28 协议修订把远程 MCP 从「带 session 的 Streamable HTTP」改成「请求自带上下文的无状态核心」。若你问 mcp-use v2 是什么:同一套 server 代码可以接新版无状态网关,客户端会自动探测协议时代并兼容旧 server。
协议层发生了什么(2026-07-28)
据 Manufact 对 mcp-use v2 的说明 与 MCP 修订摘要,旧流程先 initialize,服务器返回 Mcp-Session-Id,后续请求必须粘在同一进程。负载均衡后面就要 sticky routing、共享 session 存储,滚动发布时进程一杀,客户端常被迫整段重连。
新流程更接近普通 HTTP:协议版本与客户端元数据随每次请求携带;需要能力发现时用 server/discover,而不依赖早前那条连接。Manufact 博文给出的请求形态包括头部 MCP-Protocol-Version: 2026-07-28、Mcp-Method、Mcp-Name,JSON 体仍是工具调用参数。网关可以在不解析 JSON-RPC body 的情况下按方法名路由和打点。
协议并不等于应用无状态。购物车、OAuth 刷新、长任务仍要有状态,但状态应通过显式 handle(如 requestState)在应用层往返,而不是藏在 transport 的 session ID 里。Multi Round-Trip Requests 用 input_required 返回 opaque requestState,客户端补输入后重试,下一次请求可以落到任意实例。这和 Skills 与 MCP 的分工 里强调的「连接归 MCP、流程归 skill」是不同层:这里改的是 HTTP 边界的会话模型。
mcp-use v2 在框架里落地的五点
以下五点均来自 Manufact 2026-07-29 博文,不臆造未公开的 API 名称。
- Server 侧无状态请求路径:
mcp-use/server为现代 HTTP runtime 提供 stateless request path,便于 serverless / edge 多实例。 - Client 侧协议时代协商:
@mcp-use/client自动模式先server/discover,必要时回退旧initialize流程;v2 包仍可对话旧 protocol server。 - 包拆分:
mcp-use(建 server)、@mcp-use/client、@mcp-use/agent、@mcp-use/inspector分责,减小默认安装面(博文称 clean install 约从 405 MiB 降到 74 MiB,localhost benchmark,非生产延迟承诺)。 - React 应用层原语:
McpClientProvider/useMcpServer统一管理多 server、重连、OAuth、elicitation 队列;ViewRenderer把 MCP App 的 View 生命周期(CSP、host 消息、tool 上下文)收进组件,而不是手写 HTML 字符串胶合。 - Inspector 与 MCP App 一体 loop:本地 inspect 工具、渲染 View、截图 CLI、隧道与部署共用同一 server 形状,减少「开发一种集成、上线另一种」的重复。
若你在 Claude Code 里已经接多条 MCP,通道与推送型 server 的边界可参考 Claude Code MCP Channels;微软文档类 server 的部署习惯则见 Microsoft Docs MCP Server 配置。
对部署与运维的实际含义
无状态核心直接拆掉三类运维负担:sticky session、为 MCP 单独开的 session store、以及在网关里复刻协议状态机。Manufact Cloud 博文强调:失败实例不再「带走」协议 session;自动伸缩与 branch preview 可以按普通 HTTP 服务做 round-robin。
你仍需规划应用层状态:OAuth token、租户隔离、数据库连接、队列消费位点。多步 elicitation 要验证 requestState 的签名与防篡改(Manufact 称 v2 加了 verified / tamper-protected request state)。观测字段变清晰:每条请求可有 method、tool name、protocol era、trace context,便于与纯 stdio 本地 MCP 的排障日志区分开。
粘性会话消失后的回归测试清单:在负载均衡后开两个 replica,交替调用同一需要 elicitation 的工具;滚动发布中途发起 tools/call,确认客户端重试不会 404 session;旧客户端连新 server、新客户端连未升级的 server,确认协商降级仍可用。
何时从 v1 迁、何时只读规范
新 TypeScript MCP 项目可以直接按 v2 文档起 server。已有 mcp-use v1 项目应走官方 migration guide,Manufact 已移除 v2 beta 里「假装 v1 API 还在」的 facade,避免双栈幻觉。若你暂时只在本机 stdio MCP、不经远程 HTTP,协议修订影响较小,但 IDE 与托管商升级 Streamable HTTP 后仍建议跟进客户端库。
选型上,mcp-use v2 解决的是「框架 + 托管」路径;若你只是给 Cursor 加一个只读文档 MCP,不必为了 v2 重写 server,除非你要上 Manufact Cloud 或多 View 的 MCP App。规范与框架是同一方向:transport 更薄,应用与观测更厚。
参考资料
- mcp-use v2: The age of stateless MCP(Manufact,Enrico Toniato,2026-07-29) — 2026-07-28 协议变更、框架拆分、ViewRenderer 与 benchmark 说明
- Model Context Protocol 规范与修订 — 核对
initialize/ session 相关变更时打开官方站点当前版本页