
We’re starting to see GenAI move toward standardization, similar to how HTTP transformed the internet in the early 1990s. Just as HTTP enabled the rise of the World Wide Web, new protocols are emerging.
- In 2024, Anthropic introduced MCP (Model Context Protocol) to define how large language models interact with external tools and APIs.
- Building on that foundation, ACP (Agent Communication Protocol) emerged in April 2025 to address a new challenge: how AI agents communicate with each other. Since then, ACP has gained traction across the ecosystem, with implementations like Google’s A2A (Google’s enterprise-scale implementation of ACP), the open-source BeeAI project under the Linux Foundation, and cross-framework applications connecting agents built in LangGraph and Autogen.
Below, we define the Agent Communication Protocol (ACP) and explain its application in real-world scenarios of multi-agent AI systems designed for collaborative task execution and cross-agent communication.
The challenge: Fragmented agent interactions
Suppose you’re building a lightweight multi-agent system to automate weekly data reporting. You have three basic agents, each focused on a specific task:
- Agent 1 (Data Fetcher) connects to spreadsheets, databases, and dashboards to pull website traffic.
- Agent 2 (Analyzer) cleans and processes the data.
- Agent 3 (Report Writer) takes the insights and formats them into plain-language summaries.
So, each agent is good at its job, but they don’t have a common way to exchange task context or results. Without a shared protocol, connecting them requires custom code and tightly coupled integrations. This makes it harder to update, reuse, or scale the system.
How does ACP bridge the communication gap?

Source: Jahgirdar, Manoj2
How ACP enables interoperable agent communication
ACP enables structured communication between agents by allowing one to initiate a task and another to receive and process it.
In this model, roles are dynamic any agent can initiate or respond to a task depending on the context.
For instance, the supervisor agent (the ACP client) may delegate a task to a web research agent (the ACP server/remote agent).
Similarly, in a different workflow, that same web research agent can initiate a request for additional data from another agent. This flexibility allows agents to operate independently while still collaborating through a framework-agnostic, REST-based protocol.
You can think of it like a browser requesting a service, but instead of fetching HTML, agents exchange structured tasks and responses.
Below are three foundational capabilities that make this possible:
How do agents collaborate with ACP?
Discovery → Task Assignment → Communication → Task Progress → Completion

