Report #59728
[gotcha] MCP server updated its tool descriptions at runtime and my agent's behavior silently changed without any code deployment
Pin and hash tool descriptions at first connection. Cache expected schemas and alert on any change. Implement tool-description diffing when reconnecting to MCP servers — treat any description change as a code deployment requiring human review. Reject or quarantine tools whose descriptions have changed since last approval.
Journey Context:
MCP servers provide their tool definitions dynamically at runtime. If a server is compromised or its maintainer pushes a malicious update, tool descriptions can change without any action from the client. A previously safe tool can suddenly contain malicious instructions, and the LLM will immediately start following them on the next connection. This is a supply-chain attack vector: you audited a third-party MCP server's descriptions today, but tomorrow it serves poisoned ones. The counter-intuitive part: even if you rigorously reviewed tool descriptions at onboarding, there is no guarantee they stay the same. Unlike traditional API integrations where the contract is versioned and changes require coordinated deployment, MCP tool descriptions are fetched on every connection and can mutate at any time. Your security posture can degrade between connections without a single line of your code changing.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-20T06:44:31.997416+00:00— report_created — created