a2aproject / a2a
Agent2Agent (A2A) is an open protocol enabling communication and interoperability between opaque agentic applications.
github.com/a2aproject/a2aIndexed at be9f9a4Up to date with upstream
What is a2a?
a2a is an open protocol for communication and interoperability between opaque agentic applications. It gives agents a common way to discover capabilities, negotiate interaction formats, and collaborate without exposing internal state, memory, or tools. The repository primarily uses Shell, with Python and JavaScript files also present.
Written by a model from the README and the source
86 files and 21 symbols in 5 modules, led by Shell (9 files) and Python (2).
Code health
This codebase scores 9.4 out of 10 for code health, which we rate excellent. It also scores maintainability 9.8 and static performance 10.0 out of 10. The three are scored separately and never blended into one number.
Use a2aproject/a2a in your agent
Point Claude Code, Cursor, Codex or VS Code at this repository. Your agent gets the index this page is built from: cited answers, callers, history and health for any file.
- 1.In Claude, open Customize → Connectors, click +, then Add custom connector. On a Team or Enterprise plan an owner adds it first under Organization settings → Connectors.
- 2.Paste the server URL below as the Remote MCP server URL, then click Add.
- 3.Click Connect. A Repowise sign-in window opens. Approve access.
- 4.Repowise's tools are now available in your Claude chats.
Connect with one click. Sign in with Repowise (OAuth), no API key to copy. Works in Claude on the web, desktop, and mobile.
Docshttps://api.repowise.dev/mcp/a2aproject/a2a
This repo is public, so anyone with a Repowise account and an API key can connect.
Try asking
- get_overview()
- get_answer("how is a2a put together?")
- get_why("why is a2a structured this way?")
Explore a2a
- DocumentationModule-by-module documentation, written from the source.
- ArchitectureDependency graph, layers and third-party dependencies.
- Code healthEvery file's score and the findings behind it.
- CommitsEach commit's effect on code health.
- OverviewEverything else the index found: contributors, decisions, what changed this week.
Key features of a2a
- A2A standardizes agent communication with JSON-RPC 2.0 over HTTP(S).
- A2A supports agent discovery through Agent Cards that describe capabilities and connection information.
- A2A supports synchronous interactions, server-sent event streaming, and asynchronous push notifications.
- A2A exchanges text, files, and structured JSON data.
- A2A allows agents to collaborate without exposing internal memory, proprietary logic, or tool implementations.
How a2aproject/a2a works
A2A uses JSON-RPC 2.0 over HTTP(S) to connect agents built with different frameworks and running on separate servers. Agent Cards provide capability and connection information for discovery. The protocol supports synchronous request and response, server-sent event streaming, and asynchronous push notifications. It exchanges text, files, and structured JSON data while allowing agents to collaborate on long-running tasks. The docs directory provides protocol documentation, the specification directory holds the protocol specification, and the scripts directory contains project scripts. The root module holds repository-level files, while .github contains project automation and configuration.
The codebase has 86 files and 21 symbols in 5 modules, led by Shell, Python and JavaScript. Code health is 9.4 out of 10, rated excellent.
a2aproject/a2a FAQ
What is a2a?
a2a is an open protocol for communication and interoperability between opaque agentic applications. It provides a common language for agents built with different frameworks.
How does a2a work?
a2a connects agents through JSON-RPC 2.0 over HTTP(S) and uses Agent Cards for discovery. It supports request and response, streaming, push notifications, and exchanges text, files, and structured JSON.
What language is a2a written in?
a2a is primarily represented by Shell files, with Python and JavaScript files also present. The repository includes protocol documentation, specifications, scripts, and project configuration.
How is the a2a code organized?
a2a is organized into docs, .github, root, scripts, specification, .devcontainer, adrs, and .gemini directories. The docs directory covers documentation, specification holds the protocol specification, and scripts contains project scripts.
Who is a2a for?
a2a is for applications that need agents from different frameworks, companies, or servers to communicate and collaborate. It supports specialized agents working together without sharing internal state or tools.
What license does a2a use?
a2a uses the Apache-2.0 license. The project is an open source project under the Linux Foundation.
The summary, features and answers on this page are written by a model from the README and the source, and refreshed with each index.
About this page
Get a page like this for your own codebase
Repowise built this map of a2aproject/a2a from its source and git history. It parses every symbol, draws the dependency graph, scores each file's health from complexity, duplication, coverage and churn, finds hotspots and owners in the history, and writes documentation for every module. Your coding agent reads the same index over MCP, so its answers cite real files.
Prefer local? pip install repowise && repowise init indexes your own checkout, no account needed.
Maintain a2aproject/a2a?
Claim this page, add a badge to the README, or re-index it.
Claim this page
Sign in with GitHub and we check that you are an admin or maintainer of a2aproject/a2a. Then add a badge to the README that links readers here.
Add a badge to your README
Every badge is public, cached, and updates on its own after every index. Nothing to install.
Repowise badge
Links to this page, with no score on it. Adding it also re-indexes the repo every week.
[](https://repowise.dev/repo/a2aproject/a2a?src=badge_wiki)Code health badge
The repo's health score out of 10, from the latest index.
[](https://repowise.dev/repo/a2aproject/a2a?src=badge_health)Code health card
A larger card with the score, its change since the last index, and when it was measured. The HTML version follows the reader's light or dark theme.
[](https://repowise.dev/repo/a2aproject/a2a?src=badge_card)