Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 

Repository files navigation

Awesome-A2A (Agent2Agent Protocol) Awesome

A2A Protocol Diagram

A2A Protocol: Enabling communication between different agent frameworks

▶️ Watch the A2A Protocol Demo Video

Overview

🔥 Agent2Agent (A2A) Protocol is an open standard by Google that enables seamless communication and interoperability between AI agents built on different frameworks or by different vendors. It allows agents to discover each other, negotiate interaction methods, and collaborate on tasks efficiently.

This curated list provides everything you need to quickly understand, run, and explore A2A, including demonstrations, use cases, core concepts, and learning resources.

📋 Contents

🚀 Sample Implementations Demo

🤖 JavaScript/TypeScript Agents

  • Movie Agent: This agent uses the TMDB API to answer questions about movies.

    Movie Agent UI Movie Agent CLI interaction Movie Agent JSON response

    Movie Agent: Agent interface, Host CLI interaction, and AgentCard JSON

  • Coder Agent: This is a simple code-writing agent that emits full code files as artifacts.

🐍 Python Agents

  • LangGraph: Sample agent which can convert currency using tools. Showcases multi-turn interactions, tool usage, and streaming updates.
  • CrewAI: Sample agent which can generate images. Showcases multi-turn interactions and sending images through A2A.
  • Google ADK: Sample agent to (mock) fill out expense reports. Showcases multi-turn interactions and returning/replying to webforms through A2A.

🧰 Hosts

  • CLI: Simple command-line client to interact with any A2A agent. Supports streaming and optional push notification listening.
  • Multi-Agent Orchestrator: An ADK-based "Host Agent" that manages connections to other A2A agents and delegates tasks based on instructions.

🖥️ Demo Application

  • This demo application showcases agents talking to other agents over A2A.

    Demo UI CLI Demo UI Web

    Demo Application: Command-line start up and web interface for multi-agent orchestration

🧠 Core Concepts

  • Agent Discovery: Clients find agents and their capabilities by fetching the AgentCard JSON.
  • Task Lifecycle: Tasks progress through states defined in TaskState.
  • Communication: Uses Message objects containing Parts (text, file, data). Task outputs are represented as Artifacts, also containing Parts.
  • Streaming: Long-running tasks can provide real-time updates using SSE via tasks/sendSubscribe. Updates are sent as TaskStatusUpdateEvent and TaskArtifactUpdateEvent.
  • Push Notifications: Agents can proactively notify clients about task updates using webhook URLs provided via tasks/pushNotification/set.
  • Authentication: Defined in AgentCard and PushNotificationConfig. Can involve various schemes (e.g., API keys, OAuth, JWT).
  • Forms: Structured data can be requested and submitted using DataPart within Messages/Artifacts (demonstrated in ADK sample).

🛠️ How to Get Started

❓ FAQ

🔹 Is A2A another implementation of MCP?
No, A2A (Agent2Agent Protocol) and MCP (Model Context Protocol) serve different purposes and are complementary. MCP standardizes how AI agents connect to external tools, data sources, and resources, facilitating seamless integration with various services. In contrast, A2A focuses on enabling direct communication and collaboration between AI agents themselves, allowing them to interact in their natural modalities. Together, MCP and A2A enhance the interoperability and functionality of AI systems by connecting agents to both external resources and to each other.

📚 Resources

🤝 Contributing

We welcome contributions! Please read the CONTRIBUTING.md file for details.


📣 Stay Updated

For the latest updates on Awesome-A2A and related resources, follow us on Twitter: @aidev_community

About

Awesome-A2A: A curated list of Agent2Agent Protocoll (A2A)

Resources

Stars

22 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors