docker agent serve acp command starts an ACP server that communicates over stdio (standard input/output). Host applications — editors, IDEs, CLI tools — spawn the process as a subprocess and communicate using JSON-RPC messages.
ACP vs A2A vs MCP
- ACP connects an agent to a host application (IDE, editor) via stdio.
- A2A connects agents to other agents over HTTP.
- MCP exposes agents as tools for MCP clients.
Usage
Flags
| Flag | Default | Description |
|---|---|---|
-s, --session-db <path> | ~/.cagent/session.db | Path to the SQLite session database |
How it works
Host spawns the process
The host application starts
docker agent serve acp agent.yaml as a child process.Communication over stdio
The host sends JSON-RPC messages to stdin; Docker Agent reads them and processes them through the configured agent.
Features
- Stdio transport — no network ports required; ideal for subprocess integration
- Session persistence — SQLite-backed sessions survive process restarts
- Full agent support — all Docker Agent features work: tools, multi-agent, model fallbacks
- Multi-agent configs — team configurations with sub-agents work transparently