Official SDKs

The A2A project provides official SDKs in six languages, so you can implement A2A servers (exposing an agent) and clients (calling other agents) in a language you already know. The SDKs evolve with the protocol, and the official v1.0 SDKs interoperate with agents running older versions (see What’s New in A2A Protocol v1.0 ).

Languages and repositories

LanguageRepository
Pythona2a-python
Goa2a-go
Javaa2a-java
JavaScripta2a-js
C#/.NETa2a-dotnet
Rusta2a-rs

Samples and tools

  • Samples: the a2a-samples repository offers samples across languages, including clients, servers, and integrations with agent frameworks.
  • A2A CLI: the official command-line client for discovering, messaging, and managing any A2A agent from a terminal. See Introducing the A2A CLI ; the repository is a2a-cli .
  • Validation tools: the A2A Inspector and the A2A TCK help verify that an agent implementation follows the protocol; see the Roadmap .

Where to start

  1. Read Key Concepts to learn about Agent Cards, tasks, messages, and artifacts.
  2. Follow the Python tutorial to build your first A2A agent from scratch.
  3. Consult the Specification when you need protocol details.

Community SDKs and framework integrations

For languages the official SDKs do not cover (for example Swift, C++, PHP, and Elixir), community-maintained implementations exist, and many agent frameworks ship built-in A2A integrations. See the Community Hub .

Source: A2A official documentation · SDK