A2A (Agent-to-Agent)
Agent2Agent (A2A) is an open protocol that enables communication and interoperability between opaque agentic applications. It solves the problem of AI agents built on different frameworks and servers collaborating effectively as agents, not just tools. It is for developers building multi-agent systems who need a standard way for agents to discover, negotiate, and securely collaborate.
🎬 Use A2A to connect agents across different frameworks and teams · DeepLearningAI
✨ Key features
- Standardized communication via JSON-RPC 2.0 over HTTP(S).
- Agent discovery through Agent Cards detailing capabilities.
- Supports synchronous, streaming (SSE), and async push notifications.
- Rich data exchange: text, files, and structured JSON.
- Enterprise-ready with security, authentication, and observability.
- Preserves agent opacity: no internal state or tools exposed.
🎯 Use cases
- Expose agents built with frameworks like Google ADK, LangGraph, or BeeAI as A2A servers.
- Create A2A clients to connect to A2A-compliant agents.
- Orchestrate sequential and hierarchical workflows of A2A agents.
- Build multi-agent systems using different frameworks, e.g., healthcare.
- Combine A2A with MCP for agent-to-agent collaboration.
📦 Installation
🧰 Requirements: No specific runtime or OS requirements stated; SDKs available for Python, Go, JS, Java, .NET, and Rust.
Use the SDKs:
- Python:
pip install a2a-sdk - Go:
go get github.com/a2aproject/a2a-go - JS:
npm install @a2a-js/sdk - Java: using Maven (see repository)
- .NET:
dotnet add package A2A - Rust:
cargo add a2a-lf
For full details, visit the documentation site.
🚀 Usage
Refer to the samples to see A2A in action. For a complete example, see the documentation and SDKs.
⚠️ Good to know
The protocol is under active development; planned enhancements include formalizing authorization in Agent Cards, adding QuerySkill(), dynamic UX negotiation, and client-initiated methods.
❓ FAQ
What is the A2A protocol?
A2A is an open protocol for communication and interoperability between opaque agentic applications, allowing AI agents to collaborate as agents, not just tools.
How do agents communicate in A2A?
Agents communicate using JSON-RPC 2.0 over HTTP(S), with support for synchronous, streaming (SSE), and asynchronous push notifications.
What SDKs are available?
Official SDKs are available for Python, Go, JavaScript, Java, .NET, and Rust.
How does A2A relate to MCP?
A2A complements MCP by enabling agents to collaborate with each other, while MCP focuses on connecting agents to tools and data.
📊 Repository
🤖 Overview, features, install steps and FAQ were generated from the project's README on Sep 4, 2026. Always check the original source before running commands.