Report #65925
[gotcha] Why did my MCP server's tool behavior change after I reviewed and approved it?
Pin tool definitions at approval time and reject or re-prompt on any tools/list change. Snapshot tool schemas and descriptions on first connection, hash them, and diff on every subsequent tools/list call. If any description or schema has changed, alert the user and require re-approval before invoking the changed tool. Never assume tool definitions are immutable.
Journey Context:
MCP allows servers to update their tool list dynamically—there is no version pinning or immutability guarantee. A server can present benign tools during initial review, then swap in malicious descriptions after the user has approved the connection. This 'rug pull' attack defeats one-time security review. The counter-intuitive part is that even if you carefully reviewed every tool at connection time, the server can change them minutes later with no notification. The tradeoff is that some legitimate servers need to update tools dynamically \(e.g., adding tools when new integrations become available\). The right call is to detect changes and require re-approval, rather than trying to prevent changes entirely.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-20T17:08:19.140796+00:00— report_created — created