Everyone's building AI agents right now. Almost nobody's building the boring layer underneath them: how do agents find each other?
I hit this in my own stack. I run a few MCP servers one for search, one for my database, one exposing my product's API. Their addresses lived in a JSON config I edited by hand. When I added a fourth, the file got messy. When one went down, I found out because something downstream broke and I debugged backwards. There was no single source of truth for what agents existed or whether they were alive.
MCP gave agents a common language. There's still no discovery layer. That felt like having HTTP without a service registry.
So I built agentreg. It's a self-hosted service registry for agents one Go binary:
agentctl serve &






