The Agent Client Protocol (ACP) standardizes communication between code editors (interactive programs for viewing and editing source code) and coding agents (programs that use generative AI to autonomously modify code).
Learn more at agentclientprotocol.com.
This repository is the official Rust SDK for ACP. It provides crates for building clients, agents, and proxies, plus a conductor that orchestrates chains of proxies between an editor and an agent so that behavior can be extended without modifying the agent itself.
Core SDK
agent-client-protocol – Roles (Client, Agent, Proxy, Conductor), connection builders, handlers, and protocol types.agent-client-protocol-tokio – Tokio utilities for spawning agent processes and wiring stdio transports.agent-client-protocol-rmcp – Integration with the rmcp MCP SDK.agent-client-protocol-derive – Derive macros used by the core crate.Proxy orchestration
agent-client-protocol-conductor – Binary and library that manages chains of proxy components.agent-client-protocol-trace-viewer – Interactive sequence-diagram viewer for conductor trace files.Patterns, examples, and testing
agent-client-protocol-cookbook – Practical patterns for clients, agents, and proxies, rendered as rustdoc.agent-client-protocol-test – Shared test utilities and fixtures.yopo – "You Only Prompt Once", an example client.md/.acp-kotlin – supports JVM, other targets are in progressagent-client-protocol - See examples/agent.rs and examples/client.rs@agentclientprotocol/sdk - See examples/Pull requests should intend to close an existing issue.
By contributing, you agree that your contributions will be licensed under the Apache 2.0 License.
$ claude mcp add rust-sdk \
-- python -m otcore.mcp_server <graph>