Architecture
Overview of the core architecture behind the Agent Communication Protocol
The Agent Communication Protocol (ACP) provides a standardized interface for agent communication, enabling seamless interaction between clients and servers, as well as between multiple agents in complex systems. This page explains the architectural patterns that ACP supports, from simple deployments to sophisticated multi-agent ecosystems.
Core Components
An ACP client can be used by an ACP agent, application, or other service that makes requests to an ACP server using the ACP protocol.
An ACP server can host one or more ACP agents that executes requests and returns results to the client using the ACP protocol. The purpose of the ACP server is to expose agents through a REST interface.
ACP servers and clients can be deployed in any combination—a single process can act as both a server (handling incoming requests) and a client (making outbound requests to other agents).
Basic Single-Agent
The simplest ACP deployment connects a client directly to a single agent via a REST interface over HTTP. This pattern is ideal for direct communication with a single specialized agent, lightweight setups with minimal infrastructure requirements, development and debugging environments, proof-of-concept implementations.
The ACP Server wraps the agent and exposes an HTTP endpoint, the agent is invoked and returns responses in the standardized ACP format.
Multi-Agent Single Server
An ACP Server can host multiple agents behind a single HTTP endpoint. Each agent is individually addressable through the server’s routing mechanism, which uses agent metadata to determine the appropriate handler.
Benefits:
- Resource efficiency - shared server infrastructure
- Simplified deployment - single service to manage
- Centralized logging and monitoring
- Consistent authentication and authorization
When to use:
- Agents share similar resource requirements
- Related agents that benefit from co-location
- Development environments with multiple test agents
Distributed Multi-Server Architecture
In distributed architectures, an ACP client can discover and communicate with multiple independent servers, each hosting one or more agents. This pattern enables:
- Scalability: independent scaling of different agent types, load distribution across multiple servers, fault isolation between services
- Flexibility: different deployment environments per agent,technology stack diversity, independent development and deployment cycles
Advanced Multi-Agent Orchestration
Advanced ACP deployments support sophisticated multi-agent architectures for complex workflows. The Router Agent pattern is a common design where a central agent:
- Decomposes complex requests into specialized sub-tasks
- Routes tasks to appropriate specialist agents
- Aggregates responses into cohesive results
- Uses its own tools and those exposed by downstream agents via the MCP extension
The router pattern is one of many multi-agent designs; ACP supports flexible topologies—agents can be composed, chained, or coordinated to suit your application’s needs.