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-tokio/ # Tokio utilities (process spawning)
├── 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-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]
tokio[agent-client-protocol-tokio<br/>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]
cookbook[agent-client-protocol-cookbook<br/>Usage patterns]
tokio --> acp
http --> acp
rmcp --> acp
conductor --> acp
conductor --> tokio
cookbook --> acp
cookbook --> rmcp
cookbook --> conductor
- Core Library Design - How
agent-client-protocol,agent-client-protocol-tokio, andagent-client-protocol-rmcpare organized - Conductor Design - How the conductor orchestrates proxy chains
- Protocol Reference - Wire protocol details and extension methods
- P/ACP Specification - The full proxy protocol specification
- Migrating to v0.11 - Upgrade guide from 0.10.x to 0.11