Finding door a2a
Use DNS to find an agent’s front door: AID’s TXT record points to an A2A AgentCard so clients can discover and connect cleanly.
Finding the Front Door
Look at the A2A specification. It’s a serious piece of work. It defines everything you need for robust, asynchronous agent communication: tasks, artifacts, state transitions, security schemes modeled on OpenAPI. The AgentCard
is particularly well-thought-out. It’s a rich manifest describing what an agent is, what skills it has, and precisely how to interact with it across multiple transports.
The AgentCard
is the detailed blueprint for an agent’s house. It shows you the floor plan, the wiring, the plumbing. It tells you that the front door uses a JSON-RPC lock and the back door uses gRPC.
But what’s the street address?
Right now, finding an AgentCard
relies on convention. The common practice is to look for a file at a well-known URI, like https://example.com/agent.json
. This is a sensible starting point, but it's a web-layer convention, not a network-layer primitive. It has subtle but important limitations. It assumes the agent's entry point lives at the root of a domain. It requires an HTTP GET, which is a relatively heavy operation just to find a location. And it's just a convention; there's no guarantee the file will be there.
This is the bootstrapping problem. How does an agent, or a user, get the very first piece of information needed to start a conversation? How do you find the front door?
The most robust and elegant solutions in network architecture are often the simplest ones, built on the lowest reliable layer. For service location, that layer is DNS.
This is what Agent Interface Discovery (AID) proposes. It’s a simple, open standard that uses a single DNS TXT
record to answer one question: "Given a domain, where can I find its agent interface?"
It looks like this:
_agent.example.com. IN TXT "v=aid1;uri=https://example.com/agent.json;p=a2a"
Look at what this does. It doesn't try to replicate the richness of the AgentCard
. The AgentCard
is great; it does its job perfectly. AID does a different, more fundamental job. It provides the single, canonical pointer to the AgentCard
.
AID is not a replacement for the AgentCard
. It’s the globally-resolvable signpost that points you to it.
The flow becomes beautifully layered:
- AID Lookup (DNS): A client queries the
TXT
record for_agent.example.com
. This is a lightweight, universal network call. - Get the
AgentCard
Location: The DNS record returns the URI for theAgentCard
. This could behttps://example.com/agent.json
,https://api.example.com/a2a/card
, or anything else. The agent provider has full control. - Fetch the
AgentCard
(HTTP): The client now makes an HTTP GET to the discovered URI. - Initiate A2A Communication: The client parses the rich
AgentCard
and uses the information within—thepreferredTransport
, thesecuritySchemes
, theskills
—to begin a proper A2A conversation.
This is a clean separation of concerns. DNS is for finding the location of services. HTTP is for interacting with them. A2A is the rich language you speak once you've made contact.
Why should the A2A community care about this? Because it makes A2A agents first-class citizens of the internet.
For Users, it’s zero-friction. Imagine connecting your agent host to a new service. Instead of hunting for the agent.json
URL in their developer docs, you just type the domain name. The rest is automatic. The friction of adoption evaporates.
For Agents, it enables true autonomy. The grand vision of A2A is a world where agents can discover and collaborate with each other dynamically. An agent shouldn't need a hardcoded list of agent.json
URLs. It should be able to take a domain name—an identity—and discover the agent for itself. AID provides this fundamental discovery primitive.
The AgentCard
is the right way to describe an agent's capabilities. But putting the location of that card in DNS is the right way to make it universally discoverable. We've already built the detailed floor plan for the house with the A2A spec. Now let's put a standardized, easy-to-find address on the mailbox.
Let’s give our agents a permanent, public address.
Learn more and see how simple it is to publish a record at aid.agentcommunity.org.
Related Reading: