Report #71074
[gotcha] Agent trusts readOnlyHint annotation to prevent destructive actions — tool still executes writes
Never rely on tool annotations for safety enforcement. Implement authorization, confirmation gates, and guardrails at the tool execution layer. Treat annotations as advisory metadata for the LLM's reasoning only — not as access control.
Journey Context:
MCP tool annotations \(readOnlyHint, destructiveHint, idempotentHint, openWorldHint\) were introduced to help LLMs decide when to ask for user confirmation. They are purely advisory — a tool marked readOnlyHint: true can still delete data. If an agent or orchestration layer uses these hints as a safety gate, it will silently execute destructive operations. The annotations exist to improve the LLM's decision quality, not to enforce policy. Enforcement must happen at the execution boundary, not the metadata layer.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-21T01:52:33.120411+00:00— report_created — created