MCP ExplorerExplorer

Awesome A2a

@nien-chengon 10 months ago
1 Apache-2.0
FreeCommunity
AI Systems
#a2a#agent#ai#mcp
A curated list of awesome resources for A2A.

Overview

What is Awesome A2a

Awesome A2A is a curated list of resources focused on the A2A (Agent2Agent) protocol, which enables AI agents to communicate and collaborate across various platforms and frameworks, maximizing the potential of agentic AI.

Use cases

Use cases for Awesome A2A include building collaborative AI systems, enhancing communication between different AI agents, and integrating various AI tools and resources for improved functionality.

How to use

To use Awesome A2A, you can explore the curated resources, official samples, and community contributions available in the repository. Follow the guidelines provided to implement A2A in your projects.

Key features

Key features of Awesome A2A include dynamic multimodal communication between agents, an open standard driven by the community, and integration capabilities with various frameworks and libraries.

Where to use

Awesome A2A can be used in fields such as AI development, multi-agent systems, and applications requiring agent collaboration across different technologies and platforms.

Content

Awesome A2A Awesome 🤖🔗

A curated list of awesome resources for A2A.

Contents

What is A2A? 🤔

A2A is an open protocol from Google that enables AI agents to communicate and collaborate across different platforms and frameworks, regardless of their underlying technologies. It’s designed to maximize the benefits of agentic AI by enabling true multi-agent scenarios. 🌍✨

a2a actors

What differentiates A2A and MCP? ⚖️

Agentic applications need both A2A and MCP. We recommend MCP for tools and A2A for agents. 🤝

  • 🔧 MCP (Model Context Protocol) for tools and resources

    • Connect agents to tools, APIs, and resources with structured inputs/outputs. 🔌
    • Google ADK supports MCP tools. Enabling wide range of MCP servers to be used with agents. 🛠️
  • 🤖 A2A (Agent2Agent Protocol) for agent-agent collaboration

    • Dynamic, multimodal communication between different agents without sharing memory, resources, and tools 💬
    • Open standard driven by community. 🌱
    • Samples available using Google ADK, LangGraph, Crew.AI 🧪

a2a and mcp

How does A2A work? ⚙️

A2A facilitates communication between a “client” agent and a “remote” agent. A client agent is responsible for formulating and communicating tasks, while the remote agent is responsible for acting on those tasks in an attempt to provide the correct information or take the correct action. This interaction involves several key capabilities:

  • Capability discovery: Agents can advertise their capabilities using an “Agent Card” in JSON format, allowing the client agent to identify the best agent that can perform a task and leverage A2A to communicate with the remote agent.
  • Task management: The communication between a client and remote agent is oriented towards task completion, in which agents work to fulfill end-user requests. This “task” object is defined by the protocol and has a lifecycle. It can be completed immediately or, for long-running tasks, each of the agents can communicate to stay in sync with each other on the latest status of completing a task. The output of a task is known as an “artifact.”
  • Collaboration: Agents can send each other messages to communicate context, replies, artifacts, or user instructions.
  • User experience negotiation: Each message includes “parts,” which is a fully formed piece of content, like a generated image. Each part has a specified content type, allowing client and remote agents to negotiate the correct format needed and explicitly include negotiations of the user’s UI capabilities–e.g., iframes, video, web forms, and more.
    See the full details of how the protocol works in our draft specification.

a2a workflow

Key Principles 🔑

Using A2A, agents accomplish tasks for end-users without sharing memory, thoughts, or tools. Instead the agents exchange context, status, instructions, and data in their native modalities. 🔄

  • Simple: Reuse existing standards
  • 🛡️ Enterprise Ready: Auth, Security, Privacy, Tracing, Monitoring
  • Async First: (Very) Long running-tasks and human-in-the-loop
  • 🎨 Modality Agnostic: text, audio/video, forms, iframe, etc.
  • 🕶️ Opaque Execution: Agents do not have to share thoughts, plans, or tools.

Getting Started 🚀

New to A2A? Here’s a suggested path:

  1. 📖 Understand the Basics: Read the sections above (What is A2A?, Key Principles, How does A2A work?). 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 Resource 📚

⚙️ 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 📦 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 🌐

Tools

No tools

Comments

Recommend MCP Servers

View All MCP Servers