Content
# ✨ A2A Directory ✨


🌐 [English](README.md) | [中文](README.zh-CN.md) | [日本語](README.ja-JP.md) | [Deutsch](README.de-DE.md)
<a id="contents"></a>
## Contents
- 📋 [Overview](#overview)
- 🚀 [Getting Started](#getting-started)
- 📚 [Resources](#resources)
- 📦 [Official Samples](#official-samples)
- 🛠️ [Tools](#tools)
- 🤝 [Community Implementations](#community-implementations)
- 🎯 [Community Samples](#community-samples)
- 👥 [Community](#community)
- 🤝 [Contributing](#contributing)
## Overview
A2A (Agent2Agent) is an open protocol from Google enabling AI agents to communicate securely and collaborate. It breaks down silos between isolated agent systems, allowing for complex cross-application automation.
**Key Features:**
- 🎯 Simple: Uses HTTP, JSON-RPC, SSE
- 🏢 Enterprise Ready: Focuses on security and privacy
- ⚡ Async First: Handles long-running tasks
- 🔄 Modality Agnostic: Supports text, files, forms, streams
- 🔒 Opaque Execution: Agents interact without sharing internal logic
**Official Links:**
- 🌐 Website: [google.github.io/A2A](https://google.github.io/A2A)
- 📦 GitHub: [https://github.com/google-a2a/A2A](https://github.com/google-a2a/A2A)
## Getting Started
1. **Learn the Basics**
- 📖 Read the [technical documentation](https://google.github.io/A2A/#/documentation)
- 🎥 Watch the [demo video](https://storage.googleapis.com/gweb-developer-goog-blog-assets/original_videos/A2A_demo_v4.mp4)
2. **Run Samples**
- 📥 Clone the [official repo](https://github.com/google-a2a/a2a-samples)
- 📝 Follow instructions in `/samples`
3. **Build Your Own**
- 🛠️ Use official libraries or adapt samples
- 🏗️ Start with a basic A2A agent or client
## Resources
### Official Documentation
- 🇺🇸 [Technical Documentation](https://google.github.io/A2A/#/documentation)
- 🇺🇸 [JSON Specification](https://github.com/google-a2a/A2A/tree/main/specification)
- 🇺🇸 [Agent Card Specification](https://google-a2a.github.io/A2A/specification/#5-agent-discovery-the-agent-card)
## Official Samples
### Python Sample Collection
#### Agent Examples (Intelligent Agents Based on Different Frameworks)
| Project Name | Description | Link |
|-------------|-------------|------|
| Google ADK | Expense report filling agent, showcasing multi-turn interactions and web form handling | [google_adk](https://github.com/google-a2a/a2a-samples/tree/main/samples/python/agents/google_adk) |
| AG2 + MCP | MCP-enabled agent based on AG2 framework | [ag2](https://github.com/google-a2a/a2a-samples/tree/main/samples/python/agents/ag2) |
| Azure AI Foundry | Agent based on Azure AI Foundry services | [azureaifoundry_sdk](https://github.com/google-a2a/a2a-samples/tree/main/samples/python/agents/azureaifoundry_sdk) |
| LangGraph | Currency conversion agent with tool usage and streaming updates | [langgraph](https://github.com/google-a2a/a2a-samples/tree/main/samples/python/agents/langgraph) |
| CrewAI | Image generation agent with multi-turn interactions and image transmission | [crewai](https://github.com/google-a2a/a2a-samples/tree/main/samples/python/agents/crewai) |
| LlamaIndex | File parsing and chat agent with file upload and streaming updates | [llama_index_file_chat](https://github.com/google-a2a/a2a-samples/tree/main/samples/python/agents/llama_index_file_chat) |
| Marvin | Contact information extraction agent | [marvin](https://github.com/google-a2a/a2a-samples/tree/main/samples/python/agents/marvin) |
| MindsDB | Enterprise data agent supporting database queries | [mindsdb](https://github.com/google-a2a/a2a-samples/tree/main/samples/python/agents/mindsdb) |
| Semantic Kernel | Travel agent based on Microsoft Semantic Kernel framework | [semantickernel](https://github.com/google-a2a/a2a-samples/tree/main/samples/python/agents/semantickernel) |
| AutoGen | AutoGen framework example | [autogen](https://github.com/google-a2a/a2a-samples/tree/main/samples/python/agents/autogen) |
| Hello World | Basic example agent | [helloworld](https://github.com/google-a2a/a2a-samples/tree/main/samples/python/agents/helloworld) |
| Veo Video Generation | Video generation agent | [veo_video_gen](https://github.com/google-a2a/a2a-samples/tree/main/samples/python/agents/veo_video_gen) |
| Analytics | Analytics agent | [analytics](https://github.com/google-a2a/a2a-samples/tree/main/samples/python/agents/analytics) |
| A2A Telemetry | Telemetry data agent | [a2a_telemetry](https://github.com/google-a2a/a2a-samples/tree/main/samples/python/agents/a2a_telemetry) |
| A2A MCP | MCP protocol agent | [a2a_mcp](https://github.com/google-a2a/a2a-samples/tree/main/samples/python/agents/a2a_mcp) |
| Birthday Planner ADK | Birthday planning agent | [birthday_planner_adk](https://github.com/google-a2a/a2a-samples/tree/main/samples/python/agents/birthday_planner_adk) |
| Headless Agent Auth | Headless agent authentication example | [headless_agent_auth](https://github.com/google-a2a/a2a-samples/tree/main/samples/python/agents/headless_agent_auth) |
#### Host Applications (Client Applications)
| Project Name | Description | Link |
|-------------|-------------|------|
| CLI | Command line client | [cli](https://github.com/google-a2a/a2a-samples/tree/main/samples/python/hosts/cli) |
| Multiagent | Multi-agent orchestrator | [multiagent](https://github.com/google-a2a/a2a-samples/tree/main/samples/python/hosts/multiagent) |
### Go Language Examples
| Project Name | Description | Link |
|-------------|-------------|------|
| Server | Go language A2A server implementation | [server](https://github.com/google-a2a/a2a-samples/tree/main/samples/go/server) |
| Client | Go language A2A client implementation | [client](https://github.com/google-a2a/a2a-samples/tree/main/samples/go/client) |
| Models | Shared data structures | [models](https://github.com/google-a2a/a2a-samples/tree/main/samples/go/models) |
### JavaScript/TypeScript Examples
| Project Name | Description | Link |
|-------------|-------------|------|
| Movie Agent | Movie information search agent using TMDB API | [movie-agent](https://github.com/google-a2a/a2a-samples/tree/main/samples/js/src/agents/movie-agent) |
| Coder Agent | Code generation agent | [coder](https://github.com/google-a2a/a2a-samples/tree/main/samples/js/src/agents/coder) |
## Tools
Essential tools for A2A protocol development, testing, and validation.
**🔗 [A2A Protocol Validator](https://a2aprotocol.ai/a2a-protocol-validator)**
[⬆️ Back to Contents](#contents)
## Community Implementations
| Name | Author | Description | Stars |
|------|--------|-------------|-------|
| [a2a-python](https://github.com/google/a2a-python) | [@google](https://github.com/google) | Official Python SDK for the Agent2Agent (A2A) Protocol | [](https://github.com/google/a2a-python) |
| [a2a-js](https://github.com/google-a2a/a2a-js) | [@google-a2a](https://github.com/google-a2a) | Official JavaScript SDK for the Agent2Agent (A2A) Protocol - A JavaScript library that helps run agentic applications as A2AServers | [](https://github.com/google-a2a/a2a-js) |
| [a2a-java](https://github.com/a2aproject/a2a-java) | [@a2aproject](https://github.com/a2aproject) | Official Java SDK for the Agent2Agent (A2A) Protocol - A Java library that helps run agentic applications as A2AServers | [](https://github.com/a2aproject/a2a-java) |
| [a2a-go](https://github.com/a2aproject/a2a-go) | [@a2aproject](https://github.com/a2aproject) | Official Go SDK for the Agent2Agent (A2A) Protocol | [](https://github.com/a2aproject/a2a-go) |
| [a2ajava](https://github.com/vishalmysore/a2ajava) | [@vishalmysore](https://github.com/vishalmysore) | A pure Java implementation of Google's A2A protocol for Spring Boot applications, featuring both client and server implementations | [](https://github.com/vishalmysore/a2ajava) |
| [a2a4j](https://github.com/a2ap/a2a4j) | [@a2ap](https://github.com/a2ap) | A2A4J is a comprehensive Java implementation of the Agent2Agent Protocol, including server, client, examples, and a starter — ready to use out of the box. | [](https://github.com/a2ap/a2a4j) |
| [legion-a2a](https://github.com/TheRaLabs/legion-a2a) | [@TheRaLabs](https://github.com/TheRaLabs) | A TypeScript implementation of the A2A protocol with a focus on modularity and extensibility | [](https://github.com/TheRaLabs/legion-a2a) |
| [trpc-a2a-go](https://github.com/trpc-group/trpc-a2a-go) | [@trpc-group](https://github.com/trpc-group) | 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 | [](https://github.com/trpc-group/trpc-a2a-go) |
| [jira-a2a](https://github.com/tuannvm/jira-a2a) | [@tuannvm](https://github.com/tuannvm) | The Jira A2A system is a DevOps workflow automation platform using the tRPC-A2A-Go framework. It consists of independent Go agents that communicate via A2A messages. | [](https://github.com/tuannvm/jira-a2a) |
| [a2a-go](https://github.com/a2aserver/a2a-go) | [@a2aserver](https://github.com/a2aserver) | A Go library for building A2A servers, with example implementations | [](https://github.com/a2aserver/a2a-go) |
| [a2a-rs](https://github.com/EmilLindfors/a2a-rs) | [@EmilLindfors](https://github.com/EmilLindfors) | An idiomatic Rust implementation following hexagonal architecture principles | [](https://github.com/EmilLindfors/a2a-rs) |
| [a2a_min](https://github.com/pcingola/a2a_min) | [@pcingola](https://github.com/pcingola) | A minimalistic Python SDK for A2A communication | [](https://github.com/pcingola/a2a_min) |
| [a2adotnet](https://github.com/azixaka/a2adotnet) | [@azixaka](https://github.com/azixaka) | A C#/.NET implementation of the A2A protocol | [](https://github.com/azixaka/a2adotnet) |
| [nestjs-a2a](https://github.com/thestupd/nestjs-a2a) | [@thestupd](https://github.com/thestupd) | A module for integrating the A2A protocol into NestJS applications | [](https://github.com/thestupd/nestjs-a2a) |
| [python-a2a](https://github.com/themanojdesai/python-a2a) | [@themanojdesai](https://github.com/themanojdesai) | An easy-to-use Python library for implementing the A2A protocol | [](https://github.com/themanojdesai/python-a2a) |
| [Aira](https://github.com/IhateCreatingUserNames2/Aira) | [@IhateCreatingUserNames2](https://github.com/IhateCreatingUserNames2) | An A2A network implementation for hosting, registering, discovering, and interacting with agents | [](https://github.com/IhateCreatingUserNames2/Aira) |
| [Cognisphere](https://github.com/IhateCreatingUserNames2/Cognisphere) | [@IhateCreatingUserNames2](https://github.com/IhateCreatingUserNames2) | An AI agent development framework built on Google's ADK, facilitating agent creation potentially for A2A networks | [](https://github.com/IhateCreatingUserNames2/Cognisphere) |
| [a2a-server](https://github.com/chrishayuk/a2a-server) | [@chrishayuk](https://github.com/chrishayuk) | A lightweight A2A python implementation | [](https://github.com/chrishayuk/a2a-server) |
| [a2a-cli](https://github.com/chrishayuk/a2a-cli) | [@chrishayuk](https://github.com/chrishayuk) | A command-line client for the A2A | [](https://github.com/chrishayuk/a2a-cli) |
| [A2A Test Suit](https://github.com/robert-at-pretension-io/A2A) | [@robert-at-pretension-io](https://github.com/robert-at-pretension-io) | A2A Test Suite | [](https://github.com/robert-at-pretension-io/A2A) |
| [Grasp](https://github.com/aircodelabs/grasp) | [@adcentury](https://github.com/adcentury) | A Self-hosted Browser Using Agent with built-in MCP and A2A support | [](https://github.com/aircodelabs/grasp) |
| [swissknife](https://github.com/daltonnyx/swissknife) | [@daltonnyx](https://github.com/daltonnyx) | 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 | [](https://github.com/daltonnyx/swissknife) |
| [artinet-sdk](https://github.com/the-artinet-project/artinet-sdk) | [@the-artinet-project](https://github.com/the-artinet-project) | A JS/TS SDK for the Agent2Agent Protocol with a focus on developer experience and comprehensive features | [](https://github.com/the-artinet-project/artinet-sdk) |
| [a2a-validation-tool](https://github.com/llmx-de/a2a-validation-tool) | [@llmx-de](https://github.com/llmx-de) | A desktop application for testing and validating Agent-to-Agent (A2A) protocol implementations | [](https://github.com/llmx-de/a2a-validation-tool) |
[⬆️ Back to Contents](#contents)
### Community Samples
| Name | Author | Description | Stars |
|------|--------|-------------|-------|
| [a2a-agent-coder](https://github.com/sing1ee/a2a-agent-coder) | [@sing1ee](https://github.com/sing1ee) | A Coder Agent implementation with A2A Server and Client | [](https://github.com/sing1ee/a2a-agent-coder) |
| [agentic-trading](https://github.com/kweinmeister/agentic-trading) | [@kweinmeister](https://github.com/kweinmeister) | A sample application demonstrating Google ADK and A2A interoperability for trading automation | [](https://github.com/kweinmeister/agentic-trading) |
| [python-a2a-tutorial](https://github.com/sing1ee/python-a2a-tutorial) | [@sing1ee](https://github.com/sing1ee) | A comprehensive tutorial for implementing A2A in Python with practical examples | [](https://github.com/sing1ee/python-a2a-tutorial) |
| [a2a-python-currency](https://github.com/sing1ee/a2a-python-currency) | [@sing1ee](https://github.com/sing1ee) | A tutorial implementation of a Currency Agent using the A2A Python SDK | [](https://github.com/sing1ee/a2a-python-currency) |
| [a2a-mcp-openrouter](https://github.com/sing1ee/a2a-mcp-openrouter) | [@sing1ee](https://github.com/sing1ee) | Demonstrates A2A + MCP integration using OpenRouter as LLM provider, showcasing unified interface for agent-to-agent communication and tool invocation | [](https://github.com/sing1ee/a2a-mcp-openrouter) |
| [a2a_llama_index_file_chat](https://github.com/sing1ee/a2a_llama_index_file_chat) | [@sing1ee](https://github.com/sing1ee) | A LlamaIndex-based file chat agent supporting file upload/parsing, conversational interactions, streaming responses, and in-line citations | [](https://github.com/sing1ee/a2a_llama_index_file_chat) |
[⬆️ Back to Contents](#contents)
## Community
- 🐛 [GitHub Issues](https://github.com/google/A2A/issues)
- 💬 [GitHub Discussions](https://github.com/google/A2A/discussions/)
## Contributing
Contributions are welcome! Please read the [contributing guidelines](CONTRIBUTING.md) first.
[⬆️ Back to Contents](#contents)
You Might Also Like
Ollama
Ollama enables easy access to large language models on macOS, Windows, and Linux.

n8n
n8n is a secure workflow automation platform for technical teams with 400+...

Dify
Dify is a platform for AI workflows, enabling file uploads and self-hosting.
OpenWebUI
Open WebUI is an extensible web interface for various applications.

Zed
Zed is a high-performance multiplayer code editor from the creators of Atom.
MarkItDown MCP
A lightweight MCP server for converting URIs to Markdown format.