ACP: The Universal Remote Control for AI Agents — Alex Hancock, Block
ACP lets editors, terminals, and custom apps control compatible agent harnesses through one protocol, including remote sessions, tool updates, and permission requests.
ACP uses **JSON-RPC** to connect client software with agent harnesses. Sessions carry prompts, streamed responses, tool-call updates, and permission requests; transports cover local standard I/O plus **HTTP and WebSocket** for remote agents.
If you build an agent harness or its interface, consider putting ACP at that boundary. One implementation can then serve editors, terminals, mobile apps, or bespoke orchestration clients while MCP remains the agent-to-tool layer.
ACP uses **JSON-RPC** to connect client software with agent harnesses. Sessions carry prompts, streamed responses, tool-call updates, and permission requests; transports cover local standard I/O plus **HTTP and WebSocket** for remote agents. If you build an agent harness or its interface, consider putting ACP at that boundary. One implementation can then serve editors, terminals, mobile apps, or bespoke orchestration clients while MCP remains the agent-to-tool layer. Interoperability depends on adoption across both harnesses and clients. ACP also permits custom methods, so implementations may still diverge before commonly used extensions become part of the standard.
ACP defines a portability boundary between agent harnesses and their clients, distinct from both managed or embedded runtimes and MCP’s agent-to-tool boundary. It could let one harness serve several interfaces while preserving streamed state and permission requests. That narrows the integration problem to a shared session protocol, but adoption on both sides and unconstrained custom methods leave practical interoperability unresolved.