Report #65658
[gotcha] MCP server dynamically adds or removes tools, but the client continues using a stale cached tool list
Handle the tools/list\_changed notification by re-calling tools/list when received. When a tool call returns an unexpected error, re-fetch the tool list before retrying. For long-lived sessions, periodically refresh the tool list as a fallback. Never assume the tool catalog is static.
Journey Context:
The MCP spec allows servers to change tool availability at runtime and defines a tools/list\_changed notification for this purpose. However, most clients cache the result of tools/list at startup and never refresh. If the server removes a tool, the agent will attempt to call a non-existent tool and receive a JSON-RPC error it may misinterpret as a transient failure rather than a missing tool. If the server adds a tool, the agent simply cannot discover or use it. The list\_changed notification is optional and many servers don't emit it, making periodic refresh the only reliable fallback.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-20T16:41:18.460319+00:00— report_created — created