This repository contains the Rust SDK for the Agent-Client Protocol (ACP).
If you want to build something with these crates, see the rustdoc:
agent-client-protocol- Core SDK for building clients, agents, and proxiesagent-client-protocol-cookbook- Practical patterns and examplesagent-client-protocol-conductor- Running proxy chains
The agent-client-protocol crate includes a concepts module that explains how connections, sessions, callbacks, and message ordering work.
This book documents the design and architecture for people working on the codebase itself.
src/
├── agent-client-protocol/ # Core protocol SDK
├── agent-client-protocol-http/ # HTTP/SSE/WebSocket transport
├── agent-client-protocol-rmcp/ # Integration with rmcp crate
├── agent-client-protocol-cookbook/ # Usage patterns (rendered as rustdoc)
├── agent-client-protocol-derive/ # Proc macros
├── agent-client-protocol-conductor/ # Conductor binary and library
├── agent-client-protocol-polyfill/ # MCP-over-ACP transport compatibility
├── agent-client-protocol-test/ # Test utilities and fixtures
├── agent-client-protocol-trace-viewer/ # Trace visualization tool
└── yopo/ # "You Only Prompt Once" example client
graph TD
acp[agent-client-protocol<br/>Core SDK, stdio, process spawning]
http[agent-client-protocol-http<br/>HTTP/SSE/WebSocket transport]
rmcp[agent-client-protocol-rmcp<br/>rmcp integration]
conductor[agent-client-protocol-conductor<br/>Proxy orchestration]
polyfill[agent-client-protocol-polyfill<br/>MCP transport compatibility]
trace[agent-client-protocol-trace-viewer<br/>Trace visualization]
cookbook[agent-client-protocol-cookbook<br/>Usage patterns]
http --> acp
rmcp --> acp
conductor --> acp
conductor --> trace
polyfill --> acp
cookbook --> acp
cookbook --> rmcp
cookbook --> conductor
- Core Library Design - How the core crate and its transport and integration crates are organized
- Transport Architecture - The frame-aware boundary shared by transports and in-process components
- Conductor Design - How the conductor orchestrates proxy chains
- Protocol Reference - Wire protocol details and extension methods
- MCP Bridge - Adapting native MCP-over-ACP for HTTP-capable agents
- Original P/ACP Design Proposal - Historical design context; not the current wire reference
- Migrating to v2.0 - Upgrade guide from 1.x to 2.0
- Migrating to v0.11 - Upgrade guide from 0.10.x to 0.11