CiteStat/Wiki/DNS-AID — publishing AI agents in the DNS

DNS-AID — publishing AI agents in the DNS

AI Search & GEO

TL;DR

DNS-AID (DNS for AI Discovery) lets an organization list its AI agents in the DNS. The entry point is an SVCB record at _index._agents.<domain> that names the host serving the organization's agent index; each agent can have its own SVCB record with its protocol (MCP, A2A), port and capability metadata. It is an individual IETF Internet-Draft (draft-mozleywilliams-dnsop-dnsaid-02, 27 May 2026) by authors from Infoblox, Deutsche Telekom and Amazon — not a working-group document — and on 26 October 2026 none of 9 well-known domains we looked up publishes it.

Explain Simply

A model card is a brochure an agent has to download and read before it knows where to call. DNS-AID puts the phone number in the phone book: one DNS lookup returns the address, the port and the protocol, and the answer is cached and can be signed.

The organization index (§3.2) — the well-known entry point:

_index._agents.example.com. 3600 IN SVCB 1 agent-index.example.com. (
    alpn="a2a" port=443 ipv4hint=192.0.2.1 )

The TargetName MUST be set and MUST NOT contain underscores: clients reach the index over public TLS, and a certificate cannot cover an _label. What the index host serves (its format and schema) is out of scope for the draft.

One agent (§3.1) — the form clients try first when they already know the agent:

agent-name.example.com. 3600 IN SVCB 1 . (
    alpn="mcp,h2" port=443
    well-known=agent-card.json cap=<descriptor URI> cap-sha256=<digest> )

One agent protocol per record: two records for an agent that speaks MCP and A2A, never alpn=mcp,a2a. The new SvcParamKeys (cap, cap-sha256, well-known, bap, policy, realm) have no IANA numbers yet, so a resolver may show them as keyNNNNN.

Trust: the records SHOULD be DNSSEC-signed (MUST when TLSA is used for the agent's TLS key). A client that fetches a descriptor whose SHA-256 does not match cap-sha256 MUST refuse it. Records are hints, not proof that an agent behaves well.

TXT at the same name is a fallback the draft calls not desirable: it has no TargetName, port or ALPN.

Not DNS-AID: a TXT record at _ai-discovery.<domain>. No draft defines that name; until 26 October 2026 our own check asked for it.

⚡Why It Matters

An agent that must download and parse a model card before every connection is slow and depends on a web page staying the same. A DNS answer is small, cached for its TTL, can be DNSSEC-signed, and works the same inside a company network. For an organization that runs agents, DNS-AID would be the cheapest way to let other agents find them — if clients adopt it. Today none of the big agent platforms looks it up, so it is worth a record only if you already run an MCP server or an A2A endpoint.

🔍How CiteStat Checks

CiteStat looks up SVCB and TXT at _index._agents.<domain> (the scanned host without www.) over DNS-over-HTTPS. An SVCB record whose TargetName names a host without underscores → pass (the detail lists target, port, alpn and whether the answer is DNSSEC-validated). SVCB records whose TargetName is "." or has an underscore → medium. Only TXT → low. No record → Not applicable. No DNS answer (timeout, SERVFAIL) → Could not check.

CiteStat Score Impact

A core check on the Agent Readiness card only when the domain publishes something at _index._agents; a domain with no record is left out of the score (score = core checks passed / core checks that apply × 10). It does not change the headline SEO score.

Fix Difficulty

Editor: Not relevant | Developer: Medium (needs a DNS host that supports SVCB) | AI Agent: Easy