Cloudflare 远程 MCP 服务器为兼容的 AI 客户端提供访问选定工具的托管接口。让端点上线只是容易达到的里程碑。真正有用的里程碑,是客户端以正确用户的权限完成预期任务,并产生运维团队能够解释的结果。

在 Cloudflare 上构建远程 MCP 服务器时,应围绕范围有限的工具契约、已认证身份和明确的下游权限进行设计。在计划支持的客户端中测试发现、授权、工具执行与恢复。MCP 端点可访问,并不能证明它已经适合处理业务记录。

设想一个员工助手,需要在现有系统中查询订单。首个版本只读取订单状态,后续版本可能提出修改地址的建议。即使两者都作为工具出现在同一客户端中,其权限和失败后果也不同。

本文讨论托管实现的边界。关于更早的采购决策,请阅读我们的 MCP 服务器开发指南 。文中的例子是建议设计,并非对已部署客户系统的描述。

定义 Cloudflare 远程 MCP 服务器契约

Cloudflare 维护了远程 MCP 服务器指南 。以当前指南为部署起点,然后固定选定依赖,记录支持的传输方式与客户端。不要在未验证结果的情况下,将不同 SDK 代际的代码片段拼接起来。

有用的工具名称应该描述允许的业务操作。订单查询输入应标识订单,以及确实必要的上下文。不要仅为了让服务器通用,就接受用户选择的数据库、任意查询或下游 URL。

输出应区分查询完成、来源不可用和操作被拒绝。如果每次失败都返回空对象,助手就可能编造解释。应返回边界明确的结果,让客户端准确呈现,同时不暴露内部凭据或无关记录。

契约要素订单查询示例明确规定的理由
输入订单编号限制查询范围
权限已认证员工及账户范围防止跨账户读取
结果状态、来源观察时间及允许的上下文让答案可以解释
拒绝安全且明确的结果避免将无权查看误说成记录不存在
跟踪不透明的操作编号无须复制记录即可调查

将调用者身份与服务凭据分开

托管服务器可能需要凭据才能调用订单 API,但服务凭据不是调用者身份。即使服务器使用强大的下游凭据,仍必须限制当前调用者可以请求哪些记录。

Cloudflare 的 MCP 授权文档 介绍了远程连接的授权层。应完整验证目标客户端的登录与令牌流程,不能假定某条路径接受的令牌适用于每个目标。

根据可信会话信息推导客户或组织范围。不能让 customer_id 之类的工具参数在未经范围核对时扩大访问。模型声称某员工是经理,并不构成授权决策。

操作执行时应重新检查权限。角色变更或撤销后,之前发现的工具可能已不再允许使用。记录撤销权限时,现有连接和新建连接各会发生什么。

建议流程:认证目标客户端,验证有限工具请求,执行来源系统权限,返回附有跟踪编号的结果。
建议设计:始终明确调用者的权限范围。 查看完整尺寸示意图

将部署配置与工具策略分开

有意识地维护开发与生产配置,将每个环境绑定到正确的下游系统,不要把密钥写进源码、提示词或工具说明。测试客户端不应因为复制配置保留了错误端点,就获得生产权限。

使用能标识源码修订、依赖锁、环境和配置变更的部署记录。如果新工具说明导致客户端意外选择某项操作,团队需要知道究竟改变了什么。

工具说明是产品接口的一部分。解释工具的用途、结果含义,以及结果无法证明什么。不要指示模型将返回的第三方文字视为执行无关调用的授权依据。

对于订单服务器,应将查询与修改作为不同能力。通过可选参数在读写之间切换的宽泛工具,会增加复核与访问控制难度。明确的操作也让兼容性测试更容易解释。

测试真实客户端旅程

Cloudflare 提供了远程服务器客户端测试文档 。协议检查器很有用,但生产客户端有自己的发现、授权和展示行为。应覆盖支持承诺中列出的每个客户端。

从全新连接开始测试正常流程,再测试会话过期、权限撤销、来源不可用和工具输入格式错误。既观察用户看到的情况,也观察服务器记录。

测试案例预期应用结果证据
允许的查询返回正确订单上下文调用者范围及来源结果
其他账户的订单拒绝访问没有未授权记录内容
来源超时解释可用性故障操作编号及失败阶段
调用者权限撤销拒绝后续使用旧连接与新连接结果
无效输入下游工作之前验证失败拒绝且未请求来源

