a2a-rust
An independent, type-safe async Rust SDK implementing the Agent2Agent (A2A) protocol's v1.0.1 spec across JSON-RPC, REST, WebSocket, and gRPC, for building interoperable AI agent clients and servers.
a2a-rust is a pure Rust implementation of the Agent2Agent (A2A) protocol, an open, vendor-neutral standard for AI agent interoperability originally developed by Google and donated to the Linux Foundation. It targets the published v1.0.1 wire specification and is graded against the A2A project's own conformance suites, the Technology Compatibility Kit and ACTS, recording where it falls short of either.
The SDK spans four transports for both client and server: JSON-RPC 2.0, REST, WebSocket, and gRPC, with serde-annotated wire types matched to the spec. It supports SSE streaming for real-time messages and task subscriptions, pluggable push notifications over HTTP webhooks, agent card discovery with hot-reload, and JWS/ES256 agent card signing.
Its server framework offers pluggable task and push-config stores, with in-memory, SQLite, and PostgreSQL backends and migrations, plus multi-tenancy support. It is an independent project, not affiliated with the A2A project, the Linux Foundation, or Google.