No New Authority: Publishing and Finding MCP Agents in DNS
No new authority: your domain already is one.
The problem: how does a client find a server?
Today an MCP client finds a server by a hardcoded URL or a central catalog someone has to operate, secure and be trusted to run. Both break past what one operator can model.
1 · Hardcoded URL
breaksStale endpoints. The URL is baked into config. When the endpoint moves, the client keeps calling the old one.
2 · Central catalog
takes rentA registry in the middle of every relationship. It has to be operated, secured and trusted, and it takes rent on each connection.
3 · DNS
no new authorityThe publisher's own zone is the authority. The naming and trust system the internet already runs. Nothing new to operate.
Guided walkthrough
Publish, look up, verify, connect, get refused: 17 steps in seven chapters. Click a chapter or a log line for detail.
Zone viewer · example.com
The three discovery states
What you know at the start decides where you begin. All three end in the same place: a DNS lookup you can verify.
What goes where
The whole example.com side, paste-ready. Hover or tab to any SvcParam to see what it does and which private-use key number the SDK puts on the wire.
example.com zone file
RFC 9460 · RFC 6698/7671 · RFC 4035, unchanged3 1 1).Come to IETF 127
San Francisco · 14–20 November 2026 · Hilton Union Square
DAWN, Discovery of Agents With Names, was chartered in October 2026 (Internet Area; chairs Dapeng Liu and Frank Brockners). IETF 127 is its first meeting as a working group; the slot is being scheduled. DNS-AID is one input among several. The group needs people who run MCP servers and clients: your use cases, your failure stories, your objections.
Try it yourself / reproduce the demo
The on-stage demo: publish a clock MCP agent into a Route 53 zone, find it, verify it, call it, get refused by its policy, clean up. Uses the SDK dns-aid (PyPI, Apache-2.0).
export ZONE=example.com # your Route 53 zone export HOST=mcp.example.com # your MCP host alias dns-aid='uvx --from "dns-aid[cli,mcp]==0.28.1" dns-aid'
export DNS_AID_POLICY_MODE=strictWith strict, a policy violation raises PolicyViolationError. The default, permissive, only logs it.
Momentum
Who already references DNS-AID, and what a live census of the internet measures.
Since May 2026: 21 IETF drafts cite DNS-AID, Cloudflare's agent-readiness scanner checks for it, and Open Agent Commerce names it as its discovery layer.
A continuous census of 16 agent-discovery mechanisms. Figures for 21 Oct 2026. Publishing, probed and errored are reported separately. A timeout is not a "no".
_agent TXT); 492 with DNS-AID draft-02 namingHow a domain announces MCP today (domains, 21 Oct)
The most common MCP signal is already a DNS name, and it has no spec behind it. A bare hostname carries no protocol, capabilities, key or signature. DNS-AID gives that name a record with meaning.
Median response time: DNS vs HTTPS well-known
About 16× faster at the median. One measurement per answering domain. A 404 counts as an answer, a timeout doesn't. Records sit at _index._agents on 3 domains and at the flat agent name on 2: the naming migration shows up in the data.
Source: agentcensus.io/census and /overview. The daily population varies (75k–176k domains), so these are snapshot and cumulative counts, not a trend claim.
What this is not DAWN status, and claims this page does not make
What this is not. IETF DAWN (Discovery of Agents With Names) was chartered in October 2026 (Internet Area; chairs Dapeng Liu, Frank Brockners). Its charter does not name DNS-AID: DNS-AID is an input to the working group, not a WG document. No claim here of AGNTCY, NANDA, A2A or MCP spec integration, or of BBC production use.
What's still open
The honest gaps. Each is a place to help.
Index format is out of scope
_index._agents points at an index, but the draft does not define the index format. The SDK also accepts a TXT form agents=name:proto,….
No IANA key numbers yet
cap, cap-sha256, bap, policy, realm, well-known have no assigned SvcParamKey numbers. The SDK uses private-use key65400–key65409.
Search is out of scope
Finding agents by capability is left to any directory or search (§3.3). DNS-AID only makes the answers verifiable. In practice: agentcensus.io as the directory, DNS as the check (state 3).
draft-02 §3.3DNSSEC deployment is uneven
TLSA needs DNSSEC, and many zones aren't signed. Clients choose a posture: permissive (default), preferred or strict.
draft-02 §1.1ALPN ids are placeholders
mcp and a2a in alpn are placeholders (§7.3). Don't read them as TLS negotiating "mcp".
The SEP is still a draft
io.github.dns-aid/discovery is a proposed MCP Extensions Track SEP, not yet filed. Reference implementation: dns-aid-core.
Jargon buster
The ten terms used on this page, one line each.
Show all terms SVCB, TLSA, DANE, DNSSEC, AD bit, AliasMode / ServiceMode, SvcParamKey, RPZ, SEP, alpn
- SVCB
- Service Binding record (RFC 9460). One DNS record that says where a service lives and how to reach it: target host, port, protocol and extra parameters.
- TLSA
- A record that pins which TLS certificate or public key a server should present. Lives at
_443._tcp.<host>. - DANE
- DNS-based Authentication of Named Entities (RFC 6698/7671). Using TLSA records, protected by DNSSEC, to check a server's TLS key.
- DNSSEC
- Signatures on DNS data (RFC 4035). Each zone is vouched for by its parent, from the root down, so a resolver can check an answer wasn't forged.
- AD bit
- "Authenticated Data" flag in a DNS response. A validating resolver sets it when the answer passed DNSSEC validation. It proves origin, not safety.
- AliasMode / ServiceMode
- The two SVCB forms. Priority
0is AliasMode: "look over there instead". Priority1or higher is ServiceMode: the actual endpoint and its parameters. - SvcParamKey
- The name of one parameter in an SVCB record, like
alpnorport. New keys need IANA numbers; until then the private-use range (key65280–key65534) is used. - RPZ
- Response Policy Zone. Resolver-side rules, published as a DNS zone, that rewrite or block answers. DNS-AID's PolicyCompiler can emit them.
- SEP
- Specification Enhancement Proposal: how changes to MCP are proposed. Extensions follow the Extensions Track (SEP-2133).
- alpn
- Application-Layer Protocol Negotiation id. In SVCB it names the protocol suite for the record. DNS-AID's
mcp/a2avalues are placeholders, and one record carries one suite.
References
Primary sources behind every claim on this page. Status as of 22 Oct 2026.
- 2026-05-27draft-mozleywilliams-dnsop-dnsaid-02individual draft DNS-AID. Not yet WG-adopted. Co-authors from Infoblox, Deutsche Telekom, Amazon. Tracker: datatracker.ietf.org/doc/draft-mozleywilliams-dnsop-dnsaid
- 2026-10-19draft-mk-dnsop-svcb-well-known-01draft Defines the
well-knownSvcParamKey: the value is a suffix, the client appends/.well-known/<suffix>. - 2026-05-27dns-aid-coreLinux Foundation project The SDK.
pip install "dns-aid[cli]", Apache-2.0. Reference implementation for the proposed MCP SEP. - 2026-05-27Linux Foundation announces DNS-AID project Supporters: Cloudflare, CSC, Equinix, GoDaddy, IDC, Indeed, Infoblox, ISC, WWT.
- 2026-10-22Drafts referencing DNS-AID 21 drafts (1 normative, 20 informative).
7 more references DAWN, Open Agent Commerce, Cloudflare, AI4ME, MCP SEPs, related drafts, RFCs
- 2026-10-22IETF DAWNchartered WG · Oct 2026 Discovery of Agents With Names, Internet Area. Charter does not name DNS-AID. First WG meeting: IETF 127, San Francisco, 14–20 Nov 2026.
- 2026-10-14Open Agent Commerce GoDaddy, Infoblox, Google, Cloudflare with Singapore IMDA (GovWare). Lists DNS-AID as its discovery layer.
- 2026-10-21agentcensus.iocensus · search · MCP Longitudinal census of 17 discovery mechanisms; 165,322 agents found across 125,986 domains probed. Search with labelled retrievers, read-only MCP at
/mcp, dataset CC-BY-4.0. Source of the measured figures above. - 2026-10-22Cloudflare · Is It Agent Ready Checks DNS-AID under Discoverability.
- 2026-10-22AI4ME guided demo BBC R&D + Lancaster University: cross-org agent discovery built on DNS-AID records.
- draftMCP SEPs: proposed
io.github.dns-aid/discovery(Extensions Track per SEP-2133, not yet filed) · SEP-2127 MCP Server Cards · SEP-985 Protected Resource Metadata - draftdraft-morrison-mcp-dns-discovery Related but different:
_mcp.<domain>TXT. Cites DNS-AID as related work. - RFCsReused unchanged: RFC 9460 SVCB · RFC 6698 / RFC 7671 DANE TLSA · RFC 4035 DNSSEC · RFC 8615 well-known URIs