MCP + OpenClaw:执行框架如何被约束成系统
一、执行框架与协议层的分工
在前面的章节中,我们分别讨论了 OpenClaw 这类执行框架的作用和 MCP 协议层的价值。OpenClaw 解决了让 Agent 能跑起来的问题,包括工具调用、状态管理、多轮对话、模型适配。MCP 解决了让 Agent 安全可控地跑的问题,包括凭证管理、权限控制、审计日志、人工审批。
但这两个世界是分离的。在实际的 Agent 系统中,执行框架和协议层需要协同工作。OpenClaw 不能取代MCP,MCP 也不能取代 OpenClaw。它们之间的关系不是替代,而是约束。
本章将探讨:如何将 OpenClaw 这样的执行框架纳入 MCP 体系,使其从能跑的执行引擎,转变为受约束的系统组件。这不是简单的集成,而是架构层面的重新设计。
二、没有 MCP 的 OpenClaw:强大的执行引擎
在纯 OpenClaw 架构中,系统的工作方式如下。
第一步,开发者定义若干个 Tool,每个 Tool 是一个函数。第二步,开发者将这些 Tool 注册到 Agent 的可用工具列表中。第三步,Agent 接收用户输入,调用大模型进行推理。第四步,大模型返回一个决策,决定调用某个 Tool。第五步,OpenClaw 执行这个 Tool,将结果返回给模型。第六步,循环往复,直到任务完成。
这个模式在简单场景下工作得很好。Agent 可以调用 Tool,Tool 可以访问数据库、调用应用程序编程接口、发送邮件。一切看起来都很顺畅。
但问题在哪里?问题在于,OpenClaw 对 Tool 的调用没有任何约束。一旦 Tool 被注册,Agent 就可以在任何时候、以任何参数调用它。没有权限检查,没有审计日志,没有人工审批,没有调用追踪。
你可以通过 Prompt 来劝说 Agent 不要做某些事,但正如我们在第八篇中讨论的,Prompt 不是有效的约束机制。模型可能忽略、遗忘、或被绕过。这意味着,一个纯 OpenClaw 系统,在规模化和安全敏感的场景下,是不可控的。
三、引入 MCP 协议层:从直接调用到协议化调用
为了解决这个问题,我们需要在 OpenClaw 和 Tool 之间插入一个 MCP 协议层。核心的变化是:Agent 不再直接调用 Tool,而是通过 MCP 协议调用 Skill。
在集成 MCP 之后,架构发生了根本性的变化。开发者首先将原有的 Tool 封装为 MCP Skill。每个 Skill 被部署为一个 MCP 服务器,暴露 MCP 协议接口。OpenClaw Agent 不再直接调用 Tool,而是通过 MCP 客户端向 MCP 网关发送请求。MCP 网关负责认证、授权、审计、限流、审批。网关将请求转发给对应的 MCP 服务器。MCP 服务器执行实际的业务逻辑,返回结果。
这个架构变化的关键在于,OpenClaw 失去了直接调用 Tool 的能力,取而代之的是通过协议调用 Skill。这个失去的能力,正是获得可控性的代价和回报。
OpenClaw 的角色也发生了深刻的变化。在纯 OpenClaw 架构中,OpenClaw 既是执行引擎又是调用通道,它负责推理、决策、工具调用、结果处理。在 MCP 集成架构中,OpenClaw 的角色被精简了。OpenClaw 仍然负责推理和决策,它决定要做什么。但 OpenClaw 不再负责如何调用,调用细节由 MCP 协议处理。OpenClaw 不再负责能否调用,权限决策由 MCP 网关处理。OpenClaw 不再负责调用记录,审计日志由MCP 网关处理。
这种角色变化的核心是,OpenClaw 从全能的执行引擎变成了专注的决策引擎。它只关心做什么,不关心怎么做和能否做。
四、MCP 如何约束 OpenClaw?
MCP 对 OpenClaw 的约束体现在以下几个层面。
第一个层面是调用路径的统一收口。在没有 MCP 的情况下,OpenClaw 可以直接调用任意 Tool,调用路径是分散的、不可控的。在 MCP 集成后,所有的调用都必须经过 MCP 网关。网关成为唯一的调用入口。这意味着没有能够绕过网关的调用路径,所有调用都在网关的监控之下,任何违规调用都可以在网关层被拦截。
第二个层面是权限策略的外部化。在没有 MCP 的情况下,权限逻辑要么不存在,要么硬编码在 Tool 内部。OpenClaw 本身不参与权限决策。在 MCP 集成后,权限策略从 Tool 内部抽离出来,配置在 MCP 控制平面中。OpenClaw Agent 发起调用时,网关会检查策略。Agent 不需要知道策略的存在,也不需要实现任何权限逻辑。策略对 Agent 是透明的,但又是强制执行的。
第三个层面是审计日志的自动化。在没有 MCP 的情况下,审计日志需要开发者自己实现。每个 Tool 都要单独加日志,格式不统一,容易遗漏。在 MCP 集成后,MCP 网关自动记录每一次调用的完整信息。OpenClaw Agent 不需要做任何额外工作。审计日志的格式是统一的,存储是集中的,查询是标准化的。
第四个层面是人工审批的强制执行。在没有 MCP 的情况下,人工审批需要开发者自己实现一个复杂的流程:挂起执行、等待审批、恢复执行。这很难做到通用和可靠。在 MCP 集成后,MCP 控制平面内置了审批工作流。开发者只需要在策略中标记某个 Skill 为需要审批,MCP 网关会自动处理挂起、通知、等待、恢复的整个流程。OpenClaw Agent 只需要正常发起调用,网关会在需要时自动等待审批结果。
五、Peta 如何实现 OpenClaw 的约束?
Peta 作为 MCP 控制平面的具体实现,提供了将 OpenClaw 约束成系统所需的全部能力。
在调用路径统一收口方面,Peta Core 提供零信任网关。所有来自 OpenClaw Agent 的调用都必须经过 Peta 网关。网关验证 Agent 身份,检查权限策略,记录审计日志,然后才将请求转发给后端的 MCP 服务器。没有任何调用可以绕过网关。
在权限策略外部化方面,Peta Console 提供策略引擎。开发者可以在 Peta Console 中定义精细的权限规则,例如只有客服角色的 Agent 可以调用 query_order,且只能查询状态为完成的订单。这些规则在 Peta 网关层强制执行,OpenClaw Agent 完全不需要知道它们的存在。
在审计日志自动化方面,Peta 自动记录每一次调用的完整信息。OpenClaw 开发者不需要写任何日志代码。所有审计日志都可以导出到安全信息与事件管理系统,满足合规要求。
在人工审批强制执行方面,Peta Desk 提供完整的审批工作流。开发者只需在 Peta Console 中将某个 Skill 标记为需要审批,Peta 网关就会自动挂起调用请求,等待审批人在 Peta Desk 中批准或拒绝。OpenClaw Agent 只需要正常发起调用,网关会自动处理等待和恢复。
六、集成的工程实现
下面,我们来看一个具体的集成示例。假设我们有一个使用 OpenClaw 框架构建的客服 Agent,它需要调用一个发送退款的 Skill。
第一步,将原有的 Tool 封装为 MCP Skill。原有的 Tool 是一个 Python 函数,它首先验证调用者是否有退款权限,然后执行退款业务逻辑。在 MCP 封装后,Skill 不再包含权限验证逻辑,只包含退款业务逻辑。权限验证被移到了 MCP 控制平面的策略中。
第二步,在 Peta Console 中配置策略。定义一条策略:只有角色为客服的 Agent 可以调用 send_refund Skill,且订单状态不能为已发货,同时这个调用需要人工审批。
第三步,配置 OpenClaw Agent。在 OpenClaw 中,Agent 不再直接注册 Tool,而是注册一个 MCP 客户端,连接到 Peta 网关。Agent 在配置时声明它可以调用的 Skill 列表,包括 query_order、send_refund、query_user 等。
第四步,运行时流程。当 OpenClaw Agent 决定需要调用 send_refund 时,它通过 MCP 客户端向 Peta 网关发送 Action 请求。网关收到请求后,查询策略配置,发现 send_refund 需要审批。于是网关挂起这个Action,发送审批请求到 Peta Desk。审批人在 Peta Desk 中看到请求的详细信息,点击批准。网关收到批准信号后,将 Action 转发给对应的 MCP 服务器。MCP 服务器执行 send_refund 的业务逻辑,返回结果。网关将结果返回给 Agent。
整个过程中,OpenClaw Agent 不知道审批的存在,它只是正常发起调用然后等待响应。Peta 网关在后台处理了所有的审批流程。
七、集成前后的能力对比
集成 Peta 前后,OpenClaw 系统的能力发生了显著变化。
在工具调用方面,纯 OpenClaw 是直接调用函数,而 OpenClaw 加 Peta 是通过 MCP 协议调用 Skill。
在权限控制方面,纯 OpenClaw 要么没有权限控制,要么权限逻辑硬编码在 Tool 内部,而 OpenClaw 加Peta 由策略引擎统一控制。
在审计日志方面,纯 OpenClaw 需要开发者手动实现,而 OpenClaw 加 Peta 由网关自动记录。
在人工审批方面,纯 OpenClaw 需要开发者手动实现复杂的审批流程,而 OpenClaw 加 Peta 内置了审批工作流。
在调用追踪方面,纯 OpenClaw 没有调用追踪能力,而 OpenClaw 加 Peta 有完整的调用链追踪。
在凭证管理方面,纯 OpenClaw 的凭证以明文形式写在配置文件中,而 OpenClaw 加 Peta 采用加密存储加动态注入的方式。
在限流熔断方面,纯 OpenClaw 需要开发者手动实现,而 OpenClaw 加 Peta 由网关统一配置。
八、小结:从执行引擎到约束系统
本章的核心结论可以总结为以下几点。
第一,OpenClaw 解决的是执行问题,它让 Agent 能够调用工具、管理状态、完成多轮对话。但它不解决治理问题。
第二,MCP 通过协议层约束 OpenClaw 的调用行为。所有的调用都必须经过 MCP 网关,在网关层实现认证、授权、审计、审批、限流。
第三,集成 MCP 后,OpenClaw 的角色从全能的执行引擎转变为专注的决策引擎。它只关心做什么,不关心怎么做和能否做。
第四,MCP 对 OpenClaw 的约束体现在四个层面:调用路径的统一收口、权限策略的外部化、审计日志的自动化、人工审批的强制执行。
第五,Peta 作为 MCP 控制平面的具体实现,提供了将 OpenClaw 约束成系统所需的全部能力。OpenClaw 加 Peta 的组合,是从能跑到能上线的必经之路。OpenClaw 让 Agent 变聪明,Peta 让 Agent 变可控。
在下一章,我们将继续工程视角的讨论,深入 MCP 的核心机制,探讨 MCP 如何让 Agent 从会做事变成可控地做事。
更多推荐


所有评论(0)