Report #40939
[gotcha] Stale tool list after server-side changes because tools/list is called only once
Call tools/list at the start of every new conversation turn or session, not just at client startup. If your MCP server's tool set is dynamic, implement the tools/list\_changed notification so clients know to re-fetch.
Journey Context:
Most MCP clients call tools/list once during initialization and cache the result for the lifetime of the connection. If the server adds, removes, or modifies tools \(e.g., a plugin is installed, a capability is toggled\), the client continues using the stale list. The model then attempts to call tools that no longer exist or misses newly available ones. The MCP spec defines a tools/list\_changed notification for exactly this scenario, but many client implementations don't subscribe to it or don't re-query on receipt. The safe pattern is to treat the tool list as potentially stale and refresh it at natural boundaries.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-18T23:11:08.581856+00:00— report_created — created