Source: descope3
1. Capability discovery
The client agent begins by requesting the AgentCard from the remote agent. This JSON-based document describes the remote agent’s capabilities, supported task types, and how to authenticate and communicate with it.
This allows agents to dynamically discover and select collaborators, much like Kubernetes service discovery or microservice registries.
2. Task assignment
Once the client identifies the agent’s capabilities, it sends a structured task assignment. This includes metadata, task context, and instructions based on a shared schema defined by ACP.
3. Message exchange
Agents exchange messages as needed to carry out the task.
ACP supports asynchronous communication between agents via RESTful task exchanges. Agents can emit, receive, and respond to tasks without needing shared memory, tightly coupled logic, or complex coordination layers.
This enables collaboration across heterogeneous systems, whether you’re using LangChain, Autogen, BeeAI, or custom-built agents.
4. Task progress & updates
The remote agent processes the task and periodically sends status updates back to the client. This allows the client to track the task’s lifecycle in real time.
5. Task completion
Once the task is complete, the remote agent sends a final response (called an artifact) that represents the output of the task (e.g., a summary, report, or generated content).
Key ACP features
- Supports REST-based communication: ACP relies on standard HTTP protocols, making it easy to integrate with existing infrastructure and compatible with widely used web tools.
- Supports any data format: Agents can exchange content such as text, JSON, images, audio, video, or other file types using MIME headers to specify the format.
- Enables integration with or without SDKs: Developers can use ACP with basic tools like curl or Postman, or integrate it into applications using official SDKs in Python, TypeScript, and other languages.
- Enables offline and embedded agent discovery: Agents can share their capabilities through embedded AgentCards, allowing other agents to discover them even when running in limited or disconnected environments.
- Handles asynchronous tasks with synchronous fallback: ACP supports long-running tasks with status updates, while still allowing fast, real-time responses when needed.https://agentcommunicationprotocol.dev/introduction/welcome[/aim_list
For technical details and core concepts, see the official documentation.
Current challenges of ACP
While ACP offers a promising foundation for interoperable agent communication, the protocol and ecosystem are still evolving. As adoption grows, several challenges remain:
- Incomplete tooling and SDK support: Although SDKs exist in Python and TypeScript, full-featured developer tooling such as testing utilities, logging frameworks, and language-specific integrations is still maturing.
- Lack of widespread standardization: While ACP defines a minimal standard, different teams may implement it with slight deviations.
- Limited ecosystem awareness: ACP is relatively new. Many developers and organizations still default to building custom agent communication layers due to a lack of awareness or ecosystem maturity.
- Authentication and authorization complexity: ACP supports open authentication schemes, but practical cross-org security and policy alignment (e.g., multi-tenant auth or fine-grained access control) remain a work in progress.
- Agent observability: ACP doesn’t yet have a standardized approach for observing inter-agent interactions. This could make debugging difficult.
Real-world ACP applications
1. Travel planning via multi-agent execution graph
What ACP enables: Multi-agent coordination and cross-platform tool integration
Real-world example: Researchers implemented a travel planning agent system where a user query (e.g., planning a trip to Tokyo) is decomposed into a Directed Acyclic Graph (DAG).
Each node in this graph is handled by a separate agent. For example:- A₃ handles flight search
- A₂ finds popular neighborhoods
- A₅ identifies hotel options in those areas
- A₁ checks the weather
- A₄ suggests activities
- A₆ locates restaurants based on hotel and activity zones
Agents used ACP to exchange task context and partial results, triggering downstream steps only when prerequisite data is ready.
This protocol ensured that task context and data are transferred reliably, and agents can retry or reroute tasks if another agent fails.4
2. Decentralized restaurant booking with agent teams
What ACP enables: Modular agent orchestration and dynamic service discovery
Real-world example: Research created an agent collaboration protocol for the Internet of agents simulating a restaurant booking system.
In this example, four distinct agents were used:
- UI Agent: interfaces with the end user
- Availability Agent: checks venue booking slots
- Policy Agent: validates input against business rules
- Confirmation Agent: finalizes and confirms the booking
Each agent runs independently and communicates via ACP-style messaging. This enables a composable system design without requiring changes to other agents or the coordination logic.5
Multi-agent collaboration for a restaurant booking and travelling application scenario 3. Cross-framework travel planning with LangGraph and Autogen
What ACP Enables: Flexible agent replacement and interoperability across frameworks
In enterprise environments, different teams often adopt different agent frameworks. Getting these agents to work together typically requires custom bridges, tightly coupled code, or one-off APIs. ACP simplifies this by providing a shared, protocol-based interface that allows agents to exchange tasks and context regardless of how they were built.
Real-world example: A travel assistant system was developed using LangGraph and Microsoft AutoGen, with collaboration facilitated through ACP.
Based on a high-level overview of the system architecture:
- ACP Client: Sends HTTP requests to invoke agents and manage interactions with the ACP server.
- ACP Server: coordinates agents and routes tasks across LangGraph and Autogen.
- MCP Server: Provides access to external tools (such as weather, search, and flight APIs), allowing agents to retrieve data.
Thus, ACP handles agent-to-agent communication, while MCP handles agent-to-tool interactions.6
External Links
- 1. A Visual Guide to Agent2Agent (A2A) Protocol. Daily Dose of Data Science
- 2. AI Agent Interoperability: Building Framework-Agnostic Multi-Agent Systems | by Manoj Jahgirdar | Medium. Medium
- 3. MCP vs. A2A.
- 4. [2505.14569] Agent Context Protocols Enhance Collective Inference.
- 5. [2505.13523] ACPs: Agent Collaboration Protocols for the Internet of Agents.
- 6. Building Interoperable AI Agents with Agent Communication Protocol (ACP) | by Manoj Jahgirdar | Medium. Medium
Comments
Your email address will not be published. All fields are required.