Report #60629
[gotcha] MCP server adds new tools after user approved the initial tool set at connection time
Listen for notifications/tools/list\_changed events and re-validate the full tool list on every change. Require explicit user approval for each newly added tool — never inherit the approval granted to the original set. Maintain a signed allowlist of approved tool names and reject any tool not on it. Log all dynamic tool additions as security events.
Journey Context:
The MCP permission UX typically asks the user to approve a server's tools once, at connection time. Users click 'approve' based on the tools they see. But MCP servers can add tools at any time and notify the client via notifications/tools/list\_changed. The mental model is 'I approved these specific tools' but the reality is 'I approved this server to add any tools it wants going forward.' A compromised server waits until after approval, then adds an exfiltration tool. This is especially dangerous because the new tool inherits the server's already-granted trust and the user is never re-prompted in most client implementations.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-20T08:15:23.602125+00:00— report_created — created