Website | Source Python SDK pip install a2a-sdk
JS SDK npm install @a2a-js/sdk
Java SDK using maven .NET SDK using NuGet dotnet add package A2A
| Specification | samples
The Agent2Agent (A2A) protocol addresses a critical challenge in the AI landscape: enabling gen AI agents, built on diverse frameworks by different companies running on separate servers, to communicate and collaborate effectively - as agents, not just as tools. A2A aims to provide a common language for agents, fostering a more interconnected, powerful, and innovative AI ecosystem.
With A2A, agents can:
- Discover each other's capabilities.
- Negotiate interaction modalities (text, forms, media).
- Securely collaborate on long running tasks.
- Operate without exposing their internal state, memory, or tools.
Intro to A2A Video

Why A2A?
As AI agents become more prevalent, their ability to interoperate is crucial for building complex, multi-functional applications. A2A aims to:
- Break Down Silos: Connect agents across different ecosystems.
- Enable Complex Collaboration: Allow specialized agents to work together on tasks that a single agent cannot handle alone.
- Promote Open Standards: Foster a community-driven approach to agent communication, encouraging innovation and broad adoption.
- Preserve Opacity: Allow agents to collaborate without needing to share internal memory, proprietary logic, or specific tool implementations, enhancing security and protecting intellectual property.
Key Features
- Standardized Communication: JSON-RPC 2.0 over HTTP(S).
- Agent Discovery: Via "Agent Cards" detailing capabilities and connection info.
- Flexible Interaction: Supports synchronous request/response, streaming (SSE), and asynchronous push notifications.
- Rich Data Exchange: Handles text, files, and structured JSON data.
- Enterprise-Ready: Designed with security, authentication, and observability in mind.
What's next
Protocol Enhancements
- Agent Discovery:
- Formalize inclusion of authorization schemes and optional credentials directly within the
AgentCard
.
- Agent Collaboration:
- Investigate a
QuerySkill()
method for dynamically checking unsupported or unanticipated skills.
- Task Lifecycle & UX:
- Support for dynamic UX negotiation within a task (e.g., agent adding audio/video mid-conversation).
- Client Methods & Transport:
- Explore extending support to client-initiated methods (beyond task management).
- Improvements to streaming reliability and push notification mechanisms.
Tags:
ai
format
distribution
Last modified 05 August 2025