awesome-a2a

Agent2Agent (A2A) – awesome A2A agents, tools, servers & clients, all in one place.

373
29
<div align="center"> <h2 align="center">✨ Awesome A2A (Agent2Agent Protocol) ✨</h2> <p align="center"> <img src="assets/banner.png" alt="Awesome A2A Banner - Abstract network or connection graphic" width="600"> </p> <p> <a href="README.md">English</a> | <a href="README_zh.md">简体中文</a> | <a href="README_ja.md">日本語</a> | <a href="README_es.md">Español</a> | <a href="README_de.md">Deutsch</a> | <a href="README_fr.md">Français</a> <!-- Add other languages here like: | <a href="README_de.md">Deutsch</a> --> </p> <p align="center"> A curated list of awesome resources, implementations, tools, and examples related to the Google Agent2Agent (A2A) Protocol for AI agent interoperability. </p> <h4 align="center"> <a href="https://awesome.re"> <img src="https://awesome.re/badge.svg" alt="Awesome" /> </a> <a href="CONTRIBUTING.md"> <!-- Link to your contributing file --> <img src="https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square" alt="PRs Welcome" /> </a> </h4> </div>

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: google.github.io/A2A | ⭐ Official GitHub: github.com/google/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)

  1. Discovery: Agents publish an Agent Card (JSON) describing capabilities, endpoint, and auth needs.
  2. Communication: A Client agent sends a Task request (containing a Message with Parts) to a Remote Agent (Server) using HTTP/JSON-RPC 2.0.
  3. Execution & Response: The Server processes the task, updating its status. It responds with the final status and any generated Artifacts (results, also containing Parts).
  4. 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:

  1. Understand the Basics: Read the sections above (What is A2A?, Key Principles, How it Works). Check the 📰 Announcement Blog Post.
  2. Explore Core Concepts: Dive into the 📖 Official Technical Documentation, focusing on Agent Card, Task, Message, Part, and Artifact.
  3. See it in Action: Watch the 🎥 Official Demo Video and explore the code for the 🌐 Multi-Agent Web App Demo.
  4. 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).
  5. Review the Code: Look at the common (Python) or server/client (JS/TS) libraries in the official samples to see how A2A communication is implemented.
  6. Try Building: Adapt a sample or use a library to create your own basic A2A agent or client.

🏛️ Official Resources

📜 Specification & Core Concepts

(See How Does A2A Work? above for summaries)

⚙️ Implementations & Libraries

Official Samples

These demonstrate basic A2A client/server communication.

