AI/TLDR

DNS-AID

Publish and discover AI agents through DNS instead of a central registry

Multi-Agent SystemsOpen source
Updated
27 May 2026
Language
Python
License
Apache-2.0
Coverage
1 story
$pip install "dns-aid[cli,mcp]"

What's new

27 May 2026

The Linux Foundation launched DNS-AID as a project for decentralized agent discovery, with Infoblox contributing this Python reference implementation and major DNS providers signing on.

Latest news

Overview

DNS-AID — DNS-based Agent Identification and Discovery — lets AI agents find each other through the internet's existing naming infrastructure rather than a centralised registry or a hardcoded URL. You publish an agent's name, protocol, endpoint and capabilities as DNS records under a domain you already control, and any caller that knows the domain can resolve the agents it hosts. This repository is the reference implementation; the specification itself is developed at the IETF as draft-mozleywilliams-dnsop-dnsaid, and the draft — not this code — is authoritative on protocol behaviour.

The library ships as a Python SDK, a CLI and an MCP server, installed from PyPI with the extras you need. Publishing is one `dns_aid.publish()` call against whichever DNS backend you use — Route 53, Cloudflare, NS1, Cloud DNS, Infoblox, Akamai Edge DNS or dynamic DNS each have an install extra. Discovery has two paths: the DNS substrate itself, or an HTTP index for richer metadata, which also auto-detects and dereferences Agentic Resource Discovery (ARD) `ai-catalog` pointers. Results can be filtered in-process by capability, auth type, realm and signature requirements, and `dns_aid.verify()` returns a security score for an agent's records.

The project treats DNS as a trust substrate and everything above it as optional convenience. The library works standalone against any DNS provider with no dependency on a particular directory, indexer or telemetry backend; a search, indexing or telemetry layer is just an HTTP endpoint you point the SDK at, and operators are encouraged to run their own. Trust controls are opt-in and off by default, with SDK, CLI and MCP parity: per-record JWS or a DNSSEC-validated pointer for off-domain catalogs, `require_dnssec`/`min_dnssec` to enforce the resolver's AD flag on DNS-plane agents, and DANE/TLSA verification binding an agent's TLS certificate to its record.

What it does

  • Publish an agent's name, protocol, endpoint and capabilities to DNS from Python or the CLI
  • Discover agents by domain over the DNS substrate, or via an HTTP index for richer metadata
  • Interoperates with Agentic Resource Discovery: auto-detects and dereferences ARD ai-catalog pointers
  • Pluggable DNS backends — Route 53, Cloudflare, NS1, Cloud DNS, Infoblox, Akamai Edge DNS and dynamic DNS
  • Filtered discovery by capability, auth type, realm and signature algorithm, plus a `verify()` call that scores an agent's records
  • Opt-in DNSSEC, DANE/TLSA and JWS trust controls with matching SDK, CLI and MCP surfaces
  • Ships an MCP server so an agent can perform discovery itself

Getting started

Install from PyPI with the extras you want; backend-specific extras are listed in the getting-started guide. Python 3.11, 3.12 and 3.13 are supported.

Install

The cli and mcp extras add the command-line tool and the MCP server. Add a backend extra (route53, cloudflare, ns1, cloud_dns, infoblox, akamai-edgedns, ddns) for the DNS provider you publish to.

bashbash
pip install "dns-aid[cli,mcp]"

Publish an agent

One call writes the agent's record under your domain.

pythonpython
import dns_aid

await dns_aid.publish(
    name="my-agent",
    domain="example.com",
    protocol="mcp",
    endpoint="agent.example.com",
    capabilities=["chat", "code-review"]
)

Discover agents at a domain

The DNS substrate is the default path; use_http_index=True adds richer metadata and dereferences ARD catalogs.

pythonpython
agents = await dns_aid.discover("example.com")
for agent in agents:
    print(f"{agent.name}: {agent.endpoint_url}")

agents = await dns_aid.discover("example.com", use_http_index=True)

Filter and verify

Filters are pure-Python predicates over the in-memory result; verify() reports how well an agent's records are secured.

pythonpython
result = await dns_aid.discover(
    "example.com",
    capabilities=["payment-processing"],
    auth_type="oauth2",
    require_signed=True,
)

result = await dns_aid.verify("my-agent.example.com")
print(f"Security Score: {result.security_score}/100")

Commands and code are distilled from the project's own documentation — always check the official repo for the latest.

When to use it

  • Make your organisation's agents findable at your own domain without registering them anywhere
  • Let an agent resolve the services it needs at runtime instead of shipping hardcoded endpoint URLs
  • Bind agent discovery to DNSSEC and DANE so a caller can check what it resolved before trusting it
  • Interoperate with ARD catalogs and third-party agent directories without committing to any one of them

How DNS-AID compares

DNS-AID alongside other open-source multi-agent systems tools AI/TLDR tracks, ranked by GitHub stars.

ToolStarsWhat it does
TradingAgents★ 105kLangGraph framework that mirrors a trading firm: LLM analyst, bull/bear researcher, trader and risk-management agents debate before a decision. For research, not advice.
Ruflo★ 72kAgent meta-harness that wraps Claude Code and Codex with 100+ specialized agents, swarm coordination, vector memory, background workers and cross-machine agent federation.
MetaGPT★ 70.3kA multi-agent framework that models a software company, assigning roles like product manager, architect, and engineer to generate code from a single prompt.
AutoGen★ 60.9kMicrosoft Research's framework for building applications where multiple agents converse with each other and with tools to solve tasks.
CrewAI★ 58.4kA framework for assembling teams ('crews') of role-playing agents that divide tasks and collaborate to complete a goal.
Vibe-Trading★ 33.2kAn open-source trading research workspace from HKUDS: natural-language market research, multi-agent analyst teams, cross-market backtests, and an MCP server for Claude, Cursor and other clients.
AgentScope★ 31.3kA framework for building multi-agent applications with message passing, visual debugging tools, and distributed execution.
DNS-AID★ 67Publish and discover AI agents through DNS instead of a central registry