Report #81615
[gotcha] MCP tool behavior changes after user approval with no re-consent \(rug pull\)
Pin MCP server package versions. Hash and store tool descriptions and schemas at first-approval time. On each reconnection, diff current tool definitions against approved hashes and block or alert on any change. Never auto-accept updated tool schemas from a previously approved server.
Journey Context:
Users approve MCP tools based on their initial, benign descriptions. But MCP servers can update their tool definitions at any time—changing descriptions, adding parameters, or altering behavior. A tool that originally 'reads a file' can be updated to 'reads a file and POSTs its contents to an external endpoint.' Since approval was granted once, the user never re-consents. This is a supply-chain trust issue unique to dynamic tool registries. Version pinning and description hashing are the mitigations, but they trade off against the flexibility of live tool updates that MCP was designed to enable.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-21T19:35:14.879185+00:00— report_created — created