Skip to content
agent-protocols

What is A2A (Agent2Agent)?

A2A is an open protocol that lets independent AI agent systems talk to each other. One agent (the client) finds another agent (the remote agent), sends it work, follows progress, and receives results. Neither side needs to know how the other is built.

What A2A means

A2A stands for Agent2Agent. If you searched "agent to agent communication", this is the protocol people usually mean.

Core concepts

Agent Card

A JSON document that describes an agent: identity, endpoint, capabilities, skills and how to authenticate. A client reads it to decide whether this agent can do the job. The specification (1.0.0, Agent Discovery) lists three ways to find a card: the well-known URI https://{server_domain}/.well-known/agent-card.json, registries or catalogs, and direct configuration. To check a card, use the Agent Card validator.

{
  "name": "Writer Agent",
  "description": "Summarizes research notes into short briefs.",
  "version": "1.0.0",
  "capabilities": { "streaming": true },
  "skills": [
    { "id": "summarize", "name": "Summarize notes" }
  ]
}

Trimmed illustration, not a complete or validated card.

Task

A stateful unit of work with a unique ID and a defined lifecycle. States in the 1.0.0 specification include submitted, working, input required, auth required, completed, failed, canceled and rejected.

Message and Part

A message is one turn of communication with a role (user or agent). Its content is a list of parts. A part holds text, raw bytes, a URL to a file, or structured JSON data.

Artifact

A concrete output of a task, such as a document or a data file, made of one or more parts.

Opacity

The remote agent is a black box. The client sees the card, the messages, the task state and the artifacts. It does not see the remote agent's memory, plan or tools. That is how agents from different vendors can cooperate without exposing internals.

Transport

A2A runs over HTTP(S). It supports request and response with polling, streaming with Server-Sent Events, and push notifications through webhooks.

A2A and MCP

A2A does not replace MCP. Use MCP for an agent's tools and data, and A2A between agents. See the comparison, or watch the demo.

Governance

A2A is a Linux Foundation project. The A2A site also mentions the project joining the Agentic AI Foundation; which body governs it today is unverified here, so check the official site.

FAQ

What does A2A mean?
A2A stands for Agent2Agent. It is an open protocol for communication between independent AI agent systems.
What is an A2A Agent Card?
An Agent Card is a JSON document that describes an agent: its identity, endpoint, capabilities, skills and authentication requirements. Other agents read it to decide whether and how to call that agent.
What is a task in A2A?
A task is a stateful unit of work with a unique ID and a lifecycle. It moves through states such as submitted, working, input required and completed, and can produce artifacts.
Are A2A agents transparent to each other?
No. A2A treats a remote agent as opaque. The client sees the card, messages, task state and artifacts, not the remote agent's memory, internal plan or tools.

Sources: a2a-protocol.org, key concepts and specification pages, read 2026-10-20.