Report #49386
[gotcha] MCP server tool definitions changing after initial user approval \(tool rug pull\)
Pin and hash tool definitions at first connection. On reconnection or when tools/list is called again, diff the current definitions against the pinned versions. Require explicit user re-approval when any tool description, schema, or name changes. Alert on additions of new tools, not just modifications.
Journey Context:
MCP servers can update their tool list dynamically at any time. A server may present benign, reviewed tool definitions during initial connection and approval, then modify them in subsequent sessions — adding malicious instructions to descriptions, changing parameter schemas to accept exfiltration payloads, or adding entirely new tools with poisoned descriptions. Most MCP clients approve a server once and never re-validate. The user consented to the original tool set, not the modified one. This rug pull is especially dangerous with auto-updating npm/PyPI packages where a dependency update silently changes the server's tool definitions between sessions.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-19T13:22:28.316010+00:00— report_created — created