测试时使用带有清晰标签的合成记录。如果测试数据过于相似,错误账户的结果也可能看似合理,从而逃过复核。验收报告应让没有编写服务器的人也能明显识别权限故障。

区分工具成功与业务成功

MCP 交换成功,仍可能返回过时订单状态或下游拒绝。应根据来源系统和员工任务定义成功。助手不能仅因工具没有抛出异常,就声称变更已经完成。

未来加入地址修改工具时,应保留目标系统的操作编号与变更后的记录状态。如果响应丢失,应先调查该编号再重新提交。传输层重试与安全地重复业务操作,是不同的问题。

添加写入工具之前先规划恢复

只读访问能产生有用结果时,应从只读开始。这可以减少初始恢复范围,让团队先验证身份与工具选择,再引入实际业务承诺。

对于写入,应明确批准、有效期、重复处理和不确定结果的规则。批准必须对应实际拟议变更与目标记录。用户批准模糊指令,不应授权后续发生实质变化的操作。

保留禁用工具的方法,同时不能丢失核对已提交工作所需的证据。从工具发现列表移除某项操作,并不能证明之前接受的工作已经停止。

建议决策:来源操作是否完成?区分已确认结果与写入结果不确定,核对实际业务影响。
建议设计:始终明确调用者的权限范围。 查看完整尺寸示意图

什么决定开发与支持成本?

主要成本因素是下游 API 质量、身份映射、客户端种类及每项操作的后果。针对文档完整 API 的只读查询,与需要协调多个系统变更的集成,是不同的项目。

要求 GBP 方案报价,分别列出协议配置、授权、工具实施、验收与运维交接。询问包含哪些环境与客户端。排除客户端兼容性或下游故障的低报价,不能与完整集成方案直接比较。

工作领域验收交付成果常见额外工作来源
身份调用者到记录的权限测试系统间角色不一致
工具设计稳定且已验证的输入与结果下游语义缺乏文档
客户端支持指定客户端中的流程记录传输或登录行为不同
恢复演练过的不确定结果处理流程目标系统没有操作编号
维护责任归属与升级流程依赖未固定或没有测试环境

托管用量只是预算的一项。还应计入日志、上游 API 使用、监控、依赖维护与支持。在估算持续费用前,根据所选负载核实当前供应商费率;工具数量本身不能确定用量成本。

委托开发可由他人运维的端点

交接应让另一位工程师能够部署服务器、轮换测试凭据、复现访问拒绝并追踪失败查询。包括支持客户端列表、依赖锁,以及报告错误工具结果的渠道。

业务系统负责人应批准每项操作的含义,部署负责人应批准恢复与变更流程。尽早让这些人共同参与,避免端点技术上已经完成,却无人负责其真实行为。

我们可以通过 AI 集成试点 界定有限服务器的范围。请提供来源 API、目标客户端、示例任务与访问规则,索取 MCP 部署方案 ,将身份、验收与交接纳入范围,而不只是演示端点。

常见问题

什么让 MCP 服务器成为远程服务器? 服务器与用户本地客户端分开托管,通过受支持的远程连接访问。重要实施问题包括传输支持、认证,以及托管服务如何访问关联业务系统。

部署到 Cloudflare 后,工具会自动安全吗? 不会。应用仍必须验证输入、确定调用者身份、执行下游权限并控制工具权限。托管位置不能决定哪位员工可以读取或修改业务记录。

一台服务器可以支持多个 AI 客户端吗? 可以这样设计,但应测试每个指定客户端。发现、授权和展示行为可能不同。支持承诺应说明验证过哪些客户端与配置。

首个版本应该包含写入工具吗? 只有在第一个有用任务需要写入,而且批准与恢复规则明确时才加入。只读操作通常是验证身份与来源集成的实用起点。

写入超时后应该怎么办? 保留操作编号,在重复请求前检查目标系统。即使响应丢失,目标系统也可能已完成变更。如果无法确定结果,应交由指定运维人员处理。

MCP 交接应该包含什么? 包括源码、依赖锁、环境配置、工具契约、客户端验收结果、凭据责任归属与恢复手册。另一位工程师应能复现成功任务和被拒绝的操作。

如何估算实施成本? 先明确下游系统、身份映射、指定客户端与操作。要求以 GBP 分别列出需求探索、实施、验收与支持范围。按工具收费会掩盖权限与不确定业务结果的复杂性。