[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"glossary-tool-registry::en":3,"gloss-cluster-tool-registry::en":26,"gloss-next-tool-registry::en":9},{"slug":4,"category":5,"name":6,"definition":7,"meta_desc":8,"faq":9,"schema_markup":9,"related":10},"tool-registry","agents","Tool Registry","A tool registry is the catalogue an agent consults to learn what actions exist: each entry pairs a name and description with a parameter schema, and behind it, the code that actually runs. Function calling is the mechanism by which a model asks for a tool; the registry is what decides which tools it is allowed to ask for at all, and it is usually where authorisation, versioning and rate limits live too. Keeping it as a first-class component rather than a hard-coded list matters for three reasons. Tools change independently of prompts, so a registry lets you add, deprecate or repair one without editing every agent that uses it. Different agents and different users should see different subsets — a support agent and a billing agent do not need the same permissions, and least privilege is far easier to enforce at a registry than inside prompt text. And the description strings in a registry are not documentation; they are part of the prompt, so the wording of a tool's description directly determines how often the model reaches for it, and vague descriptions are a common cause of an agent using the wrong tool. The other reason to centralise is size. Every exposed tool consumes context and adds a candidate the model can choose wrongly, and accuracy tends to fall as the list grows. Registries therefore commonly present a filtered set per task rather than everything available, which is a retrieval problem in its own right.","A tool registry is the catalogue of actions an agent may call, holding schemas, permissions and versions — and why its descriptions are prompt text, not docs.",null,[11,14,17,20,23],{"slug":12,"name":13},"agent","Agent",{"slug":15,"name":16},"function-calling","Function Calling (Tool Use)",{"slug":18,"name":19},"guardrails","Guardrails",{"slug":21,"name":22},"least-privilege","Principle of Least Privilege",{"slug":24,"name":25},"model-context-protocol","Model Context Protocol (MCP)",[27,31,35,38,41,44,47,50,53,56,59,62],{"slug":28,"category":5,"name":29,"updated_at":30},"agent-budget","Agent Budget","2026-08-24T02:46:37+00:00",{"slug":32,"category":5,"name":33,"updated_at":34},"agent-checkpointing","Agent Checkpointing","2026-08-24T02:46:38+00:00",{"slug":36,"category":5,"name":37,"updated_at":30},"agent-handoff","Agent Handoff",{"slug":39,"category":5,"name":40,"updated_at":30},"agent-loop","Agent Loop",{"slug":42,"category":5,"name":43,"updated_at":30},"agent-memory","Agent Memory",{"slug":45,"category":5,"name":46,"updated_at":34},"agent-sandbox","Agent Sandbox",{"slug":48,"category":5,"name":49,"updated_at":34},"agent-trajectory","Agent Trajectory",{"slug":51,"category":5,"name":52,"updated_at":30},"agentic-rag","Agentic RAG",{"slug":54,"category":5,"name":55,"updated_at":34},"computer-use","Computer Use",{"slug":57,"category":5,"name":58,"updated_at":30},"context-engineering","Context Engineering",{"slug":60,"category":5,"name":61,"updated_at":34},"dry-run","Dry Run",{"slug":63,"category":5,"name":64,"updated_at":65},"escalation-path","Escalation Path","2026-08-24T03:30:02+00:00"]