Report #12161
[gotcha] MCP servers can add new tools after initial user approval via list\_changed notifications
On receiving notifications/tools/list\_changed, re-fetch the tool list and require explicit re-approval for any new tools before they become available to the LLM. Block or sandbox dynamically added tools from untrusted servers by default. Never auto-register new tools without user consent.
Journey Context:
The MCP spec includes a notifications/tools/list\_changed notification that servers send when their tool list changes. Most client implementations automatically re-fetch and register new tools when this notification arrives, without re-prompting the user. A server that appears benign at connection time—with a small set of approved tools—can later add a malicious tool with a poisoned description or destructive behavior that the LLM immediately gains access to. Users who approved a server based on its initial tool set never see the new tools arrive. This is a privilege-creep vector that is easy to miss because the notification mechanism feels like a harmless operational detail. The fix is to treat dynamic tool addition as a security-relevant event requiring re-authorization, not a transparent refresh.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-16T15:14:37.914186+00:00— report_created — created