A2A (Agent2Agent Protocol) integration and support? - new open protocol enabling communication and interoperability between agentic AI applications (that is complementary to the MCP protocol)

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 or tasks/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 contain Parts.
  • Part: The fundamental content unit within a Message or Artifact. Can be TextPart, FilePart (with inline bytes or a URI), or DataPart (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 use tasks/sendSubscribe. The client receives Server-Sent Events (SSE) containing TaskStatusUpdateEvent or TaskArtifactUpdateEvent messages, providing real-time progress.
  • Push Notifications: Servers supporting pushNotifications can proactively send task updates to a client-provided webhook URL, configured via tasks/pushNotification/set.

Hi

Open with Google ?? seriously ?? :joy: lifetime of it before google decides to drop it ?

Vincèn

Look up MCP in comparison -

Right now, the general consensus is MCP is good for Tool to Agent, while A2A is good for Agent to Agent. (Go figure)

but.

MCP Prompt is basically Agent to Agent sooo… a tool could be another agent - and when you mix in SSE as transport, it gets VERY blurry. (I can serve an MCP tool over SSE)

and.

The only implementation of A2A right now is one reference library - while MCP already has MCP tool on both server and client and MCP Prompt is either there or coming according to some of the commits I’ve seen in the MCP integration.

So yes, something like this that allows agents to connect is inevetable. Is it A2A? Maybe -

Should HA support it - probably. :slight_smile:

1 Like

No need to put it down in advance. It is developed as an ”open protocol" (as in an open standard) and released under an free/open license, so it not a proprietary product that only Google will develop.

You might have heard of the Thread protocol (or OpenThread) and the Matter standard which are other open standards that Google is one of the major drivers of. Google has also develoment several other open protocols and open standards that they released and driven in similar manors, as well as contributed to and joined other projects that create open-source software or technologies.

So you can say what about Google’s own commercial products but they are at least pretty good at getting many other companies involved to make open standards and get those companies to collaborate across ecosystems, and another benefit of that is that Google has a lot of money to drive such a project and can pay people to spend time on the boring stuff like administrator and documentation.

By the way, these are the other companies that they lined up so far to support it:

1 Like