adk-acp
Agent Client Protocol (ACP) integration for ADK-Rust. Connect your ADK agents to external ACP agents like Claude Code, Codex, and other ACP-compatible coding agents.
What is ACP?
The Agent Client Protocol standardizes communication between code editors and coding agents. This crate lets ADK agents delegate tasks to ACP agents and optionally expose themselves as ACP-compatible agents.
Installation
[]
= "0.8.1"
# Or via the umbrella crate:
= { = "0.8.1", = ["acp"] }
Quick Start
use AcpAgentTool;
use LlmAgentBuilder;
use Arc;
// Wrap an ACP agent as a tool
let claude = new
.description
.working_dir;
let agent = new
.instruction
.model
.tool
.build?;
Multiple Agents
use ;
let toolset = new
.with_agent
.with_agent;
let agent = new
.toolset
.build?;
How It Works
- When the ADK agent calls the ACP tool, it spawns the ACP agent process via stdio
- Performs the ACP initialization handshake (protocol version negotiation)
- Creates a session with the working directory context
- Sends the prompt and collects the streaming response
- Returns the response as the tool output
Features
| Feature | Description |
|---|---|
| (default) | Client-side: connect to ACP agents as tools |
server |
Server-side: expose ADK agents as ACP-compatible agents |
Supported ACP Agents
Any agent implementing the ACP protocol works, including:
- Claude Code (
claude-code) - Codex (
codex) - Custom agents built with the ACP SDK
License
Apache-2.0