# Tool Discovery

> Let the agent query a tool registry at runtime instead of hardcoding its palette at build time — new capabilities go live without agent redeploys.

- **Category**: Agentic AI
- **Subcategory**: Tool Use & Environment
- **Canonical URL**: https://designpattern.fyi/patterns/tool_discovery/

---

## Description
**Intent**: Decouple the agent's capability surface from its release cycle.

**Context**: Your agent's tool palette changes faster than you can redeploy: new internal capabilities ship weekly, partner integrations come and go. A directory (MCP server, internal registry) already advertises tools with typed schemas.

**Solution**: On startup (or periodically), the agent queries the tool registry. The registry returns advertised tools with typed schemas. The agent loads them into its palette, optionally caching and refreshing on a schedule.


## Use Cases
- Tool palettes evolve and redeploying for each new capability is a drag.
- A registry (MCP server, internal directory) advertises tools with typed schemas.
- The agent can refresh its palette safely at runtime.





## Trade-offs


### Advantages

- New capabilities go live without redeploying the agent.

- Multiple agents share the same evolving tool layer.




### Considerations & Drawbacks

- Registry downtime = agent can't discover new tools — needs a fallback strategy.

- Trust boundary: should the agent use any tool the registry advertises? Needs explicit policy.







---
**Reference**: [Original Source](https://www.agentpatternscatalog.org/patterns/tool-discovery/)

