Basic registry
public class ToolRegistry {
private final Map tools = new ConcurrentHashMap<>();
public void register(Tool t) { tools.put(t.name(), t); }
public Optional lookup(String name) { return Optional.ofNullable(tools.get(name)); }
} Advertisement
Per-agent registration
Each agent has its own registry. Tools from a shared library register into each agent that wants them.
Advertisement
Dynamic tools
Register at runtime based on user permissions. Admin sees the delete-database tool, everyone else doesn't.