Skip to main content

Command line interface for the Agent Communication Protocol (ACP)

Project description

ACP — Agent Communication Protocol CLI

Command-line interface for ACP identity management, discovery, and message delivery. ACP (Agent Communication Protocol) is a secure, identity-driven protocol for autonomous systems to communicate, collaborate, and coordinate across environments. Unlike traditional API integrations or message brokers, ACP is designed for AI agents operating in dynamic, distributed ecosystems. This project is not related to other packages using the acronym "ACP"

HTTP is for services. ACP is for agents.

What is ACP?

ACP provides:

  • Identity-first communication between agents
  • Signed and optionally encrypted message envelopes
  • Transport independence (HTTP, AMQP, MQTT)
  • Relay-based routing across network boundaries
  • Capability-driven interaction patterns

This enables agents to discover each other, exchange messages, and collaborate without tight coupling.

What ACP Is Not

  • Not a message broker.
  • Not a JSON schema format.
  • Not a framework-specific tool protocol.

Why ACP?

Modern systems are evolving from services into autonomous agents. Current approaches (REST APIs, webhooks, point-to-point messaging) lead to:

  • brittle integrations
  • hidden coupling
  • limited interoperability
  • lack of governance

ACP introduces a protocol layer for agent communication, similar to how HTTP enabled the web.

When to Use ACP

Use ACP when:

  • autonomous agents need to communicate across teams, runtimes, or network boundaries
  • identity and message verification are required at the protocol level
  • you want one protocol across direct and relay delivery paths

ACP may be unnecessary when:

  • one application calls one service with stable, tightly controlled APIs
  • plain HTTP/REST already solves the integration with low coordination overhead

ACP vs Typical Approaches

Approach Good fit Gaps for autonomous agent communication
REST APIs stable service-to-service calls endpoint coupling and custom identity/discovery conventions
Webhooks event callbacks delivery and trust rules vary by implementation
Message brokers high-throughput internal messaging broker-specific semantics, no shared agent protocol layer
Agent tool protocols tool invocation inside one framework often framework-scoped, not cross-runtime protocol contracts
ACP cross-agent protocol with identity + secure envelopes adds protocol concepts not needed for trivial single-service cases

SDK Installation Parity

Status labels used in this repo:

  • Published
  • Available from repo
  • Coming

| SDK | Status | | Python (acp-runtime) | Published| | TypeScript (acp-runtime) | Published| | Rust (acp) | Available from repo| | Go (github.com/acp/sdk-go) | Available from repo| | Java (io.acp:acp-sdk) | Available from repo | | Mojo wrapper (acp-sdk-mojo) | Available from repo |

No SDK in this repository snapshot is currently labeled Coming.

Repo Structure

  • getting-started/: verified local ping flow
  • examples/: runnable demos (hello_world_agent.py, one-to-one, one-to-many, capabilities)
  • sdks/: language SDK implementations
  • cli/: ACP CLI (acp)
  • relay-dev/: developer relay for local/test routing

Open Source Scope

This repository is for learning, local development, and interoperability testing.


Install

Published packages:

pip install acp-runtime acpctl

From this repository:

pip install -e sdks/python -e cli

Check installation:

acp --help

First run

Use the repository quickstart ping flow:

./getting-started/quickstart_ping.sh

Details: getting-started/README.md.

Common commands

acp identity create --agent-id agent:demo.bot@localhost:9010 --direct-endpoint http://localhost:9010/acp/inbox
acp message send --from agent:demo.bot@localhost:9010 --to agent:peer.bot@localhost:9011 --payload-json '{"type":"ping"}' --delivery-mode direct --allow-insecure-http
acp message capabilities --from agent:demo.bot@localhost:9010 --to agent:peer.bot@localhost:9011 --allow-insecure-http

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

acpctl-0.1.3.tar.gz (28.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

acpctl-0.1.3-py3-none-any.whl (34.3 kB view details)

Uploaded Python 3

File details

Details for the file acpctl-0.1.3.tar.gz.

File metadata

  • Download URL: acpctl-0.1.3.tar.gz
  • Upload date:
  • Size: 28.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for acpctl-0.1.3.tar.gz
Algorithm Hash digest
SHA256 ceec0190ee536e0849867bf7cb401c96e8f98fabebd6a3a81b1513bb13e3a656
MD5 a4e99a3b5cdc45fd0875db5ec0ea13ef
BLAKE2b-256 3222504351e226b89a4d772d6b6f980866dad58f34b9ddbbd80a17e6aecc8d88

See more details on using hashes here.

File details

Details for the file acpctl-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: acpctl-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 34.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for acpctl-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 8426ae3d316d391b7d6f07c9c6685a65f59815ca17ce737b98162fa1324cd6fb
MD5 f8f1d5bb2195735c5d14a59e4a2b4bb9
BLAKE2b-256 3522c08ed268d0b1145962fab848e74cf678994a3fb867751dd57682a609a2ca

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page