Catalog PyPI
PACKAGE EXPLORERView in registry

acp-runtime

PyPI

ACP (Agent Communication Protocol) runtime for building secure, interoperable AI agents

acpagentagentsaicommunicationprotocolsdk
Versions collected1
Direct dependencies9From release 0.1.8
Last observed20 Oct, 18:23 UTC

README

Version 0.1.8 documentation

ACP — Agent Communication Protocol - version 0.1.8

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. ACP SDKs across languages are interoperable and implement the same protocol semantics.

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

ApproachGood fitGaps for autonomous agent communication
REST APIsstable service-to-service callsendpoint coupling and custom identity/discovery conventions
Webhooksevent callbacksdelivery and trust rules vary by implementation
Message brokershigh-throughput internal messagingbroker-specific semantics, no shared agent protocol layer
Agent tool protocolstool invocation inside one frameworkoften framework-scoped, not cross-runtime protocol contracts
ACPcross-agent protocol with identity + secure envelopesadds protocol concepts not needed for trivial single-service cases

SDK Installation Parity

Status labels used in this repo:

  • Published
  • Available from repo
  • Experimental
  • Bridge-based
  • Coming
SDKStatus
Python (acp-runtime)Published
TypeScript (acp-runtime)Published
Rust (acp-runtime)Published
Go (github.com/beltxa/acp/sdks/go)Available from repo
Java (tech.co-operate:acp-runtime)Published
Mojo wrapper (acp-sdk-mojo)Bridge-based

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 package:

pip install acp-runtime

From this repository:

pip install -e sdks/python

Minimal demo

Canonical single-file Hello World:

python3 -m venv .venv
source .venv/bin/activate
pip install -e sdks/python
python examples/hello_world_agent.py

Fast local ping flow:

./getting-started/quickstart_ping.sh

SDK capabilities

  • create/load agent identities
  • sign and verify identity documents
  • build and send ACP messages over direct or relay paths
  • request and compare agent capabilities
  • use HTTP, AMQP, and MQTT transports

v0.1.0 : Initial release - Unstable

v0.1.1 : Bug Fixing

v0.1.2 : Bug Fixing

v0.1.3 : Bug Fixing

v0.1.4 : First stable release

v0.1.5 : Introduced concept of "tenant" to allow differentiation of multiple agents with the same name

v0.1.6 : Renamed "tenant" to "namespace" for clarity. Added transport authentication specifications

v0.1.8 : Propagated envelope namespace through agent send paths and response messages

Downloads & popularity

Awaiting observations

No metric observations yet

Download counts and popularity will appear here as the collector receives them.

Versions 1

Collected releases
VersionPublishedDirect dependenciesOpen version
0.1.86 Jul 20269

Package advisories

0
No matching advisories collected

This describes our collected data; it is not a security assessment.

Repository

PENDING
beltxa/acp

Shared repository data · GitHub

License detected in repository
Not collected

Metadata history

Meaningful changes
Current collected state Current

Observed since 20 Oct, 18:23 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package:e5635bcfcd0cb0ac3e26d40c33114eed185c83b5bce1e05304ec25970b6e065d