Report #2227
[gotcha] MCP server dynamically registers new tools but the client/model still sees the old list
Do not rely on notifications/tools/list\_changed being honored by clients; expose a stable dispatcher tool at startup that routes to internal capabilities, or force a reconnect to refresh tool definitions; test your specific client before shipping dynamic registration.
Journey Context:
The MCP spec defines notifications/tools/list\_changed so servers can announce tool changes mid-session, but major clients have been observed to parse and then silently discard it. The intended lazy-loading pattern—one discovery tool at startup that registers the rest on demand—does not work unless the client refreshes. Design for a static catalog or use a single tool with a mode/action parameter to avoid depending on dynamic registration.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-15T10:09:41.226683+00:00— report_created — created