What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Tool-calling agents drift when the tool definitions they use no longer match the tools available to them—or when runtime discovery returns an empty or incomplete list. Static manifests work well for small, stable toolsets; runtime discovery keeps an inventory current; semantic search narrows a large inventory to task-relevant choices. Those approaches solve different problems, so the right design depends on how often tools change, how large the catalog is, and how discovery failures are handled.
What “tool drift” means in production
An agent can only select and call tools represented in the definitions it receives. If a server adds, removes, or changes a tool while the agent continues using an older manifest or cached list, the agent’s view has drifted from the server’s actual capabilities. The result may be a missing tool, an invalid call against a changed schema, or a tool choice based on obsolete information.
As an Amazon Associate I earn from qualifying purchases.
A different failure can look similar: discovery may return no tools or fewer tools than expected because credentials are missing or invalid, a schema is malformed, or a filter excludes tools. In that case, the inventory may be current on the server while the agent’s discovery path is broken or over-restrictive.
Free tools Windows power users keep installed
One-click scans. No signup required.
Official implementation guidance describes these mechanisms and tradeoffs, but does not establish how often production drift occurs across industries or prove that semantic discovery universally improves accuracy.
#1 Best Overall
Manifest, runtime discovery, or semantic retrieval?
These options operate at different stages. A manifest supplies definitions directly. Runtime discovery retrieves the server’s current list. Semantic search or filtering selects a relevant subset from a catalog. A system can combine them—for example, discover the inventory dynamically and retrieve a task-specific subset when the catalog is large.
| Approach | Best fit | Main benefit | Operational concern |
|---|---|---|---|
| Static capability manifest or inline definitions | A small, stable toolset | Explicit definitions without a runtime list request | Server-side changes are not reflected until definitions are updated and redeployed. Microsoft recommends this approach for stable toolsets. Microsoft Foundry MCP guidance. |
Runtime discovery with tools/list |
A toolset that changes frequently | Retrieves available definitions without republishing a static manifest in the documented Microsoft connector model | Adds a discovery request; stale caches or failed credentials, schema processing, or filters can leave the agent with stale, empty, or incomplete tools. OpenAI Agents SDK MCP documentation; Microsoft Foundry MCP guidance. |
| Semantic search or filtering over a catalog | A large catalog or many connected servers | Scopes candidates to the task and limits the tool definitions presented to the model | Relevance depends on descriptions, indexing, and retrieval implementation. The cited guidance does not provide a universal accuracy or latency benchmark. AWS Prescriptive Guidance on tool discovery. |
Choose by weighing toolset stability, how fresh the inventory must be, catalog size and context cost, discovery round trips, authorization and schema validation, and whether cached definitions can be refreshed or invalidated. The cited sources do not set a universal catalog size or change frequency at which one approach becomes superior.
How discovery failures create apparent drift
Stale manifests and caches
If a server’s toolset changes but the agent keeps using old definitions, the agent may not know about new tools or may try to use an outdated schema. The OpenAI Agents SDK documentation says an agent may list tools on each run for Streamable HTTP and Stdio servers. Caching can reduce a round trip, but the SDK guidance is to cache only when the list is unlikely to change; cache invalidation is available. OpenAI Agents SDK MCP documentation.
Do these 3 things before closing this tab:
1Scan for outdated or missing drivers - takes under a minute2Repair Windows errors before they cause bigger problems3Fix the driver behind crashes, sound loss and screen glitchesCredentials and connection setup
Missing or invalid credentials can prevent a client from retrieving the server’s tool list. Check the configured credentials and verify that the client can establish the expected connection or handshake with the remote endpoint. Microsoft identifies credential problems as a cause of zero or fewer-than-expected tools. Microsoft Foundry MCP guidance.
Rank #3
Malformed schemas
An invalid OpenAPI specification can prevent expected tools from being generated or registered. Validate the specification’s paths, operationId values, and parameter schemas, then inspect the tool definitions actually returned to the agent. A server being reachable does not by itself prove that its operations were converted into usable tools. Microsoft Foundry MCP guidance.
Overly restrictive filters
An incorrect or misspelled allowed-tool filter can silently produce a smaller list than intended. Compare the returned list against an expected inventory rather than treating a successful discovery request as proof that every intended tool is available. Microsoft Foundry MCP guidance.
Change notifications that do not trigger refreshes
The MCP tools specification defines a listChanged capability signal: a server can indicate that it will notify clients when its tool list changes. That signal is useful only if the client and integration handle the notification and refresh the inventory. Confirm that behavior rather than assuming every MCP connection updates the agent automatically. MCP tools specification.
Why large catalogs need a selection layer
Sending every tool definition to the model can consume context that would otherwise be available for the task. AWS Prescriptive Guidance gives an approximate planning example of 250–500 tokens for a typical tool definition, including its name, description, and schema; by that estimate, twenty tools would use roughly 5,000–10,000 tokens. This is an approximation from AWS, not a universal measurement for every schema or model. AWS Prescriptive Guidance on tool discovery.
Best Value
For a large catalog, filtering or semantic search can reduce the candidate set shown to the model. This is a scoping mechanism, not a replacement for keeping the underlying inventory current: retrieving relevant results from a stale or incomplete catalog still leaves the agent with stale or incomplete options. AWS recommends filtering or semantic search to reduce context usage and present a narrower set of tools, but the cited guidance does not establish a universal accuracy gain, latency result, or retrieval threshold. AWS Prescriptive Guidance on tool discovery.
Make retrieval descriptions useful
Semantic retrieval can match task intent only to the information available in the catalog. Use distinct, informative tool names and descriptions, and evaluate retrieval against representative tasks. MCP’s tool definitions include names and descriptions, while AWS guidance describes semantic matching as a discovery option. Neither source supplies a production benchmark that would justify assuming retrieval quality from the method alone. MCP tools specification; AWS Prescriptive Guidance on tool discovery.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.A production validation checklist
- Compare the expected and returned inventory. After discovery, check that expected tools are present, unexpected tools are understood, and names are unique. Do not infer completeness from a successful connection alone.
- Validate definitions before exposing them to the agent. Check that schemas are valid and consistent with the server’s current operations; for OpenAPI-derived tools, inspect
paths,operationIdvalues, and parameter schemas. - Exercise authorization and discovery. Test with the credentials and connection configuration used in deployment, including the remote endpoint’s handshake, and confirm that the intended tools are visible.
- Test filters against an explicit expected set. Verify that allowlists or other filters do not exclude needed tools because of a mismatch or typo.
- Decide how fresh the inventory must be. For changing lists, define when the client rediscovers tools or invalidates its cache. If using MCP’s
listChangedsignal, verify that notifications actually trigger the required refresh. - Test tool-call and recovery behavior. Exercise representative calls, schema changes, discovery failures, and retry paths so that an unavailable or invalid tool does not appear to the model as a valid capability.
- Measure retrieval on real task examples. If using semantic search, check whether relevant tools are returned and irrelevant ones are excluded for representative prompts. Do not treat the retrieval method itself as evidence of accuracy.
A practical design decision
- Keep a manifest when the toolset is small and stable, and changes can be coordinated with an application release.
- Discover at runtime when server-side tools change often enough that redeploying definitions would leave the agent behind; choose cache behavior based on the needed freshness and the cost of listing.
- Add semantic search or filtering when the catalog is large enough that exposing the full set is costly or makes selection harder. Use it to scope a current inventory, not to solve inventory synchronization.
No cited source establishes a universally best architecture or a crossover point between these choices. Validate the complete path—from server inventory and credentials through discovery, filtering, schemas, caching, and tool execution—in the specific SDK and platform version you deploy.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




