Appearance
Awesome A2A Directory
Contents
- 📋 Overview
- 🚀 Getting Started
- 📚 Resources
- 💻 Implementations
- 🎴 AgentCard
- 🤝 Community Implementations
- 👥 Community
- 🤝 Contributing
Overview
A2A (Agent2Agent) is an open protocol from Google enabling AI agents to communicate securely and collaborate. It breaks down silos between isolated agent systems, allowing for complex cross-application automation.
Key Features:
- 🎯 Simple: Uses HTTP, JSON-RPC, SSE
- 🏢 Enterprise Ready: Focuses on security and privacy
- ⚡ Async First: Handles long-running tasks
- 🔄 Modality Agnostic: Supports text, files, forms, streams
- 🔒 Opaque Execution: Agents interact without sharing internal logic
Official Links:
- 🌐 Website: google.github.io/A2A
- 📦 GitHub: github.com/google/A2A
Getting Started
Learn the Basics
- 📖 Read the technical documentation
- 🎥 Watch the demo video
Run Samples
- 📥 Clone the official repo
- 📝 Follow instructions in
/samples
Build Your Own
- 🛠️ Use official libraries or adapt samples
- 🏗️ Start with a basic A2A agent or client
Resources
Official Documentation
Community Documentation
- 🇺🇸 A2A TypeScript Guide - A comprehensive guide for implementing A2A in TypeScript
- 🇺🇸 A2A vs MCP - Comparison between A2A and Model Context Protocol
- 🇺🇸 Understanding A2A Protocol - Deep dive into A2A protocol concepts
- 🇺🇸 A2A Sample Methods and JSON Responses - Detailed examples of A2A methods and responses
- 🇺🇸 Python A2A: A powerful and easy-to-use library for implementing Google's Agent2Agent (A2A) protocol - Link
- 🇨🇳 A2A 协议介绍 - A2A 协议的中文介绍
Implementations
Official Samples
Python
- 🐍 Common Library: Core HTTP, JSON-RPC, SSE handling - Link
- 🐍 Host (Client): Command-line client example - Link
- 🐍 Host (Agent): Orchestrator agent delegating to A2A agents - Link
JavaScript/TypeScript
- 🚀 Server Library: Core server implementation - Link
- 🚀 Client Library: Client implementation - Link
- 🚀 Host (Client): Command-line client example - Link
Community Implementations
Name | Author | Description |
---|---|---|
legion-a2a | @TheRaLabs | A TypeScript implementation of the A2A protocol with a focus on modularity and extensibility |
a2a-go | @a2aserver | A Go library for building A2A servers, with example implementations |
a2a-rs | @EmilLindfors | An idiomatic Rust implementation following hexagonal architecture principles |
a2a_min | @pcingola | A minimalistic Python SDK for A2A communication |
a2adotnet | @azixaka | A C#/.NET implementation of the A2A protocol |
nestjs-a2a | @thestupd | A module for integrating the A2A protocol into NestJS applications |
python-a2a | @themanojdesai | An easy-to-use Python library for implementing the A2A protocol |
Aira | @IhateCreatingUserNames2 | An A2A network implementation for hosting, registering, discovering, and interacting with agents |
Cognisphere | @IhateCreatingUserNames2 | An AI agent development framework built on Google's ADK, facilitating agent creation potentially for A2A networks |
Framework Integrations
Python
- 🐍 LangGraph: Currency conversion (Features: Tools, Streaming, Multi-turn) - Link
- 🐍 CrewAI: Image generation (Features: Non-textual Artifacts (Files)) - Link
- 🐍 Google ADK: Expense reimbursement (Features: Multi-turn, Forms (DataPart)) - Link
- 🐍 Python A2A: A powerful and easy-to-use library for implementing Google's Agent2Agent (A2A) protocol - Link
JavaScript/TypeScript
- 🚀 Genkit: Movie info / Code generation (Features: Tools, Artifacts (Files), Async) - Link
Community Samples
JavaScript/TypeScript
- 🚀 a2a-agent-coder: A Coder Agent implementation with A2A Server and Client - Link
AgentCard
Community
Contributing
Related Articles
- Understanding A2A Protocol: A Comprehensive Guide
- A2A Protocol Development Guide(TypeScript)
- A2A vs MCP: The Protocol Revolution in AI Architecture
Goto A2A