v1.0.0 Stable — Production Ready

The Complete A2A Protocol Guide

Master the Agent-to-Agent Protocol — the open standard by Google and the Linux Foundation for seamless AI agent communication across any framework.

150+Organizations Adopted
8Steering Committee Members
v1.0.0March 2026 Stable Release

A2A Architecture Planner

Select your agent frameworks, count, and communication pattern to generate an A2A integration blueprint.

Select the frameworks your agents are built with.
Between 2 and 12 agents in your system.
How agents communicate with each other.
Configure your agent system and click
Generate A2A Blueprint

How the A2A Protocol Works

A2A uses HTTP and JSON-RPC to enable four core capabilities for multi-agent systems.

🔍

Agent Discovery

Agents publish Agent Cards — JSON metadata describing capabilities, skills, and endpoints. Other agents discover them via well-known URLs or registries.

🔒

Trust & Handshakes

Built-in authentication and authorization using OAuth 2.0, API keys, or mutual TLS. Agents negotiate trust before exchanging data.

💬

Message Exchange

Structured JSON-RPC messages with support for text, files, structured data, and streaming. Conversation context is maintained across turns.

🚀

Task Delegation

Agents can create, assign, and track tasks with status updates (submitted, working, completed, failed). Long-running tasks support async callbacks.

A2A vs MCP vs Custom Protocols

Understanding when to use each protocol. A2A and MCP are complementary, not competing.

Feature A2A Protocol MCP (Model Context Protocol) Custom / Proprietary
Purpose Agent-to-Agent communication Model-to-Tool connectivity Varies per implementation
Scope Autonomous agent collaboration Tool invocation & data access Single vendor ecosystem
Transport HTTP + JSON-RPC stdio / HTTP + SSE Varies (gRPC, REST, WebSocket)
Discovery Agent Cards (JSON metadata) Server capabilities negotiation Manual configuration
Cross-framework Yes — framework agnostic Yes — via standard interface No — vendor lock-in
Task Management Built-in task lifecycle Not applicable Custom implementation
Streaming SSE-based streaming SSE support Implementation-dependent
Auth & Trust OAuth 2.0, API keys, mTLS Basic auth support Custom auth
Governance Linux Foundation (open) Anthropic (open spec) Vendor-controlled
Adoption 150+ organizations Growing ecosystem Single vendor
Best For Multi-agent orchestration Connecting models to tools/data Internal, tightly-coupled systems

Key insight: Use MCP to give your agents capabilities (tools, data), and A2A to let your agents collaborate with each other.

A2A Protocol Timeline

From Google announcement to Linux Foundation governance and the stable v1.0 release.

April 2025

Google Announces A2A

Google unveils the Agent-to-Agent Protocol with 50+ launch partners. The first draft specification is published targeting interoperability between AI agent frameworks like LangChain, CrewAI, and AutoGen.

June 2025

Donated to Linux Foundation

Google donates A2A to the Linux Foundation for vendor-neutral governance. A Technical Steering Committee is formed with AWS, Cisco, Google, IBM, Microsoft, Salesforce, SAP, and ServiceNow.

Q3–Q4 2025

Community Growth & Iteration

The specification undergoes rapid iteration based on community feedback. Early adopters deploy A2A in beta environments. SDK support expands to Python, TypeScript, Java, Go, and .NET.

March 12, 2026

v1.0.0 — Stable Release

The first production-ready version of A2A is released. Over 150 organizations have adopted the protocol. The specification is stabilized with backward compatibility guarantees.

Quick Start: A2A Protocol Tutorial

Get started with A2A in minutes. Define your agent, expose an endpoint, and start communicating.

# Step 1: Install the A2A Python SDK
# pip install a2a-sdk

from a2a import AgentServer, AgentCard, Task, Message

# Step 2: Define your Agent Card
card = AgentCard(
    name="ResearchAgent",
    description="An agent that researches topics and returns summaries",
    url="https://my-agent.example.com",
    skills=[{
        "id": "research",
        "name": "Topic Research",
        "description": "Research any topic and provide a summary",
    }],
    auth_schemes=[{"type": "bearer"}]
)

# Step 3: Handle incoming tasks
async def handle_task(task: Task) -> Task:
    query = task.messages[-1].content.text
    result = await do_research(query)  # Your logic

    task.add_message(Message(
        role="agent",
        content={"text": result}
    ))
    task.status = "completed"
    return task

# Step 4: Start the A2A server
server = AgentServer(card=card, handler=handle_task)
server.run(port=8080)
// Step 1: Install the A2A TypeScript SDK
// npm install @a2a/sdk

