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:

  1. AID Lookup (DNS): A client queries the TXT record for _agent.example.com. This is a lightweight, universal network call.
  2. Get the AgentCard Location: The DNS record returns the URI for the AgentCard. This could be https://example.com/agent.json, https://api.example.com/a2a/card, or anything else. The agent provider has full control.
  3. Fetch the AgentCard (HTTP): The client now makes an HTTP GET to the discovered URI.
  4. Initiate A2A Communication: The client parses the rich AgentCard and uses the information within—the preferredTransport, the securitySchemes, the skills—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: