Report #16110
[gotcha] Approved MCP server tool descriptions change without detection
Compute SHA-256 hashes of all tool descriptions at approval time and persist them. On every tools/list refresh, recompute and compare. On any mismatch, block the changed tool and require explicit re-approval with a diff shown to the user. Log all description changes with before/after content for audit. Never assume descriptions are static after first review.
Journey Context:
MCP servers can update their tool list and descriptions at any time—there is no versioning, signing, or change notification in the protocol. A server that passed security review on Monday can serve malicious descriptions on Tuesday via a server-side update, supply chain compromise, or dynamic description generation. This is the rug pull attack: the user approved one set of descriptions but is running a different set. The MCP spec's tools/list is a live query, not a static contract. Most clients never re-check descriptions after initial approval, creating a persistent blind spot that turns a one-time review into a permanent trust grant.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-17T01:50:29.037493+00:00— report_created — created