DNS for AI agents.
A self-hosted registry that lets your agents find each other by capability — with health and trust built in.
Everyone is building AI agents. Nobody is building the layer that lets agents exist alongside each other — discovery, health, trust. The moment you run more than a couple of MCP servers, you're hardcoding endpoints in config files, finding out an agent is down only when something breaks, and trusting every endpoint blindly.
MCP gave agents a common language. agentreg
gives them a place to find each other.
Consul tells youwherea service is.agentreg
tells youwhatan agent can do,whetherit's healthy, and (soon)how much to trust it.
One Go binary. Self-hosted. No cloud, no account, no cluster. Runs on your laptop at 3 agents and scales with you.
brew install mkk2026/tap/agentreg
go install github.com/mkk2026/agentreg@latest
agentctl serve &
agentctl register search-agent -c search -e http://localhost:3000
agentctl register db-agent -c db-read -e http://localhost:3001
agentctl register product-api -c api,email -e http://localhost:3002
agentctl list
agentctl find search
agentctl find search --format json
agentctl list
:
NAME CAPABILITIES STATUS SOURCE LAST HEARTBEAT ENDPOINT
db-agent db-read unhealthy local just now http://localhost:3001
product-api api,email healthy local just now http://localhost:3002
search-agent search healthy local just now http://localhost:3000
The daemon health-checks every registered agent on an interval, so a down agent
shows up as unhealthy
before it breaks something downstream. That's the difference between reading a status table and debugging a production incident backwards.
Capability-first discovery. Ask for what you need (find search
), 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 (seeRoadmap).
agentctl (CLI) ──HTTP──▶ agentreg daemon
│
├── Store in-memory + atomic JSON persistence
└── Verifier health probe, on a heartbeat loop
Two design seams make the roadmap additive instead of a rewrite:
on every record (Source
fieldlocal
today;peer:<id>
,from:ans
,from:mcp_registry
later) so federation and cross-registry ingestion don't require a migration. -
— v1 ships a health probe; ANS-identity, prompt-injection, andVerifier
interfacetools/list
verifiers plug into the same seam. -
— optional operator metadata (labels
env
,team
,version
, …) that rides along on every record and shows up inlist
. Set it via the API today:
curl -X POST http://localhost:8080/agents -H 'Content-Type: application/json' \
-d '{"name":"corebrim-search","capabilities":["search"],
"endpoint":"http://10.0.0.12:3000",
"labels":{"env":"prod","team":"platform","version":"1.4.2"}}'
agentreg | MCP Registry | Consul | ANS (IETF) | | |---|---|---|---|---| | Self-hosted, no cloud dependency | ✅ | ❌ (cloud) | ✅ | ~ (ref impl) | | Capability-based discovery | ✅ | ✅ | ~ (tags) | ✅ | | Health checks built in | ✅ | ❌ | ✅ | ❌ | | Single binary, 30-second setup | ✅ | n/a | ❌ (cluster) | ❌ | | Cross-org trust / verification | 🔜 (pluggable) | ❌ | ❌ | ✅ (spec) | | Purpose-built for agents/MCP | ✅ | ✅ | ❌ | ✅ |
agentreg
isn't trying to out-spec the standards bodies — it's the tool developers actually run, built to interoperate with them.
| Method | Path | Purpose |
|---|---|---|
POST |
||
/agents |
||
| register an agent (JSON body) | ||
GET |
||
/agents |
||
| list all agents | ||
GET |
||
/agents/find?capability=X |
||
| find by capability | ||
POST |
||
/agents/{name}/heartbeat |
||
| agent self-reports healthy | ||
GET |
||
/healthz |
||
| daemon liveness |
agentctl serve
--port 8080 # listen port
--store ~/.agentreg/registry.json # persistence file
--heartbeat-interval 15s # how often to health-check agents
--probe-timeout 3s # per-agent probe timeout
agentreg
ships as the smallest lovable loop first, then grows toward being the trust fabric agents rely on.
v0.1 — the loop (now). register · list · find · heartbeat, single binary.Next — trust. Pluggable verifiers: ANS identity,tools/list
validation, prompt-injection checks. Verification-as-a-service.Next — federation.agentctl federate
across registries; theSource
field 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.
Delightful extras on the list: a live list
TUI, agentctl doctor
,
agentctl graph
, and zero-config auto-register from an MCP manifest.
Early days, and help is welcome. Open an issue to discuss a change, or send a PR.
git clone https://github.com/mkk2026/agentreg
cd agentreg
go test ./...
go build -o agentctl .
MIT © Core Brim Tech
Built by Core Brim Tech · agents deserve a substrate.