Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .github/actions/spelling/allow.txt
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@
Blogs
CAs
CLIs
CTAs
Camry
Cjava
Cpzuhi
Expand Down Expand Up @@ -307,7 +308,7 @@
openaitx
openapis
openapiv
openapiv2

Check warning on line 311 in .github/actions/spelling/allow.txt

View workflow job for this annotation

GitHub Actions / Check Spelling

Ignoring entry because it contains non-alpha characters (non-alpha-in-dictionary)
oreilly
postgres
postgresql
Expand Down Expand Up @@ -347,6 +348,7 @@
svn
systemctl
tablefmt
tagline
tagwords
tasksget
taskslist
Expand All @@ -365,7 +367,7 @@
ugc
undoc
utm
venv-docs

Check warning on line 370 in .github/actions/spelling/allow.txt

View workflow job for this annotation

GitHub Actions / Check Spelling

Ignoring entry because it contains non-alpha characters (non-alpha-in-dictionary)
versioned
vnd
voa
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@
<!-- markdownlint-disable MD041 -->
<div style="text-align: center;">
<div class="centered-logo-text-group">
<img src="docs/assets/a2a-logo-black.svg" alt="Agent2Agent Protocol Logo" width="100">
<img src="docs/assets/a2a_logo/color/SVG/a2a_color.svg" alt="Agent2Agent Protocol Logo" width="100">
<h1>Agent2Agent (A2A) Protocol</h1>
</div>
</div>
Expand Down
114 changes: 69 additions & 45 deletions docs/index.md
Original file line number Diff line number Diff line change
@@ -1,41 +1,58 @@
---
hide:
- toc
- navigation
---

<!-- markdownlint-disable MD041 -->
<div style="text-align: center;">
<div style="text-align: center;" markdown>
<div class="centered-logo-text-group">
<img src="assets/a2a-logo-black.svg" alt="Agent2Agent Protocol Logo" width="100">
<h1>Agent2Agent (A2A) Protocol</h1>
<h1><img src="assets/a2a_logo/color/SVG/a2a_color.svg" alt="Agent2Agent Protocol Logo" width="500"></h1>
</div>

<p class="hero-tagline">An open protocol enabling communication and interoperability between opaque agentic applications.</p>

[Get started](./tutorials/python/1-introduction.md){ .md-button .md-button--primary }
[Read the spec](./specification.md){ .md-button }
</div>

## What is A2A Protocol?

Welcome to the **official documentation** for the **Agent2Agent (A2A) Protocol**, an open standard designed to enable seamless communication and collaboration between AI agents.

Originally developed by Google and now donated to the Linux Foundation, A2A provides the definitive common language for agent interoperability in a world where agents are built using diverse frameworks and by different vendors.
The **Agent2Agent (A2A) Protocol** is an open standard for seamless communication and collaboration between AI agents. In a world where agents are built using diverse frameworks and by different vendors, A2A provides the definitive common language for agent interoperability.

