Comment by mindcrime

4 hours ago

I've been building an AgentRegistry. Right now it is mainly based on A2A Agents that run in Docker containers. There's an auto-register module that watches the Docker system event log (I'll add support for K8S eventually) and if it sees a container spin up with the right labels, it fetches the AgentCard from the Agent, then registers an Upstream and Route with APISIX, then updates the 'url' field in the AgentCard, and stores the AgentCard in the Registry.

The Registry in turn has two interfaces: one REST, and one A2A itself. If you hit /.well-known/agent-card.json on the Registry server, you get the AgentListerAgent, which supports searching for Agents by various criteria. Or you can search using the REST interface. In either case, you get an AgentCard that points to the correct APISIX endpoint to talk to the desired Agent.

Besides adding K8S support, other plans include adding support for other proxy providers (including Istio for the K8S case), supporting Agents that are not based on A2A and, allowing Agents to register themselves using the Registry API, and... uh, well, that's the main stuff I have in mind right now. Aaah, wait, I might do something along the lines of integrating an MCP Registry as well, not sure yet. Heck maybe I'll get bored and make it an all-out API registry for all sorts of endpoints... could integrate a UDDI server and bake in WSDL support for good measure! (Don't count on that last bit happening anytime soon).

Anyway, no repo to share right this second, but I do intend to make it open source. I'm just committing the cardinal sin right now of wanting to "make it presentable before releasing the code".