NewAgent, discovers its published skills, and registers each skill as a tool named a2a_<server>_<skillId>. The LLM sees these tools identically to native tools and can invoke them in any run.
A2A server
Any agent can be exposed as an A2A HTTP server. CallRunA2A(ctx) after NewAgent — the server blocks until the context is cancelled, then shuts down gracefully.
Endpoints:
Custom server config
Currently supported auth scheme: static bearer token. OAuth 2.0 / OIDC, API key, and mTLS are planned but not yet implemented.
A2A client
Remote A2A agents connect as tool providers. The SDK resolves the agent card atNewAgent, discovers published skills, applies any SkillFilter, and registers each as a tool named a2a_<server>_<skillId>. Setup fails fast if a server is unreachable.
WithA2AConfig
WithA2AClients
SkipTLSVerify is available on client config for local HTTPS development only — avoid using it in production.Runtime changes
Add or remove A2A agents afterNewAgent via a.A2ARegistry() — skills are re-discovered on each run using the current registry state, with no restart required.
Examples
A2A Server
Inbound agent card and JSON-RPC
A2A Config
Outbound WithA2AConfig
A2A Client
Outbound WithA2AClients
Related
Sub-agents
In-process specialist delegation
Approvals
A2A skills follow the same approval policy