Skip to main content
agentscope-extensions-a2a implements the A2A protocol and ships two sub-modules:
  • agentscope-extensions-a2a-client: wraps a remote A2A Agent as a local Agent you can call(...) directly.
  • agentscope-extensions-a2a-server: exposes a local ReActAgent as an A2A Server.
The two modules are independent — use either one alone.

Client: call a remote A2A Agent

Add the dependency

Pass an AgentCard directly

Auto-discover via well-known

A2aAgent is a subclass of AgentBase, so it composes naturally with Pipeline, MsgHub, Subagent, etc.

Server: expose a ReActAgent as an A2A Server

Add the dependency

Build the server

AgentScopeA2aServer does not bind a port or expose endpoints itself; it only assembles components and the request-handling chain. You wire transport into Spring Boot, Quarkus, Vert.x, etc. as you prefer.

Optional components

  • TaskStore / QueueManager: task and event queue stores; in-memory by default, swap for persistent versions in production.
  • PushNotificationConfigStore / PushNotificationSender: outbound notifications.
  • AgentRegistry: register AgentCard to an external registry such as Nacos (see Nacos).

Spring Boot Starter

If you’re on Spring Boot, prefer agentscope-spring-boot-starter-a2a-server — it auto-configures the server and controller. See Quickstart.