Components in A2A

Here are the core components of A2A interactions:

  • Agent Catalog or Agent Registry
  • Agent Card

Agent Catalog (Registry)

The Agent Catalog, also referred to as the Agent Registry, acts as a searchable directory of available agents. It doesn't call agents or manage their internal logic.

Here are the key responsibilities of the agent catalog:

  • Maintain the list of available agents

  • Index agent metadata for search

  • Enforce access rules

  • Return agent details, that is, Agent Cards

Agents can be discovered in two main ways:

  • Listing Available Agents: By passing an empty query, a client can retrieve a list of all agents it's allowed to access.
  • Keyword Search: The agent registry supports keyword‑based search across agent metadata. Typical search scenarios include finding an agent by name or description. The search results return agent references, that is, each result points to the agent’s Agent Card.

Agent Card

An Agent Card is a machine‑readable JSON document that describes an agent. It's the core building block that makes discovery and interoperability possible in A2A. You can consider an Agent Card as an agent’s digital profile or business card.

An Agent Card allows a client to answer the following questions without prior knowledge of the agent:

  • What's this agent?

  • What capabilities or skills does it provide?

  • How do I call it?

  • What authentication is required?

Call Agents

After an agent is discovered and its Agent Card retrieved, calling the agent follows a consistent pattern - using asynchronous calls or streaming. Streaming includes message/send and message/stream methods.

  1. Discover the agent via the registry

  2. Retrieve the agent card

  3. Authenticate according to the agent card’s requirements

  4. Call the agent using the A2A invocation API