LanguageSample NameOne-line DescriptionGitHub URL
🔷 TypeScriptGenkit SDK CoreTS SDK + CLI, builds shared code for front- and backendhttps://github.com/google-a2a/a2a-samples/tree/main/samples/js
Movie Recommendation AgentMovie-recommendation conversational agent built with Genkithttps://github.com/google-a2a/a2a-samples/tree/main/samples/js/src/agents/movie-agent
TypeScript ClientPure-frontend call example written in TShttps://github.com/google-a2a/a2a-samples/tree/main/samples/js/client
Node Express ServerA2A HTTP service implemented with Node/Expresshttps://github.com/google-a2a/a2a-samples/tree/main/samples/js/server
JavaJava Client DemoJava client example (with streaming listener)https://github.com/google-a2a/a2a-samples/tree/main/samples/java/client
Java Data ModelsComplete set of POJO data models for the protocolhttps://github.com/google-a2a/a2a-samples/tree/main/samples/java/model
Java Server ImplSpring Boot A2A serverhttps://github.com/google-a2a/a2a-samples/tree/main/samples/java/server
🐍 PythonCLI QuickstartOne-liner CLI to test an A2A call loophttps://github.com/google-a2a/a2a-samples/tree/main/samples
Host Agent ServiceEntry service that hosts and dispatches downstream agentshttps://github.com/google-a2a/a2a-samples/tree/main/samples/host_agent
Weather AgentWeather-query agent + HTTP serverhttps://github.com/google-a2a/a2a-samples/tree/main/samples/weather_agent
Minimal MCPBare-metal multi-agent coordination protocolhttps://github.com/google-a2a/a2a-samples/tree/main/samples/a2a-mcp-without-framework
Travel Agency AgentsMulti-agent collaboration for a travel-agency scenariohttps://github.com/google-a2a/a2a-samples/tree/main/samples/python/agents
A2A TelemetryCollects and displays agent telemetry datahttps://github.com/google-a2a/a2a-samples/tree/main/samples/python/a2a_telemetry
AG2 Mini-DemoMinimal A↔A mutual-call skeletonhttps://github.com/google-a2a/a2a-samples/tree/main/samples/python/agents/ag2
Analytics WorkflowMulti-agent orchestration for data-analytics scenarioshttps://github.com/google-a2a/a2a-samples/tree/main/samples/python/agents/analytics
Autogen IntegrationUses Microsoft Autogen as the executorhttps://github.com/google-a2a/a2a-samples/tree/main/samples/python/agents/autogen
Azure Foundry AgentExample using Azure AI Foundry SDKhttps://github.com/google-a2a/a2a-samples/tree/main/samples/python/azureaifoundry_sdk
Birthday PlannerADK edition: multi-step birthday-party plannerhttps://github.com/google-a2a/a2a-samples/tree/main/samples/python/birthday_planner_adk
Calendar AgentReads/writes calendar and books meeting slotshttps://github.com/google-a2a/a2a-samples/tree/main/samples/python/calendar_agent
CrewAI CollabDemonstrates multi-role collaboration with CrewAIhttps://github.com/google-a2a/a2a-samples/tree/main/samples/python/agents/crewai
Google ADK DemoGoogle official ADK minimal demohttps://github.com/google-a2a/a2a-samples/tree/main/samples/python/google_adk
Headless OAuth2OAuth2 flow for headless agentshttps://github.com/google-a2a/a2a-samples/tree/main/samples/python/headless_agent_auth
Hello WorldRecommended first-run “Hello World” scaffoldhttps://github.com/google-a2a/a2a-samples/tree/main/samples/python/agents/helloworld
LangGraph DialogueUses LangGraph to orchestrate multi-turn dialoguehttps://github.com/google-a2a/a2a-samples/tree/main/samples/python/agents/langgraph
LlamaIndex File QAQ&A retrieval over local fileshttps://github.com/google-a2a/a2a-samples/tree/main/samples/python/llama_index_file_chat
Marvin IntegrationBuilds domain agents with Marvin integrationhttps://github.com/google-a2a/a2a-samples/tree/main/samples/python/agents/marvin
MindsDB PredictorCalls MindsDB for prediction and queryinghttps://github.com/google-a2a/a2a-samples/tree/main/samples/python/agents/mindsdb
Semantic Kernel OrchOrchestrates tools with Semantic Kernelhttps://github.com/google-a2a/a2a-samples/tree/main/samples/python/agents/semantickernel
Travel PlannerOne-stop travel-planning agenthttps://github.com/google-a2a/a2a-samples/tree/main/samples/python/travel_planner_agent
Veo Video GeneratorGenerates video automatically via the Veo APIhttps://github.com/google-a2a/a2a-samples/tree/main/samples/python/veo_video_gen
Host Push ListenerHost-side listener that dispatches pushed taskshttps://github.com/google-a2a/a2a-samples/tree/main/samples/python/hosts
Multi-Agent OrchestrationComprehensive example of remote invocation and collaborationhttps://github.com/google-a2a/a2a-samples/tree/main/samples/python/hosts/multiagent
Common UtilitiesCommon utility library (card parsing/client wrappers)https://github.com/google-a2a/a2a-samples/tree/main/samples/python/common
Reference ServerPython reference server + task managementhttps://github.com/google-a2a/a2a-samples/tree/main/samples/python/common/server
Helper ScriptsGeneral scripts for push auth, etc.https://github.com/google-a2a/a2a-samples/tree/main/samples/python/common/utils
🐹 GoGo Reference ImplFull A2A server + client implemented in Gohttps://github.com/google-a2a/a2a-samples/tree/main/samples/go

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.

LanguageAgent FrameworkAgent DescriptionKey A2A Features DemonstratedLink
🐍 PythonLangGraphCurrency conversionTools, Streaming, Multi-turnLink
🐍 PythonCrewAIImage generationNon-textual Artifacts (Files)Link
🐍 PythonGoogle ADKExpense reimbursementMulti-turn, Forms (DataPart)Link
🚀 JS/TSGenkitMovie info / Code generationTools, Artifacts (Files), AsyncLink

Community Implementations

