8000 GitHub - PheonixHkbxoic/awesome-a2a: Agent2Agent (A2A) – awesome A2A agents, tools, servers & clients, all in one place.
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

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

License

Notifications You must be signed in to change notification settings

PheonixHkbxoic/awesome-a2a

 
 

Repository files navigation

✨ Awesome A2A (Agent2Agent Protocol) ✨

Awesome A2A Banner - Abstract network or connection graphic

English | 简体中文 | 日本語 | Español | Deutsch | Français

A curated list of awesome resources, implementations, tools, and examples related to the Google Agent2Agent (A2A) Protocol for AI agent interoperability.

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 Repo and follow the instructions in /samples to run a client (like the CLI) and a sample agent (e.g., LangGraph or Genkit agent). See the Official Samples tables below for links.
  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.

Language Type Framework Description Link
🐍 Python Common Library - Core HTTP, JSON-RPC, SSE handling Link
🐍 Python Host (Client) CLI Command-line client example Link
🐍 Python Host (Agent) ADK Orchestrator agent delegating to A2A agents Link
🚀 JS/TS Server Library Express Core server implementation Link
🚀 JS/TS Client Library - Client implementation Link
🚀 JS/TS Host (Client) CLI Command-line client example Link

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 Currency conversion Tools, Streaming, Multi-turn Link
🐍 Python CrewAI Image generation Non-textual Artifacts (Files) Link
🐍 Python Google ADK Expense reimbursement Multi-turn, Forms (DataPart) Link
🚀 JS/TS Genkit Movie info / Code generation Tools, Artifacts (Files), Async Link

Community Implementations

  • 🌟 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.
  • 🌟 a2a-rs by @EmilLindfors Stars - An idiomatic Rust implementation following hexagonal architecture principles.
  • 🌟 a2a_min by @pcingola Stars - A minimalistic Python SDK for A2A communication.
  • 🌟 a2adotnet by @azixaka Stars - A C#/.NET implementation of the A2A protocol.
  • 🌟 nestjs-a2a by @thestupd Stars - A module for integrating the A2A protocol into NestJS applications.
  • 🌟 python-a2a by @themanojdesai Stars - An easy-to-use Python library for implementing the A2A protocol.
  • 🌟 Aira by @IhateCreatingUserNames2 Stars - An A2A network implementation for hosting, registering, discovering, and interacting with agents.
  • 🌟 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.

🛠️ Tools & Utilities

  • 🔍 Agent Discovery Services - [Link] - Description (e.g., implementation of an 'Agent Catalog').
  • A2A Validation Tool - [Link] - Tool to check compliance of an A2A endpoint.
  • 📊 Monitoring/Tracing Adapters - [Link] - Integrations for observability platforms.

📚 Tutorials & Articles

🎬 Demos & Examples

🔗 Related Protocols & Concepts

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

About

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

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published
0