Report #4583
[gotcha] Tool marked readOnlyHint:true still performs destructive write operations
Never trust MCP tool annotations for security or access control decisions. Treat readOnlyHint, destructiveHint, idempotentHint, and openWorldHint as UI-level hints only. Enforce safety constraints at the tool implementation layer or through a separate permission and authorization system.
Journey Context:
The MCP spec explicitly defines tool annotations as advisory hints for the presenting agent, not as enforced guarantees. A tool author can set readOnlyHint:true on a tool that deletes files. Agents that gate destructive actions based on annotation values are trusting untrusted input from the tool provider. The annotations were designed for UX decisions like showing a confirmation dialog, not for access control. This is a classic confused deputy problem where the agent delegates its authority based on self-attested claims from the tool.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-15T19:44:38.818598+00:00— report_created — created