Skip to main content
Expose any agent as a spec-compliant A2A protocol endpoint (v1.0).

Setup

Endpoints

JSON-RPC methods (v1.0)

Both the PascalCase names and the spec slug aliases are accepted on every method, so you can call whichever your client library prefers.

Push notifications

Register an HTTPS webhook against a task; the server POSTs the streaming events (status + artifact updates) as they happen. Useful when the client can’t hold an SSE connection open for the full task lifetime.
The default PushNotificationDispatcher SSRF-guards every URL: HTTPS only, no localhost, no loopback / link-local / RFC1918 hosts. Pass allow_insecure_webhooks=True (or your own dispatcher) to relax this for development.

Task store extension

A2AServer stores tasks in an InMemoryTaskStore by default (LRU-bounded at 10K entries). Swap in a persistent backend by implementing the TaskStore protocol:

Spec compliance matrix

Example requests

A2A Client (A2AAgent)

Use A2AAgent to call a remote A2A server from within your agent tree:
The agent also exposes the rest of the v1.0 method surface as async helpers, all routed through the same JSON-RPC channel:

v1.0 Protocol Details

A2A v1.0 uses:
  • PascalCase JSON-RPC method names (SendMessage, not message/send)
  • Lowercase role values (user, agent)
  • Unified Part type with oneof content fields (text, raw, url, data) plus mediaType
  • supportedInterfaces on AgentCard (replaces top-level url)