# agent-client-protocol

> A Python implement of Agent Client Protocol (ACP, by Zed Industries)

- **URL**: https://www.freshcrate.ai/projects/agent-client-protocol
- **Author**: pypi
- **Category**: RAG & Memory
- **Latest version**: `0.10.1` (2026-05-24)
- **License**: Unknown
- **Source**: https://github.com/agentclientprotocol/python-sdk
- **Homepage**: https://pypi.org/project/agent-client-protocol/
- **Language**: Python
- **GitHub**: 229 stars, 28 forks
- **Registry**: pypi (`agent-client-protocol`)
- **Tags**: `pypi`, `python`

## Description

<a href="https://agentclientprotocol.com/">
  <img alt="Agent Client Protocol" src="https://zed.dev/img/acp/banner-dark.webp">
</a>

# Agent Client Protocol (Python)

Build ACP-compliant agents and clients in Python with generated schema models, asyncio transports, helper builders, and runnable demos.

> Releases track the upstream ACP schema; contributions that tighten coverage or tooling are always welcome.

## Install

```bash
pip install agent-client-protocol
# or
uv add agent-client-protocol
```

## At a glance

- **Spec parity:** Generated Pydantic models in `acp.schema` track every ACP release so payloads stay valid.
- **Runtime ergonomics:** Async base classes, stdio JSON-RPC plumbing, and lifecycle helpers keep custom agents tiny.
- **Examples ready:** Streaming, permissions, Gemini bridge, and duet demos live under `examples/`.
- **Helper builders:** `acp.helpers` mirrors the Go/TS SDK APIs for content blocks, tool calls, and session updates.
- **Contrib utilities:** Session accumulators, tool call trackers, and permission brokers share patterns from real deployments.

## Who benefits

