Tool registry: list of tools with name, description, JSON schema for arguments. LLM reads all of them on every call and decides which to invoke.
Tool description quality is the #1 factor in tool-use accuracy. Vague descriptions → wrong tool picked. Specific descriptions + good few-shot examples → near-perfect dispatch.