A2A (Agent2Agent) Protocol High-Level Summary

Link

A2A

Blog Post

Technical Documentation

MCP

MCP is the protocol to connect these agents with their structured tools (e.g. raise platform by 2 meters, turn wrench 4 mm to the right).

A2A

A2A is the protocol that enables end-users or other agents to work with the shop employees ("my car is making a rattling noise"). A2A enables ongoing back-and-forth communication and an evolving plan to achieve results ("send me a picture of the left wheel", "I notice fluid leaking. How long has that been happening?"). A2A also helps the auto shop employees work with other agents such as their part suppliers.

DEMO REPO

Repo

This project defines and demonstrates the Agent2Agent (A2A) protocol, an open standard initiated by Google designed to enable communication and interoperability between disparate AI agent systems. The core goal is to allow agents built on different frameworks (e.g., LangGraph, CrewAI, Google ADK, Genkit) or by different vendors to discover each other's capabilities, negotiate interaction modes (text, forms, files, potentially audio/video later), and collaborate on tasks.

The repository provides:

  1. Formal Specification: A detailed JSON Schema (specification/json/a2a.json) defining the structure of A2A messages, including requests, responses, task states, artifacts, and agent metadata (Agent Cards).
  2. Core Concepts Documentation (Implied): Links in the main README suggest documentation covering agent discovery, task lifecycle, artifact exchange, streaming updates, push notifications, and enterprise readiness.
  3. Sample Implementations:
  4. Demo Web Application: A web UI (demo/ui, likely using Mesop) demonstrating multi-agent interactions facilitated by the A2A protocol, including visualization of conversations, tasks, events, and agent discovery. It features a backend service coordinating with the host agent.

Key features of the A2A protocol highlighted by the specification and samples include: agent discovery via Agent Cards, standardized task management (send, get, cancel), support for different content types (text, files, structured data) via Parts and Artifacts, streaming updates for long-running tasks, and mechanisms for push notifications. The project is open source and encourages community contribution.

A2A (Agent2Agent) Protocol

1. Overview

2. Protocol Specification (specification/json/a2a.json)

2.1. Core JSON-RPC Structures

2.2. Key A2A Data Objects

2.3. A2A RPC Methods

2.4. Streaming Update Events (Result of tasks/sendSubscribe or tasks/resubscribe)

2.5. Standard Error Codes

2.6. A2A Specific Error Codes

3. Core Concepts

4. Implementations & Samples

4.1. Common Libraries

4.2. Python Samples

4.3. JavaScript/TypeScript Samples

4.4. Demo Application (demo/)

5. Development & Setup

6. Contribution