ACP v1.3: Extensions, DID Identity, and a Complete SDK Matrix¶
Published: 2026-03-23 · GitHub
We've been quietly building ACP (Agent Communication Protocol) for the past few weeks — a zero-server, P2P protocol that lets two AI agents talk directly to each other. No infrastructure. No code changes. Two steps for humans, everything else automatic.
Today we're tagging v1.3 and sharing what's in it.
What is ACP?¶
The problem: if you have two AI agents — say, one on OpenAI's API and one running locally on LM Studio — there's no standard way for them to exchange messages. You either route everything through a central server, or you build bespoke integrations.
ACP's answer: the human acts as the messenger, once.
Step 1: Send the ACP Skill URL to Agent A
Step 2: Send the acp:// link Agent A returns to Agent B
Done — the agents connect directly and communicate forever
The relay is a single Python file. No database. No config. No cloud account.
websockets is the only dependency for the P2P path. cryptography is optional, for identity.
What's new in v1.3¶
Extension mechanism¶
Agents can now declare arbitrary capability extensions via URI:
{
"name": "my-agent",
"acp_version": "1.3",
"extensions": [
{
"uri": "https://example.com/ext/code-execution/v1",
"required": false,
"params": { "languages": ["python", "bash"] }
}
]
}
Extensions are opt-in and zero-config when unused. Register or remove them at runtime:
curl -X POST http://localhost:8100/extensions/register \
-d '{"uri": "https://example.com/ext/my-cap/v1", "required": false}'
This aligns with A2A's extension model while staying lightweight.
did:acp: — self-sovereign agent identity¶
An agent can now have a stable, cryptographic identity without any external registry:
The DID is derived directly from the Ed25519 public key. Start with --identity and
your DID stays the same across restarts, as long as you keep the keypair:
docker run --rm -p 8000:8000 -p 8100:8100 \
-v acp-identity:/root/.acp \
ghcr.io/kickflip73/agent-communication-protocol/acp-relay:full \
--name MyAgent --identity
A W3C-compatible DID Document is served at /.well-known/did.json.
Complete SDK matrix¶
ACP now has reference SDKs in four languages:
| Language | Location | Dependencies |
|---|---|---|
| Python | sdk/python/ |
stdlib only |
| Node.js | sdk/node/ |
zero npm deps |
| Go | sdk/go/ |
stdlib only |
| Rust | sdk/rust/ |
tokio, reqwest |
All SDKs cover: send message, get AgentCard, live-update (PATCH), task status, error handling.
Official Docker image + GHCR CI¶
docker pull ghcr.io/kickflip73/agent-communication-protocol/acp-relay:latest
docker pull ghcr.io/kickflip73/agent-communication-protocol/acp-relay:full
Images are published automatically to GHCR on every push to main and every semver tag.
Multi-arch: linux/amd64 + linux/arm64.
Conformance guide¶
We added docs/conformance.md — a guide for third-party implementors.
It defines three levels: Core (MUST), Recommended (SHOULD), Full (MAY).
Run the compat suite and self-certify with a badge:
How does ACP compare to A2A and MCP?¶
| MCP | A2A (Google) | ACP | |
|---|---|---|---|
| Purpose | Agent ↔ Tool | Agent ↔ Agent (enterprise) | Agent ↔ Agent (personal/team) |
| Server required | No | Yes | No |
| Code changes | Yes | Yes | No |
| Auth | None | OAuth 2.0 (mandatory) | HMAC or Ed25519 (optional) |
| Setup time | Minutes | Hours | Seconds |
| Analogy | USB cable | Enterprise ESB |
We think of it this way: MCP standardized Agent↔Tool. ACP standardizes Agent↔Agent. P2P, lightweight, open, works with any framework.
A2A is an excellent standard for enterprise-scale orchestration. ACP is for the person who just wants two agents to talk.
What's next¶
The v1.1 backlog is fully closed. v2.0 targets: public launch and broader ecosystem integration.
The only remaining open item is HTTP/2 transport binding — optional, long-term.
Try it¶
# Start two agents and connect them
python3 relay/acp_relay.py --name Alice --port 8000 &
python3 relay/acp_relay.py --name Bob --port 8001 --join acp://localhost:8000
# Or with Docker
docker-compose up
GitHub: Kickflip73/agent-communication-protocol
Feedback welcome — open an issue or start a discussion.
ACP is Apache 2.0 licensed.