- Agent authors who need typed models, helper builders, and event-stream ergonomics for ACP-compatible assistants.
- Client integrators embedding ACP parties inside Python applications or wrapping existing CLIs via stdio.
- Tooling teams experimenting with permission flows, streaming UX, or Gemini bridges without re-implementing transports.
See real adopters like kimi-cli in the [Use Cases list](https://agentclientprotocol.github.io/python-sdk/use-cases/).

## How to get started

- Follow the [Quickstart guide](https://agentclientprotocol.github.io/python-sdk/quickstart/) for installation, echo-agent validation, editor wiring (e.g. Zed), and programmatic launch recipes.
- Browse the [example gallery](https://github.com/agentclientprotocol/python-sdk/tree/main/examples) to see progressively richer integrations you can copy or extend.
- Skim the [docs hub](https://agentclientprotocol.github.io/python-sdk/) for focused references on contrib helpers, releasing, and transport details.

## Quick links

| Need               | Link                                                                   |
|--------------------|------------------------------------------------------------------------|
| Docs hub           | <https://agentclientprotocol.github.io/python-sdk/>                    |
| Quickstart         | <https://agentclientprotocol.github.io/python-sdk/quickstart/>         |
| Use cases          | <https://agentclientprotocol.github.io/python-sdk/use-cases/>          |
| Contrib helpers    | <https://agentclientprotocol.github.io/python-sdk/contrib/>            |
| Releasing workflow | <https://agentclientprotocol.github.io/python-sdk/releasing/>          |
| Examples           | <https://github.com/agentclientprotocol/python-sdk/tree/main/examples> |
| Tests              | <https://github.com/agentclientprotocol/python-sdk/tree/main/tests>    |
| PyPI               | <https://pypi.org/project/agent-client-protocol/>                      |

## Project layout

- `src/acp/`: runtime package (agents, clients, transports, helpers, schema bindings, contrib utilities)
- `schema/`: upstream JSON schema sources (regenerate via `make gen-all`)
- `docs/`: MkDocs content backing the published documentation
- `examples/`: runnable scripts covering stdio orchestration patterns
- `tests/`: pytest suite with golden fixtures and optional Gemini coverage

## Developer commands

- `make install` provisions the `uv` virtualenv and installs pre-commit hooks.
- `make check` runs Ruff formatting/linting, type analysis, dependency hygiene, and lock verification.
- `make test` executes `pytest` (with doctests) inside the managed environment.
- `ACP_SCHEMA_VERSION=<ref> make gen-all` refreshes protocol artifacts when the schema advances.

Keep docs and examples current whenever you ship public API or transport changes, and prefer Conventional Commits (`feat:`, `fix:`, etc.) when submitting patches.

## Community & support

- File issues or feature requests at <https://github.com/agentclientprotocol/python-sdk>.
- Discuss ideas or get help via GitHub Discussions: <https://github.com/agentclientprotocol/python-sdk/discussions>.
- Join the broader ACP conversations at <https://agentclientprotocol.com/>, the Zed community channels, or the community Zulip: <https://agentclientprotocol.zulipchat.com/>.
- Shared learnings, integrations, or third-party transports are welcome additions to the documentation—open a PR!

## Recent releases

| Version | Date | Urgency | Changes |
| --- | --- | --- | --- |
| `0.10.1` | 2026-05-24 | High | ## What's Changed * chore(deps): bump urllib3 from 2.6.3 to 2.7.0 in the uv group across 1 directory by @dependabot[bot] in https://github.com/agentclientprotocol/python-sdk/pull/96 * chore(deps): bump pymdown-extensions from 10.16.1 to 10.21.3 in the uv group across 1 directory by @dependabot[bot] in https://github.com/agentclientprotocol/python-sdk/pull/99 * chore(deps): bump idna from 3.11 to 3.15 in the uv group across 1 directory by @dependabot[bot] in https://github.com/agentclientproto |
| `0.10.0` | 2026-05-07 | High | ## What's Changed * chore(deps): bump uv from 0.9.7 to 0.11.6 in the uv group across 1 directory by @dependabot[bot] in https://github.com/agentclientprotocol/python-sdk/pull/88 * chore(deps-dev): bump pytest from 8.4.2 to 9.0.3 in the uv group across 1 directory by @dependabot[bot] in https://github.com/agentclientprotocol/python-sdk/pull/89 * fix: reject pending requests on EOF to prevent infinite hang by @simonrosenberg in https://github.com/agentclientprotocol/python-sdk/pull/86 * chore( |
| `0.9.0` | 2026-04-21 | Low | Imported from PyPI (0.9.0) |
| `0.9.0a1` | 2026-03-19 | Low | ## What's Changed * fix(docs): correct nested agent server entry in Quickstart uv example by @ftnext in https://github.com/agentclientprotocol/python-sdk/pull/77 * feat(examples): Add PEP 723 metadata to echo_agent for just `uv run` by @ftnext in https://github.com/agentclientprotocol/python-sdk/pull/76 * chore(deps): bump black from 25.9.0 to 26.3.1 in the uv group across 1 directory by @dependabot[bot] in https://github.com/agentclientprotocol/python-sdk/pull/79 * feat(schema): upgrade ACP |
| `0.8.1` | 2026-02-13 | Low | ## What's Changed * chore(deps): bump the uv group across 1 directory with 4 updates by @dependabot[bot] in https://github.com/agentclientprotocol/python-sdk/pull/65 * feat: add protocol method for `session/set_config_option` by @Nemtecl in https://github.com/agentclientprotocol/python-sdk/pull/69  ## New Contributors * @dependabot[bot] made their first contribution in https://github.com/agentclientprotocol/python-sdk/pull/65 * @Nemtecl made their first contribution in https://github.com/a |
| `0.8.0` | 2026-02-07 | Low | ## What's Changed * feat: bump acp schema version to 0.10.5 by @stdrc in https://github.com/agentclientprotocol/python-sdk/pull/52 * fix: remove TerminalHandle by @frostming in https://github.com/agentclientprotocol/python-sdk/pull/56 * docs: Add missing prop to settings.json in ACP quickstart, add uv example by @jacoblee93 in https://github.com/agentclientprotocol/python-sdk/pull/57 * feat: Increase default stdio buffer limit and allow configuration by @jacoblee93 in https://github.com/agen |
| `0.7.1` | 2025-12-28 | Low | ## What's Changed * feat: Update schema to v0.10.3, support fork_session and resume_session unstable API by @frostming in https://github.com/agentclientprotocol/python-sdk/pull/48 * fix: align create_terminal return type with runtime handle by @PsiACE in https://github.com/agentclientprotocol/python-sdk/pull/50 * chore: bump version to 0.7.1 by @PsiACE in https://github.com/agentclientprotocol/python-sdk/pull/53   **Full Changelog**: https://github.com/agentclientprotocol/python-sdk/compar |
| `0.7.0` | 2025-12-04 | Low | ## Highlights    - First official release after joining the agentclientprotocol org.   - Major Pythonic refactor and API polish with help from @frostming; snake_case     naming and schema-driven method generation across the SDK.    ## What's Changed    - fix: not support 3.14 yet by @yihong0618 in https://github.com/agentclientprotocol/python-sdk/pull/23   - chore: try to support py314 by @PsiACE in https://github.com/agentclientprotocol/python-sdk/pull/24   - docs: fix all the broke |
| `0.6.3` | 2025-11-03 | Low | ## What's Changed * feat: improve type annotations in RequestError methods by @2725244134 in https://github.com/PsiACE/agent-client-protocol-python/pull/17 * fix: preserve _meta during ACP serialization by @PsiACE in https://github.com/PsiACE/agent-client-protocol-python/pull/20 * feat: follow agent-client-protocol 0.6.3 by @PsiACE in https://github.com/PsiACE/agent-client-protocol-python/pull/21  ## New Contributors * @2725244134 made their first contribution in https://github.com/PsiACE/ |
| `0.6.2` | 2025-10-25 | Low | - follow the agent-client-protocol 0.6.x -> 0.6..2   - Add ability for agents and clients to provide information about their implementation - minor update for examples |

## Dependency audit

- **Score**: 76/100
- **Total deps**: 3
- **Resolved**: 0
- **Unresolved**: 3
- **License conflicts**: 0
- **Warnings**: 2
- **Scanned**: 2026-05-11

## Citation

- HTML: https://www.freshcrate.ai/projects/agent-client-protocol
- Markdown: https://www.freshcrate.ai/projects/agent-client-protocol.md
- Dependencies JSON: https://www.freshcrate.ai/api/projects/agent-client-protocol/deps

_Generated by freshcrate.ai. Indexes pypi releases for AI-agent ecosystem packages._
