Agent Identity & Discovery (AID)
Overview
Agent Identity & Discovery (AID) is a small discovery layer: "Agent Identity & Discovery (AID) answers one question: "Given a domain, where is the agent and which protocol should I speak?" It does so with a DNS TXT record at the well-known base name _agent.<domain>." [1]. A domain owner publishes one TXT record that gives the agent endpoint, the protocol it speaks, an authentication hint and, optionally, an Ed25519 key; the client then hands over to that protocol, such as the Model Context Protocol (MCP), the open protocol that connects AI applications to external tools and data, or the Agent2Agent Protocol (A2A), the open protocol that lets AI agents discover each other through an Agent Card and hand tasks to one another [1]. When the key is present, the endpoint must prove it holds the matching private key by signing a response with HTTP Message Signatures (RFC 9421), the same building blocks used by Web Bot Auth, although "AID does not become Web Bot Auth. WBA signs automated client requests to origins. AID PKA proves endpoint control for a DNS-discovered agent endpoint." [1]. The specification also sets out what it does not do: "Scope honesty: AID does not issue credentials, grant authorization, prove human approval, define SPIFFE/WIMSE federation, or publish DID-like metadata." [1]
Who uses it
- _agent.supabase.agentcommunity.org (Agent Community showcase) —
https://dns.google/resolve?name=_agent.supabase.agentcommunity.org&type=TXT· Checked 2026-10-28 · The only live record found is the project's own showcase at _agent.supabase.agentcommunity.org, which answered "v=aid2;u=https://api.supabase.com/mcp;p=mcp;a=pat;d=https://supabase.com/docs/guides/getting-started/mcp;s=Supabase MCP (Mock Service)" on 2026-10-28; it is labelled a mock service [20].
Agent Community's documentation shows a record at _agent.agentcommunity.org and says "We publish our own, so you can run this right now:" [10], but that name returned no TXT record on 2026-10-28 [21].
Who reads it
- Agent Community (SDKs and Packages, @agentcommunity/aid on npm (1.0.0 published 2025-07-12; 2.1.1 published 2026-07-25) [11]) · vendor says:
“Main discovery SDK for Node.js and browser clients” [14]
- Agent Community (aid-discovery, on PyPI (1.0.0 uploaded 2025-07-17; 2.1.1 uploaded 2026-07-25)) · vendor says:
“Python library for Agent Identity & Discovery (AID), a DNS-based discovery protocol for AI agents” [13]
- Agent Community (SDKs and Packages, @agentcommunity/aid-doctor on npm (1.0.0 published 2025-07-12; 2.1.1 published 2026-07-25) [12]) · vendor says:
“CLI for record generation, validation, diagnostics, and PKA helpers” [14]
- Agent Community (SDKs and Packages, Go and Rust libraries (package page undated, checked 2026-10-28)) · vendor says:
“Go discovery library; source-only until module repo/tags are published” “Rust parser and discovery library; source-only until crate publication is resolved” [14]
Recent coverage
- B. Nemethi, IETF Internet-Draft draft-nemethi-dawn-aid-00 (2026-09-02) — https://www.ietf.org/archive/id/draft-nemethi-dawn-aid-00.txt:
“This document defines the AID v2 (aid2) record format, client discovery algorithm, exact-host lookup rules, endpoint-proof (PKA) handshake using Ed25519 HTTP Message Signatures, security requirements, and IANA registrations for the _agent DNS node name and the agent service name.” [15]
- tetsuko_room, *Qiita* (a daily IETF digest, on the earlier v1.2 draft) (2026-03-17) — https://qiita.com/tetsuko_room/items/02a82637214b07f63af6:
“ドメイン名からエージェントサービスのエンドポイントを発見するための最小限のDNSファーストプロトコルです。” “v1.2のレコードフォーマット、クライアント探索アルゴリズム、セキュリティ要件、IANAへの登録を定義しています。” [27]
- B. Nemethi, IETF Internet-Draft draft-nemethi-aid-agent-identity-discovery-00 (2026-03-16) — https://www.ietf.org/archive/id/draft-nemethi-aid-agent-identity-discovery-00.txt:
“This document defines the AID v1.2 record format, client discovery algorithm, exact-host lookup rules, security requirements, and IANA registrations for the _agent DNS node name and the agent service name.” [17]
See also
- Agentic Resource Discovery (ARD)
- DNS for AI Discovery (DNS-AID)
- Agent Name Service (ANS)
- Model Context Protocol (MCP)
- Agent2Agent Protocol (A2A)
- Web Bot Auth
- HTTP Message Signatures
- Agent Identity and Discovery vs Agent2Agent Protocol
- Agent Identity and Discovery vs DNS for AI Discovery
- Agent Identity and Discovery vs Agent Discovery Protocol
- DNS (A/SRV) & WHOIS vs AID & DNS-AID
- Discover (category)
References
- Agent Community, Agent Identity & Discovery (AID) - v2.1.1, specification, dated 2 October 2026 (text checked at the raw.githubusercontent.com copy of packages/docs/specification.md), checked 2026-10-28: "Agent Identity & Discovery (AID) - v2.1.1" "Date: 2 October 2026 Editor: Agent Community Status: Current normative specification" "Agent Identity & Discovery (AID) answers one question: "Given a domain, where is the agent and which protocol should I speak?" It does so with a DNS TXT record at the well-known base name _agent.<domain>." "AID is an intentionally minimal discovery layer. After a client uses AID to find the correct endpoint or package, richer protocols such as the Model Context Protocol (MCP), Agent-to-Agent Protocol (A2A), OpenAPI, OAuth, or auth.md take over for communication, capability negotiation, authentication, and authorization." "AID v2 is the current default wire format. The aid2 record keeps DNS-first discovery, makes the base _agent.<domain> lookup canonical, and updates endpoint proof so the DNS key is an Ed25519 JWK x value with an RFC 7638 derived key identifier. Legacy aid1 remains a compatibility format for clients that need to read older records." "The record MUST be a single semicolon-delimited string of key=value pairs." "AID v2 records MUST NOT use kid or i for endpoint proof. A v=aid2 record containing kid or i is invalid." "Clients MUST NOT walk up to parent domains." "AID v2 follows Web Bot Auth where the layers match: Ed25519, RFC 9421 HTTP Message Signatures, RFC 7638 JWK thumbprints, created, expires, nonce, and tag." "AID does not become Web Bot Auth. WBA signs automated client requests to origins. AID PKA proves endpoint control for a DNS-discovered agent endpoint." "Label governance is separate from the v2 key-format and endpoint-proof updates, and may be addressed by a future working group or BoF process." "DNSSEC: Providers SHOULD sign DNS records with DNSSEC. Clients SHOULD validate DNSSEC when available." "Scope honesty: AID does not issue credentials, grant authorization, prove human approval, define SPIFFE/WIMSE federation, or publish DID-like metadata." "_agent.example.com. 300 IN TXT "v=aid2;u=https://api.example.com/mcp;p=mcp;a=pat;s=Example AI Tools"" "A protocol token tells the client which protocol to speak at uri. The referenced specification defines that protocol, including its transport, authentication, and capability negotiation; AID does not extend or constrain it." — https://aid.agentcommunity.org/docs/specification
- Agent Community, Versioning and Changelog (text checked at the raw.githubusercontent.com copy of packages/docs/Reference/versioning.md), checked 2026-10-28: "Core TXT record format at _agent.<domain> with v, uri, proto, auth, desc keys" ".well-known fallback: JSON-based fallback at /.well-known/agent for providers without DNS control" "Record profile: v=aid2 became the preferred profile for new records." "No change to record format or client behavior." — https://aid.agentcommunity.org/docs/reference/versioning
- GitHub, agentcommunity/agent-identity-discovery repository metadata (API), checked 2026-10-28: ""full_name": "agentcommunity/agent-identity-discovery"" ""description": "Agent Interface Discovery "" ""created_at": "2025-07-05T13:08:18Z"" ""homepage": "https://aid.agentcommunity.org/"" ""spdx_id": "NOASSERTION"" — https://api.github.com/repos/agentcommunity/agent-identity-discovery
- GitHub, agentcommunity organisation metadata (API), checked 2026-10-28: ""login":"agentcommunity"" ""name":".agent community"" ""created_at":"2025-06-12T12:05:48Z"" — https://api.github.com/orgs/agentcommunity
- GitHub API, agentcommunity/agent-identity-discovery tags (per-package tags, for example @agentcommunity/aid@2.1.0 and packages/aid-go/v2.1.1), checked 2026-10-28: ""name":"packages/aid-go/v2.1.1"" ""name":"@agentcommunity/aid@2.1.0"" — https://api.github.com/repos/agentcommunity/agent-identity-discovery/tags
- GitHub API, agentcommunity/agent-identity-discovery releases (none), checked 2026-10-28: "[]" — https://api.github.com/repos/agentcommunity/agent-identity-discovery/releases
- Agent Community, agentcommunity/agent-identity-discovery (README on main) (text checked at the raw.githubusercontent.com copy), checked 2026-10-28: "Built by the team at agentcommunity.org" "This project is licensed under the MIT License" — https://github.com/agentcommunity/agent-identity-discovery
- Agent Community, LICENSE on main, checked 2026-10-28: "This project is dual-licensed under the MIT License and the Apache License 2.0. You may choose either license at your option." — https://raw.githubusercontent.com/agentcommunity/agent-identity-discovery/main/LICENSE
- Agent Community, agentcommunity.org home page, checked 2026-10-28: "Agent Community was founded by Balázs Nemethi." — https://agentcommunity.org/
- Agent Community, AID — Agent Identity & Discovery (agentcommunity.org documentation), checked 2026-10-28: "We publish our own, so you can run this right now:" — https://agentcommunity.org/docs/aid
- npm registry, @agentcommunity/aid, checked 2026-10-28: ""name":"@agentcommunity/aid","dist-tags":{"latest":"2.1.1"}" ""1.0.0":"2025-07-12" ""1.1.0":"2025-09-03" ""1.2.0":"2026-02-06" ""2.0.0":"2026-06-08" ""2.1.0":"2026-06-30" ""2.1.1":"2026-07-25" ""license":"MIT"" — https://registry.npmjs.org/@agentcommunity/aid
- npm registry, @agentcommunity/aid-doctor, checked 2026-10-28: ""name":"@agentcommunity/aid-doctor","dist-tags":{"latest":"2.1.1"}" ""1.0.0":"2025-07-12" ""2.1.1":"2026-07-25" — https://registry.npmjs.org/@agentcommunity/aid-doctor
- PyPI, aid-discovery (JSON API): 1.0.0 uploaded 2025-07-17; latest 2.1.1 uploaded 2026-07-25, checked 2026-10-28: "Python library for Agent Identity & Discovery (AID), a DNS-based discovery protocol for AI agents" — https://pypi.org/pypi/aid-discovery/json
- Agent Community, SDKs and Packages (undated), checked 2026-10-28: "Main discovery SDK for Node.js and browser clients" "Python discovery library" "Go discovery library; source-only until module repo/tags are published" "Rust parser and discovery library; source-only until crate publication is resolved" "CLI for record generation, validation, diagnostics, and PKA helpers" — https://aid.agentcommunity.org/docs/reference/packages
- B. Nemethi (Open Agent Registry, Inc.), Agent Identity and Discovery (AID), Internet-Draft draft-nemethi-dawn-aid-00, 2026-09-02, checked 2026-10-28: "This document defines the AID v2 (aid2) record format, client discovery algorithm, exact-host lookup rules, endpoint-proof (PKA) handshake using Ed25519 HTTP Message Signatures, security requirements, and IANA registrations for the _agent DNS node name and the agent service name." "The legacy aid1 record format is retained as a compatibility format for clients migrating from earlier deployments." — https://www.ietf.org/archive/id/draft-nemethi-dawn-aid-00.txt
- IETF Datatracker, draft-nemethi-dawn-aid-00, checked 2026-10-28: "This I-D is not endorsed by the IETF and has no formal standing in the IETF standards process" — https://datatracker.ietf.org/doc/draft-nemethi-dawn-aid/
- B. Nemethi (Open Agent Registry, Inc.), Agent Identity and Discovery (AID), Internet-Draft draft-nemethi-aid-agent-identity-discovery-00, 2026-03-16, checked 2026-10-28: "This document defines the AID v1.2 record format, client discovery algorithm, exact-host lookup rules, security requirements, and IANA registrations for the _agent DNS node name and the agent service name." — https://www.ietf.org/archive/id/draft-nemethi-aid-agent-identity-discovery-00.txt
- IETF Datatracker, draft-nemethi-aid-agent-identity-discovery-00, checked 2026-10-28: "Expired Internet-Draft (individual) Expired & archived" — https://datatracker.ietf.org/doc/draft-nemethi-aid-agent-identity-discovery/
- IANA, Domain Name System (DNS) Parameters (XML), including the "Underscored and Globally Scoped DNS Node Names" registry, checked 2026-10-28: "Underscored and Globally Scoped DNS Node Names" — https://www.iana.org/assignments/dns-parameters/dns-parameters.xml
- Google Public DNS (DNS-over-HTTPS JSON), TXT query for _agent.supabase.agentcommunity.org, checked 2026-10-28: "v=aid2;u=https://api.supabase.com/mcp;p=mcp;a=pat;d=https://supabase.com/docs/guides/getting-started/mcp;s=Supabase MCP (Mock Service)" — https://dns.google/resolve?name=_agent.supabase.agentcommunity.org&type=TXT
- Google Public DNS (DNS-over-HTTPS JSON), TXT query for _agent.agentcommunity.org, checked 2026-10-28: ""Status":0,"TC":false,"RD":true,"RA":true,"AD":true,"CD":false,"Question":[{"name":"_agent.agentcommunity.org.","type":16}],"Authority":[{"name":"agentcommunity.org."" — https://dns.google/resolve?name=_agent.agentcommunity.org&type=TXT
- Google Public DNS (DNS-over-HTTPS JSON), TXT query for _agent.supabase.com, checked 2026-10-28: ""Status":3,"TC":false,"RD":true,"RA":true,"AD":false,"CD":false,"Question":[{"name":"_agent.supabase.com.","type":16}]" — https://dns.google/resolve?name=_agent.supabase.com&type=TXT
- Google Public DNS (DNS-over-HTTPS JSON), TXT query for _agent.grafana.com, checked 2026-10-28: ""Status":3,"TC":false,"RD":true,"RA":true,"AD":false,"CD":false,"Question":[{"name":"_agent.grafana.com.","type":16}]" — https://dns.google/resolve?name=_agent.grafana.com&type=TXT
- J. Mozley, N. Williams (Infoblox), B. Sarikaya, R. Schott (Deutsche Telekom), J. Damick (Amazon), DNS for AI Discovery, Internet-Draft draft-mozleywilliams-dnsop-dnsaid-02, 2026-05-27, checked 2026-10-28: "The mechanism uses Service Binding (SVCB) records for connectivity information and key meta data, a well known entry point using DNS-Based Service Discovery (DNS-SD) labels into an organization's agent index" — https://www.ietf.org/archive/id/draft-mozleywilliams-dnsop-dnsaid-02.txt
- S. Smith, Key Event Receipt Infrastructure (KERI), Internet-Draft draft-ssmith-keri-00, 2023-07-27, checked 2026-10-28: "Autonomic IDentifier (AID) A Key Event Log (KEL) gives rise to an enhanced class of SCIDs" — https://www.ietf.org/archive/id/draft-ssmith-keri-00.txt
- AgenticResourceDiscovery.org, ARD Specification, checked 2026-10-28: "A consumer resolving a domain's entries MUST fetch /.well-known/ard.json" "DNS: Publishing Service Binding records that point to either a static entry source (e.g. _entries._agents.example.com) or a dynamic Agent Registry search endpoint (e.g. _search._agents.example.com)" — https://agenticresourcediscovery.org/spec/
- tetsuko_room, Qiita, 日刊IETF (2026-03-16) ― ゼロポートからDNS委任の刷新まで、今日のIETFを一気読み【Part 2/4】, 2026-03-17, checked 2026-10-28: "ドメイン名からエージェントサービスのエンドポイントを発見するための最小限のDNSファーストプロトコルです。" "v1.2のレコードフォーマット、クライアント探索アルゴリズム、セキュリティ要件、IANAへの登録を定義しています。" — https://qiita.com/tetsuko_room/items/02a82637214b07f63af6