Any thoughts on if can integrate support for Google’s “A2A” (Agent2Agent) open protocol?
A2A is an open protocol that complements Anthropic’s Model Context Protocol (MCP), which provides helpful tools and context to agents. A2A protocol is designed to address the challenges identified in deploying large-scale, multi-agent systems. A2A empowers developers to build agents capable of connecting with any other agent built using the protocol and offers users the flexibility to combine agents from various providers. Critically, businesses benefit from a standardized method for managing their agents across diverse platforms and cloud environments. We believe this universal interoperability is essential for fully realizing the potential of collaborative AI agents.
While introducing A2A, Google claims building AI agentic system demands two layers:
- Tools and data integration: Standard ways for agents/LLMs access external sources and tools
- Agent-to-agent communication: A standard way for determines how agents interact with one another
MCP focuses on the first category: organizing what agents, tools, or users send into the model, whereas A2A focuses on the second category: coordination between intelligent agents. On the other hand, by separating tools from agents, Google is able to position A2A as complementary to — rather than in competition with — MCP.
An open protocol enabling communication and interoperability between opaque agentic applications.
One of the biggest challenges in enterprise AI adoption is getting agents built on different frameworks and vendors to work together. That’s why we created an open Agent2Agent (A2A) protocol, a collaborative way to help agents across different ecosystems communicate with each other. Google is driving this open protocol initiative for the industry because we believe this protocol will be critical to support multi-agent communication by giving your agents a common language – irrespective of the framework or vendor they are built on. With A2A, agents can show each other their capabilities and negotiate how they will interact with users (via text, forms, or bidirectional audio/video) – all while working securely together.
See A2A in Action
Watch this demo video to see how A2A enables seamless communication between different agent frameworks.
Conceptual Overview
The Agent2Agent (A2A) protocol facilitates communication between independent AI agents. Here are the core concepts:
- Agent Card: A public metadata file (usually at
/.well-known/agent.json
) describing an agent’s capabilities, skills, endpoint URL, and authentication requirements. Clients use this for discovery. - A2A Server: An agent exposing an HTTP endpoint that implements the A2A protocol methods (defined in the json specification). It receives requests and manages task execution.
- A2A Client: An application or another agent that consumes A2A services. It sends requests (like
tasks/send
) to an A2A Server’s URL. - Task: The central unit of work. A client initiates a task by sending a message (
tasks/send
ortasks/sendSubscribe
). Tasks have unique IDs and progress through states (submitted
,working
,input-required
,completed
,failed
,canceled
). - Message: Represents communication turns between the client (
role: "user"
) and the agent (role: "agent"
). Messages containParts
. - Part: The fundamental content unit within a
Message
orArtifact
. Can beTextPart
,FilePart
(with inline bytes or a URI), orDataPart
(for structured JSON, e.g., forms). - Artifact: Represents outputs generated by the agent during a task (e.g., generated files, final structured data). Artifacts also contain
Parts
. - Streaming: For long-running tasks, servers supporting the
streaming
capability can usetasks/sendSubscribe
. The client receives Server-Sent Events (SSE) containingTaskStatusUpdateEvent
orTaskArtifactUpdateEvent
messages, providing real-time progress. - Push Notifications: Servers supporting
pushNotifications
can proactively send task updates to a client-provided webhook URL, configured viatasks/pushNotification/set
.