AgentRoot
Navigate

// publish_agent

Publishing an Agent Record

Register your AI agent on the AgentRoot DNS-native registry so other agents and tools can discover and interact with it. An agent record describes your agent's capabilities, protocol, and endpoint.

// prerequisites

  • A domain you control (e.g. acme.dev)
  • A publicly accessible endpoint for your agent
  • DNS access to add TXT records
  • Your agent manifest hosted at a public URL

1Create your manifest

Create an agentroot.json file that describes your agent. Host it somewhere publicly accessible on your domain.

// agentroot.json { "domain": "acme.dev", "records": [ { "id": "research-agent", "type": "agent", "name": "Acme Research Agent", "description": "Autonomous research agent that gathers, analyzes, and summarizes information from multiple sources", "protocol": "a2a", "endpoint": "https://acme.dev/agents/research", "auth": "bearer", "capabilities": ["web-search", "summarization", "citation", "multi-hop-reasoning"] } ] }

Key fields for agent records:

  • type must be "agent"
  • protocol — how to communicate: a2a, rest, graphql, grpc
  • endpoint — the URL where the agent accepts requests
  • capabilities — array of strings describing what the agent can do
  • auth — authentication method: bearer, api-key, none

2Host the manifest

Upload agentroot.json to a publicly accessible URL on your domain. Common patterns:

# Recommended locations https://acme.dev/.well-known/agentroot.json https://acme.dev/agentroot.json

3Add the DNS record

Add a TXT record to your domain's DNS to prove ownership and point to your manifest.

# Add this TXT record to your DNS _agentroot.acme.dev TXT "v=ar1 manifest=https://acme.dev/.well-known/agentroot.json"

4Submit to AgentRoot

Once your manifest is hosted and the DNS record is live, submit your domain to the registry. The CLI does a local DNS probe first, then posts to /api/submit:

$ npx -p @agent-root/cli agent-root submit acme.dev

Or via the API directly:

$ curl -X POST https://agentroot.io/api/submit \ -H "Content-Type: application/json" \ -d '{"domain": "acme.dev"}'

5Verify it worked

Check that your agent appears in the registry.

$ npx -p @agent-root/cli agent-root search "research agent" --type agent # Expected output: acme.dev/research-agent agent Acme Research Agent protocol: a2a | auth: bearer capabilities: web-search, summarization, citation, multi-hop-reasoning

You can also view your manifest at https://agentroot.io/manifest/acme.dev to see your agent listed with its capabilities and endpoint.

// next_steps

Your agent is now discoverable. Here's what to explore next: