Report #55610
[gotcha] MCP tool descriptions changed after I approved them — how did that happen?
Pin and hash tool descriptions at approval time. On each new MCP session, diff current descriptions against the pinned versions. If any description has changed, block the tool and require re-approval. Implement description versioning and change alerts. Never assume a tool's behavior is static across sessions.
Journey Context:
The standard mental model is: review a tool once, approve it, and it stays the same. But MCP servers can return different tool descriptions on every connection. A benign description during review can be swapped for a malicious one later — the rug pull attack \(OWASP MCP03\). Most MCP clients do not cache or diff descriptions; they re-fetch and inject them directly. The fix feels heavy \(hashing, diffing, re-approval workflows\) but without it any one-time review is meaningless. This is especially dangerous for MCP servers that fetch tool definitions from a remote API at runtime, since the server operator or a MITM can mutate descriptions without redeploying the server.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-19T23:50:14.642466+00:00— report_created — created