https://github.com/a2aproject/A2A
An open protocol enabling communication and interoperability between opaque agentic applications.
https://github.com/a2aproject/A2A
a2a a2a-mcp a2a-protocol a2a-server agents generative-ai
Last synced: 1 day ago
JSON representation
An open protocol enabling communication and interoperability between opaque agentic applications.
- Host: GitHub
- URL: https://github.com/a2aproject/A2A
- Owner: a2aproject
- License: apache-2.0
- Created: 2025-03-25T18:44:21.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2025-06-23T19:35:17.000Z (3 days ago)
- Last Synced: 2025-06-23T19:42:26.310Z (3 days ago)
- Topics: a2a, a2a-mcp, a2a-protocol, a2a-server, agents, generative-ai
- Language: TypeScript
- Homepage: https://a2aproject.github.io/A2A
- Size: 8.55 MB
- Stars: 17,298
- Watchers: 190
- Forks: 1,716
- Open Issues: 44
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Codeowners: .github/CODEOWNERS
- Security: SECURITY.md
- Governance: GOVERNANCE.md
Awesome Lists containing this project
- awesome - a2aproject/A2A - An open protocol enabling communication and interoperability between opaque agentic applications. (TypeScript)
README
# Agent2Agent (A2A) Protocol
[](https://pypi.org/project/a2a-sdk)
[](LICENSE)
**An open protocol enabling communication and interoperability between opaque agentic applications.**
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
[](https://goo.gle/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.## Getting Started
- 📚 **Explore the Documentation:** Visit the [Agent2Agent Protocol Documentation Site](https://goo.gle/a2a) for a complete overview, the full protocol specification, tutorials, and guides.
- 📝 **View the Specification:** [A2A Protocol Specification](https://a2aproject.github.io/A2A/specification/)
- 🐍 Use the SDKs:
- [A2A Python SDK](https://github.com/a2aproject/a2a-python) `pip install a2a-sdk`
- [A2A JS SDK](https://github.com/a2aproject/a2a-js) `npm install @a2a-js/sdk`
- 🎬 Use our [samples](https://github.com/a2aproject/a2a-samples) to see A2A in action## Contributing
We welcome community contributions to enhance and evolve the A2A protocol!
- **Questions & Discussions:** Join our [GitHub Discussions](https://github.com/a2aproject/A2A/discussions).
- **Issues & Feedback:** Report issues or suggest improvements via [GitHub Issues](https://github.com/a2aproject/A2A/issues).
- **Contribution Guide:** See our [CONTRIBUTING.md](CONTRIBUTING.md) for details on how to contribute.
- **Private Feedback:** Use this [Google Form](https://goo.gle/a2a-feedback).
- **Partner Program:** Google Cloud customers can join our partner program via this [form](https://goo.gle/a2a-partner).## 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.## About
The A2A Protocol is an open-source project by Google LLC, under the [Apache License 2.0](LICENSE), and is open to contributions from the community.