-
Notifications
You must be signed in to change notification settings - Fork 2.1k
Description
Is your feature request related to a problem? Please describe.
Currently, the specification assumes that each agent is served from a unique base URL, effectively mapping one agent per host. However, in practice, it is common for a single host to act as a routing layer for multiple agents, each accessible via different paths under the same base URL. This setup creates the need for a standardized (open) discovery mechanism that allows clients to enumerate and resolve multiple agents served from a common origin.
Describe the solution you'd like
I propose supporting the discovery of multiple agents under a shared base URL by leveraging the API Catalog format defined in the corresponding Internet Draft. Specifically, a host could expose an API Catalog that lists multiple agent entries using linkset objects. Each entry would contain:
- An
anchorrepresenting the base path for an individual agent (e.g., https://example.org/agents/agent1) - A
describedbyrelation pointing to an Agent Card that describes the agent's capabilities, metadata, and entry points.
This approach would allow clients to dynamically discover and integrate with multiple agents hosted under a single origin, in a standardized and interoperable way.
For example, if example.org is hosting agent1 and agent2, the expected https://example.org/.well-known/api-catalog would look like the following:
{
"linkset": [
{
"anchor": "https://example.org/agents/agent1",
"describedby": [
{
"href": "https://example.org/agents/agent1/agent.json",
"type": "application/json",
"title": "Agent Card for Agent 1"
}
]
},
{
"anchor": "https://example.org/agents/agent2",
"describedby": [
{
"href": "https://example.org/agents/agent2/agent.json",
"type": "application/json",
"title": "Agent Card for Agent 2"
}
]
}
]
}
Describe alternatives you've considered
An alternative approach discussed in the GitHub Discussion involves using a custom schema to define and expose agent API endpoint information.
Additional context
- GitHub Discussion
- GitHub Issue on a2a-python
- Internet-Draft api-catalog: a well-known URI and link relation to help discovery of APIs
- RFC 9264 Linkset: Media Types and a Link Relation Type for Link Sets
Code of Conduct
- I agree to follow this project's Code of Conduct