A2AClient provides a Python interface for communicating with any A2A protocol compatible server. This includes:
- Agno AgentOS instances with A2A interface enabled
- Google ADK agents
- Any other A2A-compatible agent server
Quick Start
Connecting to Agno AgentOS via A2A interface
Connecting to Google ADK
Google ADK uses JSON-RPC mode:Streaming Responses
Stream responses in real-time:Authentication
AgentOS instances running withauthorization=True require a JWT on every A2A request. Pass it via headers:
send_message, stream_message, and get_agent_card all accept headers. The token needs the target’s run scope (agents:run, or per-resource agents:my-agent:run) for message:send and message:stream. See Scopes for the full mapping.
The user_id parameter sets userId in the message metadata. AgentOS honors it for anonymous callers only. When the request carries a JWT, the run is attributed to the token’s principal and user_id is ignored.