---
title: AID — Agent Identity & Discovery
description: A high-level overview of AID, the open DNS-based discovery standard for agents. One DNS query resolves an agent's endpoint, the protocol it speaks, and the key that proves it is genuine.
---

# AID — Agent Identity & Discovery

AID is an open specification for discovering an agent's endpoint from a domain name using a single DNS TXT lookup. It is maintained by Agent Community and developed in the open, with the normative spec, reference implementations, and discussion all public.

## The problem

Every platform that wants to talk to an agent ends up inventing its own way to find one. Some hardcode a URL in a config file. Some ship a proprietary directory that only their own tools can query. Some just ask a human to paste an endpoint into a form and hope it stays current. None of it generalizes across ecosystems, and none of it updates itself when an agent moves to a new host or rotates its credentials.

Compare that to how the rest of the internet already solves this class of problem. Email doesn't need you to know a mail server's address — MX records handle it. A wide range of other services resolve via SRV records the same way, letting a client find "the thing that handles this domain" without asking a human first. There has never been an equivalent for agents. Without one, integrators default to hardcoding: paste a URL, hope it doesn't change, and repeat the process by hand for every new agent you want to talk to. Multiply that across a growing ecosystem of agents and it stops scaling almost immediately.

## How it works

AID closes that gap using infrastructure that already exists everywhere: DNS. A domain publishes a `_agent` DNS TXT record naming its agent's endpoint, the protocol it speaks (MCP, A2A, and others), and an Ed25519 public key a client can use to verify it reached the genuine endpoint rather than an impostor.

A client resolves that one TXT record and has everything it needs — no central registry to query, no proprietary SDK to install first, no out-of-band coordination with the domain owner. It works with the DNS infrastructure every domain already has, so publishing a record is the only setup required on the agent's side, and reading it is the only setup required on the client's side. Because it rides on ordinary DNS, it also inherits DNS's caching, propagation, and tooling — nothing new to operate.

## A worked example

An AID record is a single TXT record on the `_agent` subdomain, so resolving one needs nothing but `dig`. We publish our own, so you can run this right now:

```bash
dig +short TXT _agent.agentcommunity.org
```

```text
v=aid2;u=https://agentcommunity.org/mcp;p=mcp;a=none;s=Agent Community: member lookup, stats, .agent DMV;d=https://agentcommunity.org/docs/mcp-server
```

One line, and a client that had never heard of us now knows where to connect (`u`), how to talk to it (`p=mcp`), that no credentials are needed (`a=none`), and where the docs are (`d`). No registry, no SDK, no API key — just DNS.

Records may also carry `k`, an Ed25519 public key the client uses to prove the endpoint it reached genuinely controls the matching private key. It is optional, and a record without it is fully valid — but publishing `k` is a commitment: clients that see one **must** verify the proof, so only publish it once your endpoint actually signs its responses.

To check any domain without installing anything, use the [AID Workbench](https://aid.agentcommunity.org). For the current CLI command, use the registry-backed package listing on the [Developers page](https://agentcommunity.org/developers).

## Client libraries and CLIs

Current canonical package identities, install commands, roles, registry links, and compatibility aliases are generated from one maintained source on the [Developers page](https://agentcommunity.org/developers). Use that listing rather than copying package metadata from this orientation page.

When DNS lookup is unavailable, AID v2 defines `GET https://<domain>/.well-known/agent` as a JSON fallback that mirrors one AID v2 TXT record. Agent Community publishes its fallback at [`/.well-known/agent`](/.well-known/agent). The old `/.well-known/aid.json` implementation-manifest format is not AID v2; this site retains that spelling only as a permanent redirect.

## Read the full specification

This page is an orientation, not the reference. The normative spec — every record field, error handling behavior, and the versioned changelog — lives at **[aid.agentcommunity.org](https://aid.agentcommunity.org)**. Start there for anything you need to implement against.

The standard itself is developed across two public repositories:

- **[IETF draft](https://github.com/agentcommunity/draft-nemethi-aid-agent-identity-discovery)** — the Internet-Draft submitted for standardization
- **[Reference implementation](https://github.com/agentcommunity/agent-identity-discovery)** — the open-source implementation the client libraries above are built from

## Related

- [MCP Server](/docs/mcp-server) — one of the protocols an AID record can point to
- [Onboarding for Agents](/docs/agent-onboarding) — how an agent connects to Agent Community's own surfaces