!!! abstract ""
Build with
**[![ADK Logo](https://google.github.io/adk-docs/assets/agent-development-kit.png){class="twemoji lg middle"} ADK](https://google.github.io/adk-docs/)** _(or any framework)_,
equip with **[![MCP Logo](https://modelcontextprotocol.io/mcp.png){class="twemoji lg middle"} MCP](https://modelcontextprotocol.io)** _(or any tool)_,
and communicate with
**![A2A Logo](./assets/a2a-logo-black.svg){class="twemoji lg middle"} A2A**,
**![A2A Logo](./assets/a2a_logo/icon/color/SVG/a2a_icon_color.svg){class="twemoji lg middle"} A2A**,
to remote agents, local agents, and humans.

## Get started with A2A
## Key Features

<div class="grid cards" markdown>

- :material-play-circle:{ .lg .middle } **Video** Intro in <8 min
- :material-account-group-outline:{ .lg .middle } **Interoperability**

<iframe class="video-container" src="https://www.youtube.com/embed/Fbr_Solax1w?si=QxPMEEiO5kLr5_0F" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
Connect agents built on different platforms (LangGraph, CrewAI, Semantic Kernel, custom solutions) to create powerful, composite AI systems.

- :material-play-circle:{ .lg .middle } **Course** [DeepLearning.AI](https://deeplearning.ai) - Intro to A2A
- :material-lan-connect:{ .lg .middle } **Complex Workflows**

[![A2A DeepLearning.AI](https://img.youtube.com/vi/4gYm0Rp7VHc/maxresdefault.jpg)](https://goo.gle/dlai-a2a)
Enable agents to delegate sub-tasks, exchange information, and coordinate actions to solve complex problems that a single agent cannot.

- :material-shield-key-outline:{ .lg .middle } **Secure & Opaque**

Agents interact without needing to share internal memory, tools, or proprietary logic, ensuring security and preserving intellectual property.

- :material-puzzle-outline:{ .lg .middle } **Extensible**

Add capabilities through formal protocol [extensions and custom bindings](./topics/extension-and-binding-governance.md), governed by a tiered promotion process so the core stays stable.

</div>

## Get started with A2A

<div class="grid cards" markdown>

- :material-book-open:{ .lg .middle } **Read the Introduction**

Expand All @@ -55,9 +72,7 @@ Originally developed by Google and now donated to the Linux Foundation, A2A prov

Build your first A2A-compliant agent with our step-by-step Python quickstart.

[:octicons-arrow-right-24: Python Tutorial](./tutorials/python/1-introduction.md)

[:octicons-arrow-right-24: Walkthrough with AI Agent Frameworks](https://github.com/holtskinner/A2AWalkthrough)
[:octicons-arrow-right-24: Hands-on-Tutorial](./tutorials/python/1-introduction.md)

- :material-code-braces:{ .lg .middle } **Explore Code Samples**

Expand All @@ -73,58 +88,67 @@ Originally developed by Google and now donated to the Linux Foundation, A2A prov

[:fontawesome-brands-java: Java](https://github.com/a2aproject/a2a-java)

[:octicons-code-24: C#/.NET](https://github.com/a2aproject/a2a-dotnet)
[:material-language-csharp: C#/.NET](https://github.com/a2aproject/a2a-dotnet)

[:fontawesome-brands-golang: Golang](https://github.com/a2aproject/a2a-go)

[:fontawesome-brands-rust: Rust](https://github.com/a2aproject/a2a-rust)

- :material-play-circle:{ .lg .middle } **Video** Intro in under 8 min

<iframe class="video-container" src="https://www.youtube.com/embed/Fbr_Solax1w?si=QxPMEEiO5kLr5_0F" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>

- :material-play-circle:{ .lg .middle } **Course** [DeepLearning.AI](https://deeplearning.ai) - Intro to A2A

[![A2A DeepLearning.AI](https://img.youtube.com/vi/4gYm0Rp7VHc/maxresdefault.jpg)](https://goo.gle/dlai-a2a)

</div>

## Why use the A2A Protocol
## How A2A Works with MCP

The Model Context Protocol (MCP) and the A2A Protocol are not competitors — they are highly complementary. They solve two different problems and are designed to work together.

- **MCP is for agent-to-tool communication:** it standardizes how an agent connects to its tools, APIs, and resources to get information. See [Model Context Protocol](https://modelcontextprotocol.io/).
- **A2A is for agent-to-agent communication:** as a universal, decentralized standard, A2A lets independent agents — including those using MCP — discover each other, delegate tasks, and share results.

Use MCP to equip an individual agent with the specific tools it needs to do its job (e.g., access to a GitHub repository or a SQL database). Use A2A to let that specialized agent securely collaborate with other agents across different frameworks.

<div style="text-align:center">

```mermaid
graph LR
flowchart LR
User(🧑‍💻 User) <--> ClientAgent(🤖 Client Agent)
ClientAgent --> A2A1(**↔️ A2A**) --> RemoteAgent1(🤖 Remote Agent 1)
ClientAgent --> A2A2(**↔️ A2A**) --> RemoteAgent2(🤖 Remote Agent 2)
RemoteAgent(🤖 Remote Agent)
RemoteTool(⚙️ Remote Tool)
ClientAgent -- Using <img src="assets/a2a_logo/icon/color/SVG/a2a_icon_color.svg" alt="Agent2Agent Protocol Logo" height="40" width="40"> --> RemoteAgent
ClientAgent -- Using <img src="https://modelcontextprotocol.io/mcp.png" alt="Agent2Agent Protocol Logo" height="40" width="40"> --> RemoteTool


style User fill:#fdebd0,stroke:#e67e22,stroke-width:2px
style ClientAgent fill:#d6eaf8,stroke:#3498db,stroke-width:2px
style RemoteAgent1 fill:#d6eaf8,stroke:#3498db,stroke-width:2px
style RemoteAgent2 fill:#d6eaf8,stroke:#3498db,stroke-width:2px
style A2A1 fill:#ebedef,stroke:#909497,stroke-width:2px
style A2A2 fill:#ebedef,stroke:#909497,stroke-width:2px
style RemoteAgent fill:#d6eaf8,stroke:#3498db,stroke-width:2px
style RemoteTool fill:#d6eaf8,stroke:#3498db,stroke-width:2px
```

</div>

<div class="grid cards" markdown>

- :material-account-group-outline:{ .lg .middle } **Interoperability**

Connect agents built on different platforms (LangGraph, CrewAI, Semantic Kernel, custom solutions) to create powerful, composite AI systems.

- :material-lan-connect:{ .lg .middle } **Complex Workflows**

Enable agents to delegate sub-tasks, exchange information, and coordinate actions to solve complex problems that a single agent cannot.
[:octicons-arrow-right-24: A2A and MCP — deeper dive](./topics/a2a-and-mcp.md)

- :material-shield-key-outline:{ .lg .middle } **Secure & Opaque**
## What A2A Is Not

Agents interact without needing to share internal memory, tools, or proprietary logic, ensuring security and preserving intellectual property.
A2A is a focused protocol. To set expectations, here is what it explicitly does not try to be:

</div>
- **Not an agent development kit** like LangGraph, CrewAI, or ADK for building agentic applications. A2A is the communication layer between agents built with any of these.
- **Not a sub-agent or tool-call protocol.** A2A does not specify how an agent talks to its own sub-agents or how it invokes tools — use your framework's native primitives, or MCP, for those.
- **Not a replacement for [MCP](https://modelcontextprotocol.io/).** MCP standardizes agent-to-tool communication; A2A standardizes agent-to-agent communication. They are complementary (see [above](#how-a2a-works-with-mcp)).
- **Not an interactive messaging app** like Slack, Discord, WhatsApp, or Telegram. A2A is a machine-to-machine protocol for autonomous agents.

---
## Governance & Open Source

## How does A2A work with MCP?
A2A was originally developed by Google and donated to the Linux Foundation. It is maintained by a Technical Steering Committee with representatives from AWS, Cisco, Google, IBM Research, Microsoft, Salesforce, SAP, and ServiceNow, and supported by a broad community of [partners](./partners.md).

![A2A MCP Graphic](assets/a2a-mcp-readme.png){width="60%"}
{style="text-align: center; margin-bottom:1em; margin-top:1em;"}
For details on how the project is run, see [`GOVERNANCE.md`](https://github.com/a2aproject/A2A/blob/main/GOVERNANCE.md) and [`MAINTAINERS.md`](https://github.com/a2aproject/A2A/blob/main/MAINTAINERS.md).

A2A and [Model Context Protocol (MCP)](https://modelcontextprotocol.io/) are complementary standards for building robust agentic applications:
## License

- **Model Context Protocol (MCP)**: Provides [agent-to-tool communication](https://cloud.google.com/discover/what-is-model-context-protocol). It's a complementary standard that standardizes how an agent connects to its tools, APIs, and resources to get information.
- **IBM ACP**: [Incorporated into the A2A Protocol](https://github.com/orgs/i-am-bee/discussions/5)
- **Cisco agntcy**: A framework that provides components to the Internet of Agents with discovery, group communication, identity and observability and leverages A2A and MCP for agent communication and tool calling.
- **A2A**: Provides agent-to-agent communication. As a universal, decentralized standard, A2A acts as the public internet that allows [ai agents](https://cloud.google.com/discover/what-are-ai-agents)—including those using MCP, or built with frameworks like agntcy—to interoperate, collaborate, and share their findings.
Comment on lines -127 to -130

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there a specific reason why this integration section was removed? This includes all the A2A partners and complementary protocols and removing these has community impact. Can we get this back?

The A2A Protocol is licensed under the [Apache License 2.0](https://github.com/a2aproject/A2A/blob/main/LICENSE) and welcomes [contributions](https://github.com/a2aproject/A2A/blob/main/CONTRIBUTING.md) from the community.
9 changes: 9 additions & 0 deletions docs/stylesheets/custom.css
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,15 @@
text-align: left;
}

/* Hero tagline: sits between the logo and the primary CTAs. */
.hero-tagline {
font-size: 1.25rem;
line-height: 1.5;
color: var(--md-default-fg-color--light);
max-width: 42em;
margin: 1em auto 1.75em;
}

.install-command-container {
max-width: 600px;
margin: 2.5em auto;
Expand Down
4 changes: 2 additions & 2 deletions mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -79,8 +79,8 @@ theme:
font:
text: Google Sans
Comment thread
msampathkumar marked this conversation as resolved.
code: Roboto Mono
logo: assets/a2a-logo-white.svg
favicon: assets/a2a-logo-black.svg
logo: assets/a2a_logo/icon/white/SVG/a2a_icon_white.svg
favicon: assets/a2a_logo/icon/white/SVG/a2a_icon_white.svg
icon:
repo: fontawesome/brands/github
view: material/pencil-box-multiple
Expand Down
Loading