Chisle
The coding-agent plugin that bills 52% of a bare model across 20 live tasks. Terse persona + tool-output compressor + context diet.
Design and architecture documentation for the Agent Client Protocol Rust SDK
Developer toolsGitHub @agentclientprotocolOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Repository information has not been collected yet.
No updates detected yet. GitHub releases will appear here.
Rust SDK for ACP clients and agents.
Loading the full README.
Read the full README ↗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-http – HTTP/SSE and WebSocket transports.agent-client-protocol-rmcp – Integration with the rmcp MCP SDK.agent-client-protocol-derive – Derive macros used by the core crate.Native MCP-over-ACP support is currently opt-in through the core crate's
unstable_mcp_over_acp feature. Standalone MCP servers need no ACP transport
feature; the rmcp integration exposes a matching passthrough feature when those
servers are attached to ACP. Stable protocol v1 supports per-session and global
proxy attachment. Draft protocol v2 supports the same two attachment scopes
when both unstable_protocol_v2 and unstable_mcp_over_acp are enabled:
Proxy.v2().with_mcp_server(...) injects a global declaration into each
supported session setup request, while
v2::SessionBuilder::with_mcp_server(...) attaches a server to one new session
and v2::ResumeSessionBuilder::with_mcp_server(...) attaches one while resuming.
With unstable_session_fork, v2::ForkSessionBuilder::with_mcp_server(...)
attaches one while forking. Successful v2 attachments remain active for the
connection lifetime, and all three builders expose on_proxy_session_start to
forward proxied setup without coupling later session events to that response.
Proxy orchestration
agent-client-protocol-conductor – Binary and library that manages chains of proxy components.agent-client-protocol-polyfill – Compatibility proxies, including adapting native MCP-over-ACP declarations to HTTP for agents that cannot consume them directly.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/.Every connection names its protocol version: Client.v1(), Agent.v1(), and
Proxy.v1() start stable-v1 connections, and their .v2() counterparts select
the draft-v2 API. The matching types live in agent_client_protocol::v1 and
agent_client_protocol::v2, which export the same names (ConnectionTo,
Builder, Responder, SessionBuilder, ...). With unstable_protocol_v2,
use Proxy.protocol_router() to expose separate strict v1 and v2 proxy
implementations as one component. Custom raw routing infrastructure can use
Builder::new(role), which applies no protocol-version guard.
acp-kotlin – supports JVM, other targets are in progressagent-client-protocol - See the stable-v1 agent and client, or the draft-v2 agent and client examples@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.