Protocol
ACP
Type
Spec
Stars
4.6k
License
Apache-2.0
Last push
Nov 7, 2026
Source
Official

Agent Client Protocol ACP spec

by agentclientprotocol• 4.6k•

Specification, schema and Rust crate for connecting editors to agents

About Agent Client Protocol

Agent Client Protocol is an open-source ACP spec by agentclientprotocol, written mainly in Rust. Specification, schema and Rust crate for connecting editors to agents. It has 4,597 GitHub stars and uses the Apache-2.0 license, and its code was last pushed on Nov 7, 2026.

New to ACP? Our ACP Protocol guide explains how it works and lists other projects built on it.

At a glance

Protocol
ACP
Type
Spec
Language
Rust
License
Apache-2.0
GitHub stars
4,597
Last push
Nov 7, 2026

Listed from public GitHub data, checked 2026-11-08. Not scanned by AgenticMart.

Questions about Agent Client Protocol

What is Agent Client Protocol?

Specification, schema and Rust crate for connecting editors to agents It is listed as a ACP spec, maintained in the agentclientprotocol/agent-client-protocol repository on GitHub.

How do I install Agent Client Protocol?

The README in agentclientprotocol/agent-client-protocol has the setup steps. Clone the repository with git clone https://github.com/agentclientprotocol/agent-client-protocol.git and follow its instructions.

Is Agent Client Protocol an official ACP project?

Yes. It is published by the organisation that runs ACP or by its official project.

What license does Agent Client Protocol use?

It is published under the Apache-2.0 license. Check the license file in the repository before using it commercially.

Is Agent Client Protocol still maintained?

Its code was last pushed on Nov 7, 2026, and it had 4,597 GitHub stars when we checked on 2026-11-08. Look at recent issues and releases in the repository for a fuller picture.

README

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

Agent Client Protocol

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.

Rust Crate and Schema Artifacts

This repository's root Rust crate is agent-client-protocol-schema. It provides the Rust data model for ACP wire messages, including request, response, notification, JSON-RPC envelope, and protocol-version types. Use this crate when you need direct access to ACP protocol types, schema-oriented tooling, or code generation inputs.

If you are implementing a Rust ACP agent or client, start with the higher-level agent-client-protocol runtime crate instead. That crate provides the client and agent runtime APIs for ACP integrations; this schema crate is the lower-level protocol type surface.

Generated JSON Schema artifacts live in schema/v1 and schema/v2. When a schema release is published, the versioned .json files are also attached to the corresponding schema-v* GitHub release, which is the recommended download surface for SDK generators and other release automation.

Versioning

The Rust crate version and JSON Schema release versions describe the Rust crate and JSON Schema artifacts themselves. The Rust crate is published to crates.io, while the versioned JSON Schema files are attached to GitHub releases rather than published as crates. These versions follow the compatibility expectations of those artifacts: Rust APIs, generated schema structure, artifact layout, and other details that downstream SDKs or code generators may consume.

The current stable ACP protocol version is 1.

ACP wire compatibility is determined separately by the protocol version exchanged during initialize via protocolVersion. The version field in the versioned schema/*/meta*.json files also describes the ACP protocol version that the corresponding schema represents.

This means two versions of the JSON Schema artifacts can describe the same wire-compatible ACP protocol version while having different schema structure for SDK generators. For example, a release might change how definitions are organized, named, or emitted in the JSON Schema in a way that affects downstream code generation without changing the JSON messages exchanged by ACP clients and agents.

Consumers should not infer wire compatibility from the crate or schema release version alone. Use the negotiated protocolVersion to determine the ACP wire protocol shape and breaking-compatibility level. Within a protocol version, use the exchanged capabilities to decide which optional ACP messages and features are supported. Use artifact versions to manage compatibility with this repository's Rust and schema outputs.

Integrations

Contributing

ACP is a protocol intended for broad adoption across the ecosystem; we follow a structured process to ensure changes are well-considered. Read the Contributing Guide for more information.

Contribution Policy

This project does not require a Contributor License Agreement (CLA). Instead, contributions are accepted under the following terms:

By contributing to this project, you agree that your contributions will be licensed under the Apache License, Version 2.0. You affirm that you have the legal right to submit your work, that you are not including code you do not have rights to, and that you understand contributions are made without requiring a Contributor License Agreement (CLA).

More ACP projects

All 20 →