Core Concepts
Overview
High-level overview and capabilities of ACP.
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:
Capability | Status |
---|---|
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.