repowisea2aproject/a2a

a2aproject / a2a

Agent2Agent (A2A) is an open protocol enabling communication and interoperability between opaque agentic applications.

Shell★ 26,028

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

9.4out of 10Excellent

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. 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. 2.Paste the server URL below as the Remote MCP server URL, then click Add.
  3. 3.Click Connect. A Repowise sign-in window opens. Approve access.
  4. 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.

Docs
bash
https://api.repowise.dev/mcp/a2aproject/a2a
Editors need an API key: sign in to create one.Sign in to connect

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

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.

Index your repo freeSee how Repowise worksFree for 2 public repos, with a page like this one.

Prefer local? pip install repowise && repowise init indexes your own checkout, no account needed.