Awesome AI AgentsCommunication Protocols

a2aproject/a2a-go

⭐ 460 Go repository created 2025-05-30

a2a-go is the official Go implementation of the Agent2Agent (A2A) protocol, a specification for letting independently built agents talk to each other over a common wire format. The library covers both sides of the connection. The a2asrv package builds a transport-agnostic request handler around a user-supplied AgentExecutor, which is then wrapped in a gRPC, REST or JSON-RPC binding and registered with an ordinary Go server, so the same agent logic can be exposed over any of the three transports without being rewritten. The a2aclient package works from an AgentCard, the protocol document that describes where an agent lives and what it can do: a resolver fetches the card, a factory builds a matching client from it, and the client then sends messages and reads task updates from the remote agent. The SDK targets version 1.0 of the A2A specification and exports the supported protocol version in code, keeping the library version separate from the specification version. Extension points let integrators plug in their own transport implementations, authentication middleware, messaging layers and database backends for task and message storage, rather than being tied to the defaults. A companion command-line tool, installed as a2a, discovers agents at a URL, resolves their agent cards, sends messages, inspects tasks and can wrap a local script or executable as an A2A server for quick experiments. The repository ships a helloworld example and points at a separate samples repository for larger scenarios. It requires Go 1.25 or newer and is published under the Apache 2.0 licence by the a2aproject organisation that maintains the protocol itself. The audience is Go developers who need their services to interoperate with agents written in other languages or hosted by other vendors, and who prefer a maintained protocol SDK over hand-rolled HTTP glue.

https://github.com/a2aproject/a2a-go

a2aa2a-clienta2a-protocola2a-serveragent-to-agentagent-interoperabilityagentsgosdkgrpcjson-rpcmultiagent-systemsprotocol

Also in Communication Protocols

novuhq/novu

Novu is an open-source communication infrastructure that unifies notification delivery across various channels for both products and AI agents, offering a single API for multi-channel messaging, wo...

google-agentic-commerce/AP2

Agent Payments Protocol (AP2) is a project focused on creating a secure and interoperable protocol for AI-driven payments, providing code samples and demos to facilitate development and integration.

a2aproject/a2a-samples

Official sample repository for the Agent2Agent (A2A) protocol, with runnable agent and host implementations in Python, Go, Java, JavaScript and C# built on the official A2A SDKs.

agent-network-protocol/AgentNetworkProtocol

AgentNetworkProtocol (ANP) is an open-source protocol designed to enable secure, decentralized, and efficient communication and collaboration among intelligent agents, aiming to become the HTTP of the Agentic Web era.

universal-tool-calling-protocol/python-utcp

Python reference implementation of the Universal Tool Calling Protocol, a plugin-based standard that lets agents discover and call existing tools directly over HTTP, SSE, CLI and other transports.

google-agentic-commerce/a2a-x402

Specification and reference libraries for the x402 extension to the Agent-to-Agent protocol, letting one agent charge another for a service through on-chain stablecoin payments in a three-message flow.

a2aproject/a2a-java

a2a-java is the official Java SDK for the Agent2Agent protocol, providing client and server modules that expose agentic Java applications over JSON-RPC, gRPC and REST transports.

thu-nics/C2C

Research implementation of Cache-to-Cache, a method that lets two large language models exchange semantics directly by projecting and fusing their KV-caches instead of passing generated text between them.