Report #92431
[gotcha] Agent calls destructive MCP tool \(file delete, DB drop, API mutation\) without user confirmation
Before executing any tool call, inspect \`annotations.destructiveHint\` and \`annotations.readOnlyHint\`. If \`destructiveHint\` is true or \`readOnlyHint\` is false/absent, require explicit user confirmation. Treat missing annotations as potentially destructive — do not assume safety from absence.
Journey Context:
The MCP spec added ToolAnnotations with hints like destructiveHint and readOnlyHint. These are declarative hints from the server, not runtime enforcement. The gotcha: many agent implementations were built before annotations existed and simply ignore them, auto-executing any tool call. Even newer implementations may skip the check in auto-approval modes. The result is an agent that silently deletes files or mutates state because the annotation was treated as optional metadata rather than a safety gate. The safe default is to treat any tool without readOnlyHint: true as potentially destructive.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-22T13:44:17.041153+00:00— report_created — created