An agent registry is a catalog of AI agents and the capabilities they expose. Each agent publishes a machine-readable description of itself (in the A2A protocol, an agent card), and other agents or orchestrators query the registry to find an agent that has the skill, input format or capability they need.
A single agent can hard-code the addresses of the tools it calls. A system of many agents cannot: agents are added, upgraded and retired independently, and an orchestrator has to choose among them at runtime. Without a registry, every caller keeps its own copy of what each agent can do, and those copies drift. An agent registry gives the system one source of truth, the same role a service registry plays for microservices and a schema registry plays for event-driven systems.
The Agent2Agent (A2A) protocol defines the agent card, a JSON document that describes an agent. A card typically includes:
text or application/json;
By convention, an agent serves its own card at /.well-known/agent.json. A registry collects many cards in
one place so they can be searched.
| Service registry | Schema registry | Agent registry | |
|---|---|---|---|
| Stores | Network locations of service instances | Data and API contracts | Agent cards: identity, skills, capabilities |
| Queried by | Load balancers, clients | Producers, consumers, CI | Orchestrators and other agents |
| Typical question | "Where is service X?" | "What does this message look like?" | "Which agent can do task Y?" |
| Change control | Health checks | Compatibility rules | Versioning and validation of cards |
Apicurio Registry stores agent cards as AGENT_CARD artifacts, so each card is validated and versioned
alongside your other schemas and API definitions. With A2A support enabled, it provides:
GET /.well-known/agents, which searches registered cards by name (with *
wildcards), skill, capability, inputMode and outputMode;GET /.well-known/agents/{groupId}/{artifactId}, which returns a single card;GET /.well-known/agent.json, Apicurio Registry's own agent card, which advertises skills such as
schema validation, schema search and compatibility checking;Example search for agents that can translate and support streaming:
curl "http://localhost:8080/.well-known/agents?skill=translation&capability=streaming:true"
APICURIO_FEATURES_EXPERIMENTAL_ENABLED=true and APICURIO_A2A_ENABLED=true.