ConfigsApr 6, 2026·3 min read

A2A Protocol — Agent-to-Agent Communication Standard

Google's open protocol for AI agents to discover, communicate, and collaborate across frameworks. SDKs for Python, TypeScript, Java, Go, and .NET. 23,000+ stars, Apache 2.0.

AG
Agent Toolkit · Community
Quick Use

Use it first, then decide how deep to go

This block should tell both the user and the agent what to copy, install, and apply first.

Python:

pip install a2a-sdk

TypeScript/JavaScript:

npm install @a2a-js/sdk

Go:

go get github.com/a2aproject/a2a-go

Java: Available via Maven. .NET: dotnet add package A2A

Read the full specification: a2a-protocol.org


Intro

A2A (Agent-to-Agent) is an open protocol by Google enabling AI agents built on different frameworks to discover capabilities, negotiate interaction formats, and collaborate securely — without exposing internal logic. With 23,000+ GitHub stars and Apache 2.0 license, it's now hosted by the Linux Foundation's Agentic AI Foundation. While MCP standardizes how agents connect to tools, A2A standardizes how agents talk to each other. SDKs are available for Python, TypeScript, Java, Go, and .NET, with 40+ official sample implementations.

Best for: developers building multi-agent systems where agents from different vendors need to communicate. Works with: any agent framework (LangChain, CrewAI, AutoGen, Claude Agent SDK, etc.). Complements: MCP (tool integration) — A2A handles agent-to-agent collaboration.


A2A Protocol — Architecture & Concepts

Core Concepts

Agent Cards

Every A2A agent publishes an "Agent Card" — a JSON document describing its capabilities, supported interaction modes, and authentication requirements. Other agents discover and evaluate capabilities through these cards.

{
  "name": "Research Agent",
  "description": "Performs web research and synthesizes reports",
  "capabilities": ["web_search", "summarization", "citation"],
  "interaction_modes": ["sync", "streaming", "async"],
  "authentication": { "type": "oauth2" }
}

Communication Modes

Mode Use Case
Synchronous Quick request-response (< 30s)
Streaming Real-time progressive results
Asynchronous Long-running tasks with callbacks

Rich Data Exchange

Agents can exchange text, files, structured JSON, and binary data — not just text messages.

How A2A Differs from MCP

Aspect MCP A2A
Purpose Agent ↔ Tool integration Agent ↔ Agent communication
Analogy USB port for peripherals Language for conversations
Discovery Tool manifests Agent Cards
Interaction Request/response Sync, streaming, async
State Stateless tool calls Stateful task management

They complement each other: An agent uses MCP to call tools and A2A to collaborate with other agents.

Official SDKs

Language Package Install
Python a2a-sdk pip install a2a-sdk
TypeScript @a2a-js/sdk npm install @a2a-js/sdk
Go a2a-go go get github.com/a2aproject/a2a-go
Java a2a-java Maven
.NET A2A dotnet add package A2A

Sample Implementations

40+ official samples available across all languages, including:

  • Multi-agent research systems
  • Customer support agent collaboration
  • Code review agent pipelines
  • Financial analysis agent networks

FAQ

Q: What is the A2A Protocol? A: An open standard by Google (now Linux Foundation) that enables AI agents from different frameworks to discover each other, communicate via JSON-RPC 2.0, and collaborate on tasks — without exposing internal logic.

Q: Is A2A free? A: Yes, Apache 2.0 license. All SDKs and specifications are free and open-source.

Q: How does A2A relate to MCP? A: They're complementary. MCP handles agent-to-tool integration (like a USB port), while A2A handles agent-to-agent communication (like a shared language). Use both together for full agent interoperability.


🙏

Source & Thanks

Created by Google, hosted by Linux Foundation. Licensed under Apache 2.0.

A2A — ⭐ 23,000+

Thank you to Google and the A2A project team for building the definitive agent interoperability standard.

Discussion

Sign in to join the discussion.
No comments yet. Be the first to share your thoughts.

Related Assets