🔥 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.
-
Movie Agent: This agent uses the TMDB API to answer questions about movies.
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.
- 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.
- 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.
-
This demo application showcases agents talking to other agents over A2A.
Demo Application: Command-line start up and web interface for multi-agent orchestration
- Agent Discovery: Clients find agents and their capabilities by fetching the
AgentCardJSON. - Task Lifecycle: Tasks progress through states defined in
TaskState. - Communication: Uses
Messageobjects containingParts (text, file, data). Task outputs are represented asArtifacts, also containingParts. - Streaming: Long-running tasks can provide real-time updates using SSE via
tasks/sendSubscribe. Updates are sent asTaskStatusUpdateEventandTaskArtifactUpdateEvent. - Push Notifications: Agents can proactively notify clients about task updates using webhook URLs provided via
tasks/pushNotification/set. - Authentication: Defined in
AgentCardandPushNotificationConfig. Can involve various schemes (e.g., API keys, OAuth, JWT). - Forms: Structured data can be requested and submitted using
DataPartwithin Messages/Artifacts (demonstrated in ADK sample).
- Run and Experience A2A Demo (Sample Implementations Demo)
- Study Core Concepts (Core Concepts)
- Reference Common Libraries to build your own A2A Agent
- Dive into Documentation to understand A2A in depth (Official A2A Documentation)
🔹 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.
We welcome contributions! Please read the CONTRIBUTING.md file for details.
For the latest updates on Awesome-A2A and related resources, follow us on Twitter: @aidev_community
