Agent Client Protocol Rust SDK
This repository contains the Rust SDK for the Agent-Client Protocol (ACP).
For Users
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.
For Maintainers and Agents
This book documents the design and architecture for people working on the codebase itself.
Repository Structure
src/
├── agent-client-protocol/ # Core protocol SDK
├── agent-client-protocol-tokio/ # Tokio utilities (process spawning)
├── 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
Crate Relationships
graph TD
acp[agent-client-protocol<br/>Core SDK]
tokio[agent-client-protocol-tokio<br/>Process spawning]
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
rmcp --> acp
conductor --> acp
conductor --> tokio
cookbook --> acp
cookbook --> rmcp
cookbook --> conductor
Key Design Documents
- 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