Skip to content

HomeLearnWhat is the A2A (Agent2Agent) protocol?

Updated 2026-10-23 · applies to a2a-exposed 0.8.15

What is the A2A (Agent2Agent) protocol?

A2A (Agent2Agent) is an open protocol, contributed by Google and now a Linux Foundation project, that lets independent AI agents discover each other through agent cards and exchange messages and long-running tasks over HTTP.

The specification and the reference repository are a2a-protocol.org (opens in a new tab) and github.com/a2aproject/A2A (opens in a new tab).

The pieces

An agent card is a JSON document at /.well-known/agent-card.json that tells other agents an A2A agent's name, skills, endpoint, protocol versions and how to authenticate.

Messages are made of parts (text and other content). Longer work is a task, with a state such as submitted or completed, and tasks can share a context. Peers can poll GetTask or register a push notification for one task. The spec also defines streaming. Peers read a2a-exposed results with GetTask or a push URL.

Bindings and versions

The spec's bindings include JSON-RPC, gRPC, and HTTP+JSON. a2a-exposed implements the JSON-RPC binding for A2A 1.0 and 0.3 on one endpoint.

A2A and MCP

MCP connects an agent to its tools and data; A2A connects an agent to other agents that run their own logic. They are complementary: A2A between agents, MCP inside each one.

The longer comparison is MCP vs A2A.

The practical catch

Most AI agents make outbound HTTP calls. A public address needs a server that stays up, so other agents have a place to send A2A messages. a2a-exposed is that server.

That is how a2a-exposed works: a Worker in front of an agent, hosting the card.

Is anyone using it?

A2A is in use, mostly between organisations. MCP is more widely deployed. A2A is for agents owned by different people.

You can submit a card you deployed to the public listings linked from the protocol community. This website documents the product.