Internals

ACP 与 MCP

9分钟

理解 OpenClaw 的 ACP bridge、ACP agents、MCP server 路径,以及这些协议界面在 coding-agent 工作流中的区别。

OpenClaw 现在靠近多个 Agent 协议。名字容易混淆,先看角色。

三种不同角色

界面OpenClaw 的角色适合
openclaw acpACP server/bridge编辑器或 ACP client 想连接 OpenClaw Gateway session
ACP agentsharness orchestratorOpenClaw 要启动 Codex、Claude Code、Gemini CLI、OpenCode 等后端
MCPtool/context integrationMCP client/server 需要访问 OpenClaw conversation 或 capability

关键问题是:谁是 client,谁拥有 session,谁执行工具。

ACP Bridge

openclaw acp 通过 stdio 说 Agent Client Protocol,并通过 WebSocket 把 prompt 转发到 Gateway。

bash
openclaw acp
openclaw acp --url wss://gateway-host:18789 --token-file ~/.openclaw/gateway.token
openclaw acp --session agent:main:main

适合 ACP-compatible editor 或 client 想使用 OpenClaw-backed agent session。

它关注:

  • session 创建和恢复
  • prompt forwarding
  • 基础 streaming updates
  • cancel
  • session listing
  • best-effort usage updates
  • 当前 prompt turn 的 permission relay

它不是完整 ACP-native editor runtime。

ACP Agents

ACP agents 是另一件事:OpenClaw 启动外部 coding harness。

适合协调:

  • Codex
  • Claude Code
  • Gemini CLI
  • OpenCode
  • 其他兼容 ACP harness

MCP

MCP 路径让外部工具或客户端和 OpenClaw conversation/capability 交互。

如果外部 MCP client 想直接访问 OpenClaw 渠道会话,可以从这里开始:

bash
openclaw mcp serve

权限模型

协议桥不是安全魔法。检查:

  • Gateway auth
  • device/session identity
  • tool policy
  • exec approvals
  • sandbox settings
  • provider limitations
  • 工具到底在 OpenClaw、外部 harness 还是 client 环境里执行

Debugging

ACP bridge 问题先看:

bash
openclaw gateway status
openclaw acp client
openclaw sessions list
openclaw logs --follow

ACP agents 问题则检查 backend/harness 配置和 task/session 状态:

bash
openclaw tasks list
openclaw sessions list

MCP 问题要确认 server 定义、transport 和 auth path。

如何选择

  • 编辑器想连接 OpenClaw:用 openclaw acp
  • OpenClaw 想启动外部编码 harness:用 ACP agents
  • 其他工具想要结构化上下文或能力:用 MCP
  • 用户只是想聊天:用 Control UI、WebChat、CLI 或聊天渠道

协议清晰度

ACP 和 MCP 有用的前提是边界清楚。接入前先说明 session owner、tool executor、filesystem boundary、auth source 和 cancellation path。

继续实践

ACP 与 MCP 的核心概念已经读完

如果你想把理解变成可复用的能力,可以到 AgentWay 继续练习