agentclientprotocol/python-sdk

Python SDK for ACP clients and agents.

What it solves

This project provides a Python SDK for the Agent Client Protocol (ACP), enabling developers to build agents and clients that can communicate using a standardized protocol. It removes the need to manually implement transport layers, JSON-RPC plumbing, and schema validation for ACP-compatible assistants.

How it works

The SDK provides several core components:

  • Schema Models: Generated Pydantic models that ensure payloads remain valid according to the latest ACP releases.
  • Transports: Asyncio-based transports, including stdio JSON-RPC plumbing, to handle the communication between agents and clients.
  • Helper Builders: Tools in acp.helpers for managing content blocks, tool calls, and session updates.
  • Lifecycle Helpers: Base classes and utilities that simplify the creation of custom agents.

Who it’s for

  • Agent Authors: Developers creating ACP-compatible assistants who need typed models and event-stream ergonomics.
  • Client Integrators: Those embedding ACP parties into Python applications or wrapping existing CLIs via stdio.
  • Tooling Teams: Teams experimenting with permission flows, streaming UX, or Gemini bridges.

Highlights

  • Spec Parity: Automatically tracks upstream ACP schema releases via Pydantic models.
  • Runtime Ergonomics: Uses asyncio and base classes to keep custom agent implementations small.
  • Example Gallery: Includes runnable demos for streaming, permissions, and Gemini bridges.
  • Contrib Utilities: Provides session accumulators, tool call trackers, and permission brokers based on real-world deployments.

Related

  • Project
  • Project
  • Project
  • Project
  • Project