Report #83409
[gotcha] Agent calls a destructive tool \(DELETE, DROP, overwrite\) when it should only be reading
Always set MCP tool annotations: readOnlyHint=true for read operations, destructiveHint=true for irreversible operations, idempotentHint=true for safe-to-repeat operations, openWorldHint=false for internal-only tools. On the client/host side, gate destructive tool calls behind explicit user confirmation when destructiveHint=true.
Journey Context:
MCP tool annotations were added specifically to address safety concerns, but they are optional in the schema. Most implementations skip them because tools work fine without them. However, without annotations, the model has zero signal about whether a tool is safe to call in a read-only context. A model exploring a codebase might call delete\_branch or drop\_table when it only meant to inspect state. The annotations are the only standardized mechanism to communicate safety properties to the model—skipping them removes a critical guardrail for zero upside.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-21T22:35:25.815535+00:00— report_created — created