{"slug": "agentreg-dns-for-ai-agents-self-hosted-single-go-binary", "title": "Agentreg – DNS for AI agents (self-hosted, single Go binary)", "summary": "Agentreg, a self-hosted registry for AI agents, lets agents discover each other by capability with built-in health checks and trust, running as a single Go binary with no cloud dependency. The open-source tool, created by developer mkk2026, addresses the gap in agent-to-agent discovery and health monitoring as the number of AI agents grows.", "body_md": "**DNS for AI agents.**\n\nA self-hosted registry that lets your agents find each other by capability — with health and trust built in.\n\nEveryone is building AI agents. Nobody is building the layer that lets agents\n**exist alongside each other** — discovery, health, trust. The moment you run\nmore than a couple of MCP servers, you're hardcoding endpoints in config files,\nfinding out an agent is down only when something breaks, and trusting every\nendpoint blindly.\n\nMCP gave agents a common language. `agentreg`\n\ngives them a place to find each\nother.\n\nConsul tells youwherea service is.`agentreg`\n\ntells youwhatan agent can do,whetherit's healthy, and (soon)how much to trust it.\n\nOne Go binary. Self-hosted. No cloud, no account, no cluster. Runs on your laptop at 3 agents and scales with you.\n\n```\n# Homebrew (macOS / Linux)\nbrew install mkk2026/tap/agentreg\n\n# or download a binary from the latest release\n#   https://github.com/mkk2026/agentreg/releases\n\n# or from source (Go 1.26+)\ngo install github.com/mkk2026/agentreg@latest\n# 1. run the registry\nagentctl serve &\n\n# 2. register your agents\nagentctl register search-agent -c search     -e http://localhost:3000\nagentctl register db-agent     -c db-read     -e http://localhost:3001\nagentctl register product-api  -c api,email   -e http://localhost:3002\n\n# 3. see everything, with live health\nagentctl list\n\n# 4. discover by capability — use this in your agent's startup instead of a hardcoded URL\nagentctl find search\nagentctl find search --format json\n```\n\n`agentctl list`\n\n:\n\n```\nNAME          CAPABILITIES  STATUS     SOURCE  LAST HEARTBEAT  ENDPOINT\ndb-agent      db-read       unhealthy  local   just now        http://localhost:3001\nproduct-api   api,email     healthy    local   just now        http://localhost:3002\nsearch-agent  search        healthy    local   just now        http://localhost:3000\n```\n\nThe daemon health-checks every registered agent on an interval, so a down agent\nshows up as `unhealthy`\n\n**before** it breaks something downstream. That's the\ndifference between reading a status table and debugging a production incident\nbackwards.\n\n**Capability-first discovery.** Ask for what you need (`find search`\n\n), not where it lives. Endpoints move; capabilities don't.**Health built in.** Every agent is probed on a heartbeat. No separate monitoring stack to wire up.**Self-hosted, zero cloud.** One static binary. Your registry, your data, your network. Nothing leaves your machine.**Delightful at 3 agents, load-bearing at 30.** Cheap enough to adopt before you need it, so it's already there when you do.**Built to grow into trust.** The verification layer is pluggable from day one (see[Roadmap](#roadmap)).\n\n```\n  agentctl (CLI)  ──HTTP──▶  agentreg daemon\n                                  │\n                                  ├── Store     in-memory + atomic JSON persistence\n                                  └── Verifier  health probe, on a heartbeat loop\n```\n\nTwo design seams make the roadmap additive instead of a rewrite:\n\n-\non every record (`Source`\n\nfield`local`\n\ntoday;`peer:<id>`\n\n,`from:ans`\n\n,`from:mcp_registry`\n\nlater) so federation and cross-registry ingestion don't require a migration. -\n— v1 ships a health probe; ANS-identity, prompt-injection, and`Verifier`\n\ninterface`tools/list`\n\nverifiers plug into the same seam. -\n— optional operator metadata (`labels`\n\n`env`\n\n,`team`\n\n,`version`\n\n, …) that rides along on every record and shows up in`list`\n\n. Set it via the API today:\n\n```\ncurl -X POST http://localhost:8080/agents -H 'Content-Type: application/json' \\\n  -d '{\"name\":\"corebrim-search\",\"capabilities\":[\"search\"],\n       \"endpoint\":\"http://10.0.0.12:3000\",\n       \"labels\":{\"env\":\"prod\",\"team\":\"platform\",\"version\":\"1.4.2\"}}'\n```\n\nagentreg |\nMCP Registry | Consul | ANS (IETF) | |\n|---|---|---|---|---|\n| Self-hosted, no cloud dependency | ✅ | ❌ (cloud) | ✅ | ~ (ref impl) |\n| Capability-based discovery | ✅ | ✅ | ~ (tags) | ✅ |\n| Health checks built in | ✅ | ❌ | ✅ | ❌ |\n| Single binary, 30-second setup | ✅ | n/a | ❌ (cluster) | ❌ |\n| Cross-org trust / verification | 🔜 (pluggable) | ❌ | ❌ | ✅ (spec) |\n| Purpose-built for agents/MCP | ✅ | ✅ | ❌ | ✅ |\n\n`agentreg`\n\nisn't trying to out-spec the standards bodies — it's the tool\ndevelopers actually run, built to interoperate with them.\n\n| Method | Path | Purpose |\n|---|---|---|\n`POST` |\n`/agents` |\nregister an agent (JSON body) |\n`GET` |\n`/agents` |\nlist all agents |\n`GET` |\n`/agents/find?capability=X` |\nfind by capability |\n`POST` |\n`/agents/{name}/heartbeat` |\nagent self-reports healthy |\n`GET` |\n`/healthz` |\ndaemon liveness |\n\n```\nagentctl serve\n  --port 8080                        # listen port\n  --store ~/.agentreg/registry.json  # persistence file\n  --heartbeat-interval 15s           # how often to health-check agents\n  --probe-timeout 3s                 # per-agent probe timeout\n```\n\n`agentreg`\n\nships as the smallest lovable loop first, then grows toward being the\ntrust fabric agents rely on.\n\n**v0.1 — the loop (now).** register · list · find · heartbeat, single binary.**Next — trust.** Pluggable verifiers: ANS identity,`tools/list`\n\nvalidation, prompt-injection checks. Verification-as-a-service.**Next — federation.**`agentctl federate`\n\nacross registries; the`Source`\n\nfield lights up.**Later — the fabric.** One client that discovers and verifies across every registry (ANS, MCP Registry, local), so agents transact across org boundaries safely.\n\nDelightful extras on the list: a live `list`\n\nTUI, `agentctl doctor`\n\n,\n`agentctl graph`\n\n, and zero-config auto-register from an MCP manifest.\n\nEarly days, and help is welcome. Open an issue to discuss a change, or send a PR.\n\n```\ngit clone https://github.com/mkk2026/agentreg\ncd agentreg\ngo test ./...\ngo build -o agentctl .\n```\n\n[MIT](/mkk2026/agentreg/blob/main/LICENSE) © Core Brim Tech\n\nBuilt by Core Brim Tech · agents deserve a substrate.", "url": "https://wpnews.pro/news/agentreg-dns-for-ai-agents-self-hosted-single-go-binary", "canonical_source": "https://github.com/mkk2026/agentreg", "published_at": "2026-07-25 11:08:55+00:00", "updated_at": "2026-07-25 11:22:22.776238+00:00", "lang": "en", "topics": ["ai-agents", "developer-tools", "ai-infrastructure"], "entities": ["agentreg", "mkk2026", "MCP Registry", "Consul", "ANS (IETF)"], "alternates": {"html": "https://wpnews.pro/news/agentreg-dns-for-ai-agents-self-hosted-single-go-binary", "markdown": "https://wpnews.pro/news/agentreg-dns-for-ai-agents-self-hosted-single-go-binary.md", "text": "https://wpnews.pro/news/agentreg-dns-for-ai-agents-self-hosted-single-go-binary.txt", "jsonld": "https://wpnews.pro/news/agentreg-dns-for-ai-agents-self-hosted-single-go-binary.jsonld"}}