a2aproject/a2a-go

Golang SDK for A2A Protocol

What it solves

This library provides a standardized way for AI agents to communicate with each other and with clients. It implements the Agent2Agent (A2A) Protocol v1.0, ensuring that agentic applications can interoperate regardless of the underlying transport layer.

How it works

The SDK provides two primary components: a server SDK (a2asrv) for building agents that can receive and handle requests, and a client SDK (a2aclient) for consuming agent functionality. It abstracts the transport layer, allowing developers to use gRPC, REST, or JSON-RPC to send and receive messages. It also includes a CLI tool for discovering agents, sending messages, and exposing local scripts as agents.

Who it’s for

Go developers building agentic applications that need to follow the A2A protocol for interoperability.

Highlights

  • Protocol Compliance: Fully adheres to the A2A v1.0 Protocol Specification.
  • Multi-Transport Support: Built-in bindings for gRPC, REST, and JSON-RPC.
  • Extensible Architecture: Pluggable extension points for authentication, messaging, and database backends.
  • Integrated CLI: A command-line tool for agent discovery and interaction.

Related

  • Project
  • Project
  • Project
  • Project
  • Project