For the complete documentation index, see llms.txt. This page is also available as Markdown.

AgentRoot

The open protocol for the agentic web. Live spec and registry: agentroot.io.

AgentRoot lets any domain declare its AI capabilities (agents, MCP servers, skills, A2A endpoints, payment endpoints, anything else) using a DNS TXT record and a JSON zone file. Like DNS resolves domain names to IP addresses, AgentRoot resolves domain names to agent capabilities.

No gatekeepers. No API keys. Just DNS and JSON.

Domains are the identity layer for the agentic web. AgentRoot is the DNS of that layer.

How discovery works

AgentRoot discovery sequence. The AI agent queries DNS for the TXT record at _agentroot.[domain]; DNS returns v=ar1 zone=https://.../agentroot.json; the agent fetches the zone file at /.well-known/agentroot.json; the web server returns a records array containing agent, mcp, skill, a2a, and payment records. The agent then picks the record matching user intent and installs it locally.

Discovery is open by design: any domain can publish a zone, any agent can resolve it, no central registry sits in the middle. AgentRoot is general-purpose; this section uses Doma as the example, but the same flow discovers capabilities published at any domain.

The two pieces

Piece
Where it lives
Purpose

TXT record at _agentroot.<domain>

Your DNS provider

Points discoverers to the zone file URL. Format: v=ar1 zone=<url>

.well-known/agentroot.json

Your web server

The actual list of records the domain offers

Record types

Five types are built into the protocol:

Type
Purpose
Required fields

agent

Stand-alone AI agent endpoint

endpoint, protocol, capabilities

mcp

Model Context Protocol server

endpoint (or install for stdio), transport (stdio / sse / streamable-http), tools

skill

A SKILL.md collection (one or many)

One of: index URL, skill_md URL, or inline skills array

a2a

Agent-to-Agent communication endpoint

endpoint, capabilities

payment

Payment endpoint (e.g. MPP, x402)

endpoint, protocols, methods, assets

Custom types are welcome. Any string is a valid type. The five above are conventions, not a closed set. Publish whatever your domain offers.

For the full schema (including optional base fields like auth, pricing, category, docs), see Zone File Reference.

Two ways to publish

Mode
When to use

Zone file (recommended)

Most domains. One JSON file at .well-known/agentroot.json describes everything.

Inline TXT

Single-capability domains, or tokenized domains advertising one skill plus one payment endpoint with no infrastructure to host JSON. The whole record lives in the TXT record value.

A single _agentroot name can also carry multiple TXT records (one skill + one payment + one MCP, for example). The resolver indexes each as a separate record. See Zone File Reference → Inline Mode for the wire format.

Design principles

  1. DNS is the source of truth. A TXT record proves domain ownership. No accounts needed.

  2. One domain, many records. Any number of capabilities, any types, one zone file.

  3. Subdomains are first-class. Each gets its own zone. Parent zones can reference children but each subdomain's DNS is authoritative.

  4. Types are extensible. The five built-ins are conventions; any string is a valid type.

  5. Keep it simple. Two required fields on a zone, four required fields on a record, everything else optional.

  6. Open and forkable. The protocol is DNS + JSON. Works without AgentRoot the registry. Works without any registry at all.

What's next

  • Discover & Use Skills: install AgentRoot in your AI agent and resolve / install skills from any domain.

  • Zone File Reference: full agentroot.json schema, inline-mode TXT format, optional base fields, validation rules.

  • Publish Your Own: three steps to put your domain on the agentic web.

For the full protocol specification, the live registry, and reference implementations, see agentroot.io.

Last updated