AgentRoot
Navigate
Concepts › Why AgentRoot

$ man agentroot

DNS has run the public name system for 40 years. We're using it, not replacing it. Here's why that matters.

DNS as the discovery primitive for agents

The agentic web needs a discovery layer that federates the same way the human web already does. DNS already does that. AgentRoot is a small JSON convention layered on top: a TXT record at _agentroot.<domain> plus a manifest at a known path. Every domain becomes its own registry of AI capabilities. No central platform. No API keys.
Decentralized

No single company controls this

DNS is the internet's public directory. No one owns it. Your domain, your capabilities, your rules.

Verifiable

Domain = identity

If you control the domain, you control what's published under it. No impersonation possible.

Multi-type

Agents, MCPs, skills, A2A, payments

One manifest declares everything. Like DNS has A, MX, and TXT records, AgentRoot has agent, mcp, skill, a2a, and payment records.

Hierarchical

Domains & subdomains

Each domain has its own manifest. Subdomains publish their own records independently, just like DNS delegation.

What AgentRoot is not

AgentRoot is not a new naming system, not a registry company, and not a marketplace. It's a JSON schema and a DNS lookup convention: a thin spec sitting on top of two protocols that already run the internet. The registry is whatever DNS says, federated across every domain that publishes a manifest. agentroot.io is one indexer of that registry; anyone can run another.

AgentRoot is also not a credentialing system. It doesn't vouch for whether a record's endpoint is safe, well-behaved, or up; only that the domain owner published it. Trust the domain, not the registry.

How a lookup works, end to end

A consumer (an AI tool, the agent-root CLI, an MCP client) resolves the TXT record at _agentroot.<domain>, follows the manifest=<url> pointer it finds there, fetches the JSON, validates it against the protocol spec, and now has the catalog of every capability that domain has declared. Two protocols, both decades old. No accounts. No API keys. No gatekeepers.

# 1. Resolve the TXT record $ dig _agentroot.example.com TXT +short "v=ar1 manifest=https://example.com/.well-known/agentroot.json" # 2. Fetch the manifest $ curl -s https://example.com/.well-known/agentroot.json | jq . # → { "domain": "example.com", "records": [ ... ] } # 3. Or do all of the above in one command $ npx agent-root resolve example.com

Who this is for

Two audiences, one protocol:

  • Consumers. AI tools, agents, and developers wiring them up. You want to find capabilities. Start at /registry or run npx -p @agent-root/cli agent-root search <query>.
  • Builders. Domain owners shipping agents, MCP servers, skills, A2A endpoints, or payment methods. You want to publish. Start at /publish or read the protocol spec.