团队要共用工具或集中维护时,优先评估 Streamable HTTP;个人电脑上的本地集成,通常可以继续用 stdio。适用条件很明确:新规范取消的是协议层握手和会话 ID,不是授权、业务数据和长任务状态管理。本周建议:先盘点客户端和 SDK 版本,再挑一个测试客户端验证新版请求;验证通过后再分批切换。
谁该看这篇:
个人开发者:判断本机 MCP 是否有必要迁到远程服务。
小型团队:规划多个客户端共同访问工具服务的方式。
企业技术负责人:梳理协议升级、旧客户端兼容与业务状态管理边界。
2026-07-28 正式规范已发布。本文最后更新于 2026 年 10 月 25 日,协议结论核对自官方规范发布说明、当前官方 SDK 文档;服务器规格核对自 OVN Cloud 配置页。(blog.modelcontextprotocol.io)先按使用场景选传输方式
不要因为协议有新版,就把所有本地服务迁到服务器。MCP 官方将 stdio 定义为客户端启动子进程后通过标准输入、输出传递消息;Streamable HTTP 则通过 HTTP 端点传递请求,响应可以是 JSON,也可以是请求范围内的 SSE 流。两者解决的是不同部署场景,不是简单的新旧替代。(modelcontextprotocol.io)
你可以先按这几个信号判断:
- ✅ 工具要读写当前开发者电脑上的文件,或依赖本地开发环境:优先保留
stdio,免去把本机资源改造成远程接口。 - ✅ 工具只需一个人使用,客户端能在本机启动服务进程:不必仅为适配新版协议而迁移。
- ✅ 多名开发者或多个 AI 应用要访问同一套工具:评估远程
Streamable HTTP,便于集中发布与维护。 - ⚠️ 工具涉及敏感数据或写操作:先设计访问控制、授权和审计边界,再决定服务放在哪台机器;远程端点不等于必须公开到公网。
MCP 官方 TypeScript SDK 也区分这两类用法:客户端启动本地子进程时使用 stdio;面向多个客户端提供托管端点时使用 Streamable HTTP。(github.com)
再厘清新版“无状态”具体改变了什么
2026-07-28 规范移除了 initialize/initialized 握手,以及协议层的 Mcp-Session-Id。新版请求携带自身所需的协议信息,因此协议层不再要求客户端粘在某个服务器实例,也不再要求实例共享协议会话存储。规范发布说明列出了这些变化。(blog.modelcontextprotocol.io)
这会改变远程部署的架构选择,但不代表服务器可以不保存任何状态:
- 协议状态: 新生命周期不再依靠协议会话 ID 关联请求。
- 业务状态: 购物车、工作流进度、用户授权、数据库记录等,仍由应用按需求保存。
- 长任务: 需要跨请求继续的工作,必须明确保存任务标识与进度,并定义中断后的恢复方式。
- 写操作: 网络超时或客户端重试可能造成重复提交;重要写入应设计幂等键、重复请求判断或明确的状态查询接口。
如果后续调用需要引用前一次调用创建的业务对象,可以让工具返回一个明确的业务标识,并在后续调用中传回;具体如何存储、校验权限和处理过期,应由应用层负责,而不是寄托在已移除的协议会话上。(blog.modelcontextprotocol.io)
按迁移顺序核对旧客户端和新服务
兼容性不能只看“服务器支持新版”这一项。客户端、服务端及所用 SDK 对协议版本的支持和协商策略都可能不同;官方 SDK 文档将新版无握手生命周期与旧版握手生命周期分别说明,因此要针对实际组合验证,而不是仅凭版本号推断。(ts.sdk.modelcontextprotocol.io)
按下面步骤执行:
- 列清依赖。 记录每个客户端、MCP SDK、服务端运行包的当前版本,以及它们使用
stdio还是 HTTP 传输。 - 读对应兼容文档。 确认客户端能否使用
2026-07-28生命周期,服务端是否仍接受旧客户端的握手;留意协议兼容与 SDK API 迁移不是一回事。 - 留出测试环境。 使用不含生产凭据、写权限受限的测试工具,验证客户端发现服务能力、列出工具及调用工具的完整路径。
- 逐个切换客户端。 先让一台测试客户端连接新版服务,成功后再扩大范围;旧协议仍在使用时,保留其所需的握手与会话处理。
- 验证状态与失败路径。 对长任务、写操作、超时和重试分别测试,确认重复调用不会意外重复写入,服务重启后业务流程能按设计恢复。
- 保留回退方案。 记录旧端点、旧启动参数或配置版本;切换失败时回退到已验证路径,并把客户端错误、服务端日志和协议版本一起留档。
官方 SDK 迁移文档会标出具体实现和协议生命周期的兼容边界;升级时应以你使用的语言、SDK 稳定版本和服务端版本对应文档为准,不要照搬其他语言 SDK 的示例。(ts.sdk.modelcontextprotocol.io)
在测试客户端里完成部署验收
团队共享部署通常需要服务进程稳定运行,并允许团队客户端访问,但并不要求端点直接暴露在公网。测试阶段先确定网络可达范围、认证方式与允许的操作;官方 SDK 文档明确提醒,服务处理器本身不一定替你验证令牌,认证校验需要在其前置层配置。(github.com)
部署完成后逐项勾选:
- [ ] 服务只绑定在计划开放的网络接口上;非公开访问路径已通过受控网络或网关限制。
- [ ] 客户端能发现服务能力,并能列出预期工具;不支持的工具不会被误认为部署成功。
- [ ] 认证失败会被拒绝;不同用户不能因为共享服务而继承彼此的权限。
- [ ] 写操作能识别重复请求;长任务能查询进度,异常退出后有明确的恢复或人工处理方式。
- [ ] 日志记录请求结果、错误类别和必要的关联标识,但不把访问令牌、密钥或不必要的敏感内容写入日志。
- [ ] 服务进程重启后,按设计检查业务状态、授权配置和工具可用性;需要恢复的数据不只存在进程内存中。
若服务端接受远程访问,还应检查传输安全和授权实现。MCP 官方 SDK 的 HTTP 文档说明,处理器可能只是接收上游传入的认证信息,并不自行验证令牌;因此要核对你选用的中间件、网关或认证实现,而不是把“接通了 HTTP”当成权限已配置。(github.com)
对照部署方式,再核对服务器负载
| 选择 | 适合情况 | 迁移前必查 | 主要代价 |
|---|---|---|---|
本地 stdio |
单人使用;需要访问本机文件或开发环境 | 客户端能启动服务进程;本机权限与凭据范围合适 | 每台设备需要安装、更新和排障 |
远程 Streamable HTTP |
多个客户端共享工具;需要集中发布和维护 | 客户端支持对应协议版本;网络访问、认证与日志已验证 | 需要维护远程端点、授权和业务状态 |
| 暂不迁移 | 旧客户端兼容性尚未验证,或本地集成已满足需求 | 留出测试环境;确认回退配置可用 | 暂时无法统一管理远程服务 |
如果你判断远程服务值得部署,再把MCP 服务本身、同时运行的其他容器、持久化数据和备份目标分开核算;协议更新不等于一定需要更高规格的机器。OVN Cloud 配置页显示,当前可选配置为 AMD EPYC 7543P、128GB 或 256GB 内存、2 × 1TB NVMe 直连盘,默认 250 Mbps 不限流量;可选系统与其余带宽、磁盘选项应按配置页核对。(OVN Cloud 当前服务器配置页)
| 评估项 | OVN Cloud 当前可核对选项 | 你该如何判断 |
|---|---|---|
| 内存 | 128GB 或 256GB DDR4-3200 ECC RDIMM | 把 MCP 进程、数据库及并行容器的实际内存需求相加;若已有常驻服务占用明显,留出系统与峰值余量 |
| 存储 | 2 × 1TB NVMe 直连;可按配置页选加盘 | 核算数据库、日志、上传文件及备份暂存空间;直连盘不等于硬件 RAID |
| 带宽 | 默认 250 Mbps 不限流量,可按配置页选择其他带宽 | 依据团队访问量、传输内容和镜像拉取需求评估,不要把带宽档位当作请求并发承诺 |
| 价格与周期 | 配置页显示月付 128GB 为 $454.8,256GB 为 $612.7;其他选配另计 | 提交前重新核对价格与选项;按月租和所选周期计算,不把配置页金额当作性能保证 |
| 接入与系统 | 产品页列出可选系统;Linux 通过 SSH 接入 | 选与你的服务栈相符的系统,并确认团队可以自行部署、更新和维护 |
配置、可选系统和价格可能调整,购买前应以产品页为准。部署后可根据 Linux 接入方式确认服务器登录流程: SSH 接入说明。
结合你的共享需求决定是否租用独享服务器
如果 MCP 工具只在一台开发电脑上运行、负载很轻,或者只需临时测试,继续用本地 stdio 往往更简单;为这类工作租整台服务器,可能增加固定成本和维护工作。
如果你目前把多个长期运行的服务放在共享 VPS 或公有云实例上,需额外核对共享资源争用、CPU 分配方式、磁盘与系统限制,以及带宽和流量费用是否清晰;这些差异取决于具体方案,不能只看套餐名称。若你需要团队长期共用 MCP 工具、同时运行多个容器,并希望独占整台机器资源,OVN Cloud 的 AMD EPYC 物理机可作为替代方案,实际配置以产品页为准。下单前按真实负载复核内存、磁盘与网络选择;不要因为新版协议“无状态”,就把业务持久化与备份规划一并省略。
常见问题
- MCP 工具怎样部署才能让团队成员共用? 先确认客户端支持远程 Streamable HTTP,再把 MCP 服务部署为团队可访问的 HTTP 端点;远程部署不等于必须向公网开放。你还需要配置身份验证与网络访问边界,并让测试客户端验证工具列表、实际调用和错误处理,再逐步迁移团队成员。
- 新版 MCP 去掉会话 ID 后,服务端还要保存状态吗? 协议层不再要求用 Mcp-Session-Id 维持请求会话,但业务数据、授权凭据、长任务进度和写操作结果仍可能需要持久化。把跨调用所需的业务标识作为工具参数或由应用层存储,并设计幂等与恢复逻辑;不要把协议无状态当成数据无需保存。
- 个人电脑上的 stdio 和远程 Streamable HTTP 怎么取舍? 若 MCP 进程需要直接访问本机文件、开发环境或个人凭据,且只有本机客户端使用,保留 stdio 通常更简单。若多个客户端要共享同一套工具、统一更新服务或集中管理凭据,才考虑 Streamable HTTP;迁移前确认客户端确实支持相应协议版本。
- 旧版 MCP 客户端还能连接采用新版协议的服务器吗? 不能只凭服务器已经升级就假定兼容。兼容性取决于客户端、服务端和各自 SDK 支持的协议版本及协商行为;先查对应官方兼容文档,在测试客户端验证握手、会话和工具调用,再逐步切换,并保留旧端点或配置作为回退方案。