import { AgentServer, AgentCard, Task } from '@a2a/sdk';

// Step 2: Define your Agent Card
const card: AgentCard = {
  name: "CodeReviewAgent",
  description: "Reviews code and suggests improvements",
  url: "https://code-agent.example.com",
  skills: [{
    id: "review",
    name: "Code Review",
    description: "Review code for bugs, style, and performance",
  }],
  authSchemes: [{ type: "apiKey" }],
};

// Step 3: Handle incoming tasks
async function handleTask(task: Task): Promise<Task> {
  const code = task.messages.at(-1)!.content.text;
  const review = await analyzeCode(code);

  task.addMessage({
    role: "agent",
    content: { text: review },
  });
  task.status = "completed";
  return task;
}

// Step 4: Start the A2A server
const server = new AgentServer({ card, handler: handleTask });
server.listen(8080);
// .well-known/agent.json
// This file is served at your agent's root URL
// Other agents discover your capabilities via this card
{
  "name": "ResearchAgent",
  "description": "An agent that researches topics and returns summaries",
  "url": "https://my-agent.example.com",
  "version": "1.0.0",
  "protocol": "a2a/1.0",
  "skills": [
    {
      "id": "research",
      "name": "Topic Research",
      "description": "Research any topic and provide a structured summary",
      "inputSchema": {
        "type": "object",
        "properties": {
          "topic": { "type": "string" },
          "depth": { "type": "string", "enum": ["brief", "detailed"] }
        }
      }
    }
  ],
  "authSchemes": [
    { "type": "bearer", "in": "header" }
  ],
  "endpoints": {
    "tasks": "/a2a/tasks",
    "messages": "/a2a/messages"
  }
}

150+ Organizations Trust A2A

From the Technical Steering Committee to enterprise adopters, A2A has broad industry support.

Technical Steering Committee

AWS
Cisco
Google
IBM
Microsoft
Salesforce
SAP
ServiceNow

Notable Adopters

Accenture
Atlassian
Box
Broadcom
C3 AI
Cohere
Databricks
Datadog
Deloitte
Elastic
HubSpot
Intuit
LangChain
MongoDB
NVIDIA
Oracle
Palantir
PayPal
Snowflake
Splunk
Twilio
UiPath
Workday
Zoom

And 120+ more organizations across enterprise, startup, and open-source ecosystems.

Frequently Asked Questions

Common questions about the A2A Protocol, its capabilities, and how to get started.

What is the A2A Protocol?
A2A (Agent-to-Agent) is an open standard for communication between AI agents across different frameworks. It uses HTTP and JSON-RPC for agent discovery, trust negotiation, message exchange, and task delegation. Originally announced by Google in April 2025 with 50+ partners, it was donated to the Linux Foundation in June 2025 and reached its first stable release (v1.0.0) on March 12, 2026.
What is the difference between A2A and MCP?
A2A (Agent-to-Agent Protocol) handles communication between autonomous AI agents, enabling them to discover, negotiate with, and delegate tasks to each other. MCP (Model Context Protocol) connects AI models to external tools and data sources. They are complementary: MCP gives agents capabilities (tools, databases, APIs), while A2A lets agents collaborate with each other. A well-architected system uses both.
Who created the A2A Protocol?
Google originally announced A2A in April 2025 with over 50 launch partners. In June 2025, it was donated to the Linux Foundation for vendor-neutral governance. The Technical Steering Committee includes AWS, Cisco, Google, IBM, Microsoft, Salesforce, SAP, and ServiceNow, ensuring no single vendor controls the protocol's direction.
Is A2A Protocol production-ready?
Yes. A2A v1.0.0 was released on March 12, 2026 as the first stable, production-ready version. It includes backward compatibility guarantees and has been adopted by over 150 organizations for production multi-agent systems. The specification is now governed by the Linux Foundation with a formal release process.
What frameworks work with A2A?
A2A is framework-agnostic and works with LangChain, CrewAI, AutoGen, Google ADK (Agent Development Kit), LlamaIndex, custom agents, and any system that can speak HTTP/JSON-RPC. It was specifically designed to solve fragmentation across these different agent ecosystems, enabling agents built with different frameworks to communicate seamlessly.
How do I get started with A2A Protocol?
Start by creating an Agent Card — a JSON metadata file describing your agent's capabilities and endpoints. Host it at /.well-known/agent.json. Then set up a JSON-RPC endpoint to handle incoming tasks and messages. Install the official SDK (pip install a2a-sdk or npm install @a2a/sdk) and implement the core handler. Use the Architecture Planner at the top of this page to design your multi-agent topology.