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 makes the client-to-harness boundary a candidate for standardization, complementing MCP’s agent-to-tool boundary. Against the prior embedded and cloud runtimes, it suggests interfaces need not be coupled to one harness: sessions, streaming, permissions, and remote transport can share a protocol. The portability claim remains conditional because adoption and custom methods can recreate fragmentation above the common core.