The Agent2Agent (A2A) Protocol is revolutionizing how AI agents communicate and collaborate - enabling seamless interoperability across different frameworks, vendors, and platforms. This repository collects the best resources to help developers build A2A-compatible agents.
Contents
๐ค What is A2A? (Briefly)
A2A (Agent2Agent) is an open protocol from Google and partners enabling different AI agents (from various vendors/frameworks) to communicate securely and collaborate on tasks. It aims to break down silos between isolated agent systems, allowing for more complex cross-application automation.
โญ Official Website: a2aproject.github.io/A2A | โญ Official GitHub: github.com/a2aproject/A2A | ๐ Multilingual Docs (EN/ZH/JA): agent2agent.ren
๐ก Key Principles
- Simple: Uses existing standards (HTTP, JSON-RPC, SSE).
- Enterprise Ready: Focuses on Auth, Security, Privacy, Monitoring.
- Async First: Handles long-running tasks & human-in-the-loop.
- Modality Agnostic: Supports Text, Files, Forms, Streams, etc.
- Opaque Execution: Agents interact without sharing internal logic/tools.
โ๏ธ How Does A2A Work? (High Level)
- Discovery: Agents publish an
Agent Card (JSON) describing capabilities, endpoint, and auth needs.
- Communication: A
Client agent sends a Task request (containing a Message with Parts) to a Remote Agent (Server) using HTTP/JSON-RPC 2.0.
- Execution & Response: The Server processes the task, updating its
status. It responds with the final status and any generated Artifacts (results, also containing Parts).
- Updates: For long tasks, the Server can optionally stream
TaskStatusUpdateEvent or TaskArtifactUpdateEvent via Server-Sent Events (SSE) or use Push Notifications.
For details, see the Official Technical Documentation.
๐ Getting Started with A2A
New to A2A? Here's a suggested path:
- Understand the Basics: Read the sections above (What is A2A?, Key Principles, How it Works). Check the ๐ฐ Announcement Blog Post.
- Explore Core Concepts: Dive into the ๐ Official Technical Documentation, focusing on
Agent Card, Task, Message, Part, and Artifact.
- See it in Action: Watch the ๐ฅ Official Demo Video and explore the code for the ๐ Multi-Agent Web App Demo.
- Run the Samples: Clone the Official Samples Repo and follow its instructions to run a client (like the CLI) and a sample agent (e.g., LangGraph or Genkit agent).
- Review the Code: Look at the
common (Python) or server/ (JS/TS) libraries in the official samples to see how A2A communication is implemented.
๐๏ธ Official Resources
๐ Specification & Core Concepts
(See How Does A2A Work? above for summaries)
- ๐ A2A Technical Documentation - (Full Details) Detailed explanation of actors, transport, auth, core objects (Task, Artifact, Message, Part), Agent Card, etc.
- ๐ JSON Specification - The raw JSON schema definition for A2A structures.
- ๐ก Key Principles (Docs) - Link to the principles section in the official docs.
- ๐ Agent Card Specification (Docs) - Link to the Agent Card section in the official docs.
- ๐บ๏ธ Agent Discovery (Topic) - Discussion on how clients can find agent cards.
- ๐ Push Notifications (Topic) - Details on the push notification mechanism.
- ๐ก๏ธ Enterprise Readiness (Topic) - Discussion on security, auth, privacy aspects.
โ๏ธ Implementations & Libraries
Official Samples
These demonstrate basic A2A client/server communication.
Quick Start
First-time users: try TypeScript Movie Recommendation Agent, Python Hello World, or Go Go Reference Impl โ minimal dependencies and the simplest startup commands.
Framework Integrations (Official Samples)
These show how agents built with specific frameworks can expose an A2A interface.
| Language | Agent Framework | Agent Description | Key A2A Features Demonstrated | Link |
|---|
| ๐ Python | LangGraph | Multi-turn dialogue orchestration | Tools, Streaming, Multi-turn | Link |
| ๐ Python | CrewAI | Multi-role collaboration | Non-textual Artifacts (Files) | Link |
| ๐ Python | Google ADK | Expense reimbursement | Multi-turn, Forms (DataPart) | Link |
| ๐ Python | Semantic Kernel | Tool orchestration | Tools, Multi-turn | Link |
| ๐ Python | AG2 | Mutual agent calls | Agent-to-Agent communication | Link |
| ๐ Python | Azure AI Foundry | Azure AI integration |
Community Implementations
SDKs & Libraries (by language)
- Go
- ๐ a2a-go by @a2aproject
- Official Go SDK for the A2A Protocol with high-level server (a2asrv) and client (a2aclient) APIs, multi-transport support (gRPC, REST, JSON-RPC), extensible architecture, and a CLI tool for agent discovery and messaging.
- ๐ trpc-a2a-go by @trpc-group
- Go A2A implementation by the tRPC team featuring full client/server support, in-memory task management, streaming responses, session management, multiple auth methods (JWT, API Key, OAuth2), and comprehensive examples.
- ๐ a2a-go by @a2aserver
- A Go library for building A2A servers, with example implementations.
Frameworks
Developer-first frameworks specifically designed for building A2A-compliant agents.
- ๐ A2A Lite by @xvierd
- The simplest way to build agents for Google's A2A Protocol. A decorator-based, multi-language (Python, TypeScript, Java) wrapper around the official A2A SDKs with built-in LLM integrations, AgentNetwork delegation, CLI tools, and an in-process test client. MIT licensed and published on PyPI/npm/Maven as a2a-lite.
- ๐ ADK Go by @google
- Google's official open-source, code-first Go toolkit for building, evaluating, and deploying sophisticated AI agents with native A2A protocol support, MCP integration, multi-agent orchestration, and seamless Vertex AI / Gemini interoperability. Apache 2.0.
- ๐ AgentUp by @nolabs-ai
- A developer-first, open-source AI agent framework designed to make agents portable, scalable, and secure. Features configuration-driven architecture, built-in OAuth2/JWT/API key authentication, automatic A2A discovery, asynchronous task management, and support for both A2A and MCP protocols.
Platforms & Integrated Solutions
- ๐ AG2 (AutoGen) by @ag2ai
- Open-source multi-agent framework with native A2A protocol support. Features A2aAgentServer for exposing AG2 agents as A2A services and A2aRemoteAgent for connecting to any A2A-compatible agent. Enables cross-framework interoperability (e.g., with Pydantic AI).
- ๐ Bindu by @GetBindu
- Open-source identity, communication, and payments layer for AI agents. Wrap any handler with bindufy() to add DID identity, A2A protocol (message/send, tasks/get, message/stream), mTLS/OAuth2 security, and USDC/x402 payments. Framework-agnostic with Python, TypeScript, and Kotlin SDKs. Apache 2.0.
- ๐ Agent Stack by @i-am-bee
- Open infrastructure for turning AI agents into running services in minutes. Built on the Agent2Agent (A2A) Protocol so all agents are automatically exposed as A2A-compatible services. Features a self-hostable runtime, 15+ LLM providers, vector storage and RAG, S3-compatible file storage, MCP integrations, secrets management, Web UI, Python SDK, and Helm charts. Apache 2.0, hosted by the Linux Foundation AI & Data program.
๐ ๏ธ Tools & Utilities
This section aims to list standalone tools and utilities related to the A2A protocol. The ecosystem is still developing, and community contributions are welcome!
- Agent Discovery Services
- Some platform-level implementations (like Aira) include agent registration and discovery mechanisms within their features.
- โ๏ธ A2A Agent Registry on AWS by @awslabs
- Scalable serverless agent registry for A2A protocol AgentCards with semantic search (Amazon Bedrock, S3 Vectors), Python SDK, and React Web UI.
- โ๏ธ A2A Registry by @prassanna-ravishankar
- Community-driven, open-source directory of live, hosted A2A agents with web UI, REST API, Python client, MCP server, and health conformance checking.
- โ๏ธ DNS-AID Core by @dns-aid
- DNS-based Agent Identification and Discovery reference implementation (IETF BANDAID draft). Lets agents publish and discover each other via DNS instead of centralized registries, with first-class support for A2A and MCP. Includes CLI and Python SDK, an MCP server, OpenTelemetry integration, and pluggable DNS backends (Route 53, Cloudflare, NS1). Apache 2.0.
๐ Tutorials & Articles
- ๐ Official A2A Conceptual Overview (README) - High-level explanation in the official repo's README.
- ๐ Getting Started Guide (Official README) - Links to docs, spec, samples in the official repo's README.
- ๐ Agent2Agent Protocol Documentation Site - Community-driven, open-source documentation site for the A2A protocol. Built with React/TypeScript, supports English, Chinese, and Japanese. (Source Code)
- ๐ A Survey of AI Agent Protocols - Academic paper surveying existing LLM agent communication protocols (including the category A2A falls into), classifying them, analyzing performance, and discussing future challenges.
- ๐ A2A and MCP Tutorial by @Tsadoq
- A tutorial on how to use Model Context Protocol by Anthropic and Agent2Agent Protocol by Google.
- ๐ AI Agent Protocols Deep Dive by @glaforge - A code-driven deep dive by Guillaume Laforge (Groovy creator, Google Developer Advocate) exploring the agent protocols and Java frameworks essential for LLM-based agents โ practical walkthroughs and demos covering MCP, A2A, ACP, ADK, Arc, Quarkus, and LangChain4j, with a focus on interoperability. Apache 2.0.
๐ฌ Demos & Examples
๐ Related Protocols & Concepts
- ๐ฆ Model Context Protocol (MCP) - Complementary protocol focused on providing tools/context to agents. (A2A and MCP Discussion).
- ๐ฌ AAMP (Agent Asynchronous Messaging Protocol) by @larksuite
- Mailbox-native open protocol and SDKs (Go, Node.js, Python) for asynchronous agent-to-agent collaboration over email/SMTP and JMAP. Complements real-time A2A with durable, store-and-forward messaging and universal addressing.
- ๐ Lingua Universale by @rafapra3008 - Formal verification DSL for AI agent protocols using multiparty session types. Complementary to A2A: verify message sequence correctness at spec time..
- ๐ Function Calling / Tool Use Standards - Community contributions welcome: Discussion on patterns, best practices, or relevant standards for function calling/tool use in conjunction with A2A.
๐ฌ Community
Let's Make Awesome A2A More Useful, Together!
A2A is still pretty new, and good resources or practical tips can be scattered. We created this list to bring the good stuff together, making it easier for everyone to find, learn, and reference.
Keeping this list high-quality and up-to-date relies on the community:
- โญ Star it: If you find it useful, it's a great way to show support and makes it easy to find later.
- โ Share what you find: Found a great library, article, tool, or even a common pitfall? Add it via an Issue or PR โ let's build this resource together.
- ๐ฃ Spread the word: Let others know about this list if they're exploring or working with A2A.
Thanks for your interest and contributions!
Contributing
Contributions are welcome! ๐ Please read the contributing guidelines first. Let's build this list together!