This is an Alpha version still in active development; its structure, interfaces, and functionality are changing frequently as the design evolves. Join the GitHub discussions to help shape it.

ACP (Agent Communication Protocol) is a flexible, design-driven protocol for agent communication, emphasizing ease of use and progressive enhancement.

Explore the API reference or view the complete OpenAPI specification

Features

ACP currently supports the following capabilities:

CapabilityStatus
Agent Discovery🟢 Supported
Agent Statefulness🟢 Supported
Agent Configuration🚧 WIP
Modality support (text, images, artifacts)🟢 Supported
Asynchronous Requests🟢 Supported
Awaits (aka HIL/function calling/interrupts)🟢 Supported
HTTP with REST🟢 Supported
Streaming (via SSE)🟢 Supported

Design Principles

ACP design is guided by the following core principles:

  • Unopinionated: No assumptions about frameworks, agent implementations, or agent states.
  • Progressive Enhancement: Simple initial use, incrementally supporting advanced scenarios.
  • Simplicity: Clear, straightforward, and intuitive by design.
  • Flexibility: Easily adaptable across various use cases.
  • Design-led: Driven by intuitive design rather than extensive documentation.