Connections & toolsReviewed

A2A

Agent2Agent Protocol

A2A project / Linux Foundation

Released · v1.0.1
Stefan Hamann · English
Text

What A2A enables

A2A lets agent applications publish their capabilities and work on tasks together. A shopping assistant can ask a business agent for a quote, for example. Messages, task status and results follow a shared protocol.

Connections with other protocols

  • An agent uses MCP to call tools. Through A2A it works with another agent application that handles a task itself.
  • PACT adds personal agent identity and optional account access to A2A. AP2 adds verifiable purchase and payment approvals.

Versions and licence

Published version
v1.0.1 ·
Working draft
—

Changelog dated 26 May 2026; GitHub release dated 28 May. SDKs may specify different compatibility levels.

Licence / terms
Apache-2.0 for the protocol repository; check SDK licences separately.
Licence and terms ↗

An example flow

  1. A business describes its agent and capabilities in an Agent Card.
  2. A shopping assistant sends it a task, such as a request for a quote.
  3. The business agent handles the request and reports progress or asks for more information.
  4. The shopping assistant receives the result and can present it to its user.

SDKs and examples

These libraries and examples help you get started. Each entry lists the language, package and supported version.

From the protocol projectTypeScript · JavaScript

A2A JavaScript

Includes: Agent client and server SDK

Package / module: @a2a-js/sdk

Version & compatibility: 1.3.0; A2A 1.0.0 support according to the README

The official JavaScript package is @a2a-js/sdk.

From the protocol projectPython

A2A Python

Includes: Python SDK

Package / module: a2a-sdk

Version & compatibility: 1.2.3 · Published 19 October 2026

Extras select the required transport. The SDK also documents a 0.3 compatibility mode.

From the protocol projectRust

A2A Rust

Includes: Client and server SDK family

Package / module: a2a-lf; a2a-client-lf; a2a-server-lf

Version & compatibility: docs.rs 0.4.2; embedded README example still uses 0.2

a2a-lf is imported as a2a in Rust code.

From the protocol projectGo

A2A Go

Includes: Go SDK

Package / module: github.com/a2aproject/a2a-go/v2

Version & compatibility: Check the current pinned release

The module path for this SDK line ends in /v2.

From the protocol projectJava

A2A Java

Includes: SDK

Package / module: org.a2aproject.sdk:a2a-java-sdk-reference-jsonrpc

Version & compatibility: 1.4.0.Final · Published 28 September 2026

The listed Maven coordinate contains the JSON-RPC reference implementation. Clients and other transports have separate modules.

Practical integration

  • The Agent Card lists available interfaces and authentication methods. Choose the SDK for the transport you use.
  • SDKs support different protocol versions. Each package entry describes its connection to A2A 1.0 or earlier versions.

Related protocols

Original sources