Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

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:

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