Tool Registry
A hardcoded if/else of tools does not scale. A registry is how you add, disable, and audit tools.
A restaurant menu — the kitchen will not cook what is not listed.
Visual Workflows
Start here — scroll inside each diagram frame to explore, then use + / − to zoom up to 200% if needed.
Overview
Scroll inside the frame to explore · use + / − to zoom up to 200%
Scroll inside the frame to explore · use + / − to zoom up to 200%
Boot
Scroll inside the frame to explore · use + / − to zoom up to 200%
Load the registry once. Send that list to the model. Do not rebuild it every token.
Key Takeaways
- 1.A registry is the catalog of tools the agent is allowed to see. Each entry: name, description, schema, handler, permissions.
- 2.The model only chooses among what you registered. Namespace names so search_code and github.search_code do not collide.
- 3.A dict or table: name → {description, schema, fn, scopes}. Filter by permission before the model sees the list.
- 4.Prefix names when many servers contribute tools.
Learn elsewhere
- →Tool Permissions
- →Dynamic Tool Loading
Real Example
Scenario
Registry has search, refund, and lookup_order. Refund is disabled for interns. The intern's model never sees refund.
What you would do
In Tool Calling & Function Calling, apply Tool Registry to this scenario: Registry has search, refund, and lookup_order. Identify the inputs, run the technique, validate the output, and note one thing you would monitor in production.
Commands
Commands to Remember
Name + schema + handlerFilter before the modelNamespace collisionsEnable/disable without deploys if you can
Cheat Sheet
Quick recap
quick ref- •The menu
- •Model only sees listed tools
- •Namespace names
- •Permissions live here
Common Mistakes
- ✕Duplicate tool names from two plugins
- ✕Showing every tool to every user
- ✕Rebuilding the list on every agent step
