Expand description
§adk-acp — Agent Client Protocol integration for ADK-Rust
Connect ADK agents to external ACP agents (Claude Code, Codex, etc.) and optionally expose ADK agents as ACP-compatible agents for IDE connections.
§Quick Start
ⓘ
use adk_acp::AcpAgentTool;
use adk_agent::LlmAgentBuilder;
use std::sync::Arc;
// Wrap Claude Code as a tool your agent can delegate to
let claude = AcpAgentTool::new("claude-code")
.description("Delegate complex coding tasks to Claude Code");
let agent = LlmAgentBuilder::new("orchestrator")
.instruction("Use claude-code for complex refactoring tasks.")
.model(model)
.tool(Arc::new(claude))
.build()?;§What is ACP?
The Agent Client Protocol standardizes communication between code editors (IDEs, CLIs) and coding agents. It enables:
- Tool use: Agents can request permission to use tools
- Streaming responses: Real-time content delivery
- Session management: Multi-turn conversations with context
- Proxy chains: Middleware that intercepts/transforms messages
§Features
default: Client-side only (connect to ACP agents)server: Expose ADK agents as ACP-compatible agents
Re-exports§
pub use connection::AcpAgentConfig;pub use connection::prompt_agent;pub use connection::prompt_agent_with_policy;pub use error::AcpError;pub use error::Result;pub use permissions::PermissionDecision;pub use permissions::PermissionPolicy;pub use permissions::PermissionRequest;pub use session::AcpSession;pub use session::PromptResult;pub use status::AgentStatus;pub use status::StatusTracker;pub use streaming::OutputChunk;pub use streaming::OutputStream;pub use streaming::stream_prompt;pub use tool::AcpAgentTool;pub use toolset::AcpToolset;pub use usage::AcpUsage;pub use usage::AcpUsageStats;pub use usage::UsageTracker;pub use agent_client_protocol;
Modules§
- connection
- ACP connection management.
- error
- Error types for ACP integration.
- permissions
- Permission handling for ACP agent tool calls.
- session
- Persistent ACP session with connection reuse.
- status
- Agent status state machine for ACP sessions.
- streaming
- Streaming output from ACP agent sessions.
- tool
- ACP agent wrapped as an ADK Tool.
- toolset
- ACP toolset — multiple ACP agents as a single ADK Toolset.
- usage
- Usage tracking for ACP agent invocations.