SDKs & Libraries (by language)
  • Go
  • 🌟 trpc-a2a-go by @trpc-group Stars - 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 Stars - A Go library for building A2A servers, with example implementations.
  • Rust
  • 🌟 a2a-rs by @EmilLindfors Stars - An idiomatic Rust implementation following hexagonal architecture principles.
  • 🌟 Agentic by @jeremychone Stars - A Rust crate providing essential building blocks for agentic applications, with an ergonomic API for MCP and A2A support. (Work in Progress)
  • Python
  • 🌟 a2a-python by @google Stars - Official Python SDK for running agentic applications as A2A servers following the Agent2Agent Protocol.
  • 🌟 a2a_min by @pcingola Stars - A minimalistic Python SDK for A2A communication.
  • 🌟 python-a2a by @themanojdesai Stars - An easy-to-use Python library for implementing the A2A protocol.
  • 🌟 A2AServer by @johnson7788 Stars - A Python server framework implementing Google's A2A protocol with MCP integration.
  • 🌟 adk-modular-architecture by @k-jarzyna Stars - A Python project demonstrating a modular architecture for ADK (Agent Development Kit) based agents, with A2A protocol considerations.
  • C#/.NET
  • 🌟 a2adotnet by @azixaka Stars - A C#/.NET implementation of the A2A protocol.
  • 🌟 a2a-net by @neuroglia-io Stars - .NET implementation of the Agent2Agent (A2A) protocol to enable secure, interoperable communication between autonomous agents across frameworks and vendors.
  • JavaScript/TypeScript
  • 🌟 nestjs-a2a by @thestupd Stars - A module for integrating the A2A protocol into NestJS applications.
  • 🌟 Artinet SDK by @the-artinet-project Stars - TypeScript (Node.js) A2A compliant server/client simplifying interoperable AI agent creation, focusing on DX and production-readiness.
  • Java
  • 🌟 a2ajava by @vishalmysore Stars - Java A2A server/client implementation using Spring Boot with annotations. Supports WebSockets, MCP integration, and includes enterprise/Kubernetes deployment tutorials.
  • 🌟 a2a4j by @a2ap Stars - A2A4J is a comprehensive Java implementation of the Agent2Agent Protocol, including server, client, examples, and a starter — ready to use out of the box.
Platforms & Integrated Solutions
  • 🌟 Elkar by @elkar-ai Stars - An open-source task-management layer for AI agents — based on Google's Agent2Agent Protocol (A2A). Send, track, and orchestrate tasks across AI agents — effortlessly.
  • 🌟 Aira by @IhateCreatingUserNames2 Stars - An A2A network implementation for hosting, registering, discovering, and interacting with agents. Includes agent discovery mechanisms.
  • 🌟 Cognisphere by @IhateCreatingUserNames2 Stars - An AI agent development framework built on Google's ADK, facilitating agent creation potentially for A2A networks.
  • 🌐 Grasp by @adcentury Stars - A Self-hosted Browser Using Agent with built-in MCP and A2A support.
  • 🌟 swissknife by @daltonnyx Stars - A multi-agent chat application with MCP support, aiming to expose agents via the A2A protocol and connect to remote A2A agents as a client.
  • 🌟 n8n-nodes-agent2agent by @pjawz Stars - Adds nodes to n8n for interacting with AI agents using Google's Agent2Agent (A2A) protocol.
  • 🌟 google-calendar-agent by @inference-gateway Stars - A standalone A2A agent that can manage a user's Google Calendar, compatible with any OpenAI-compatible API for its LLM.
  • 🌟 A2AApp by @tanaikech Stars - An Agent2Agent (A2A) network built with Google Apps Script, enabling secure, decentralized AI communication and integration within Google Workspace as both an A2A server and client.
<!-- Add yours here! See CONTRIBUTING.md -->

🛠️ 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.
  • Community contributions welcome: Standalone agent directory service implementations, Agent Card search engines, etc. <!-- TODO: Community contributions for related tools are welcome -->
  • A2A Validation Tool
  • ⚙️ A2A Validation Tool by @llmx-de Stars - Cross-platform desktop app for testing & validating A2A protocol implementations, with features like multi-agent connection and session management.
  • Community contributions welcome: Online or command-line validators for checking if Agent Card, Task/Artifact structures comply with A2A JSON Schema specifications, or IDE plugins, etc. <!-- TODO: Community contributions for related tools are welcome -->
  • Monitoring/Tracing Adapters
  • Community contributions welcome: Adapters or libraries for integrating A2A task flow data into mainstream monitoring platforms like OpenTelemetry, Prometheus, Grafana, etc. <!-- TODO: Community contributions for related tools are welcome -->
  • Other Utilities
  • Community contributions welcome: e.g., A2A message construction helper tools, Agent Card generators, Mock A2A Server/Client, etc. <!-- TODO: Community contributions for related tools are welcome -->
  • 🌟 autoa2a by NapthaAI Stars - Easily convert agents and orchestrators from existing agent frameworks to A2A servers.

📚 Tutorials & Articles

🎬 Demos & Examples

🔗 Related Protocols & Concepts

  • 📦 Model Context Protocol (MCP) - Complementary protocol focused on providing tools/context to agents. (A2A and MCP Discussion).
  • 📞 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. <!-- TODO: Community contributions for related standards or discussions are welcome -->

💬 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!

Repository

AI
ai-boost

ai-boost/awesome-a2a

Created

April 10, 2025

Updated

July 7, 2025

Category

Developer Tools