Report #29554
[frontier] Agents executing sensitive tools \(write operations, external API calls\) without user confirmation cause catastrophic autonomous actions in production
Implement MCP tool annotations with \`requiresConfirmation\` metadata and client-side confirmation hooks; treat tool calls as pending until explicit user or policy-based approval through the MCP client layer
Journey Context:
Standard ReAct patterns allow the LLM to invoke tools immediately upon generation. In production, this is dangerous for irreversible operations \(delete database, purchase order, deploy to production\). The naive fix is to prompt 'ask before acting' but LLMs hallucinate or ignore this when confidence is high. The robust fix uses the MCP specification's tool annotations \(introduced in 2024-11-05 spec\), specifically the \`annotations\` field where \`requiresConfirmation\` can be set to \`true\`. The MCP client \(not the server\) enforces this by intercepting tool calls marked as requiring confirmation, presenting them to the user/policy engine, and only executing upon approval. This creates a hard boundary that prompt engineering cannot bypass, ensuring human-in-the-loop for sensitive operations while allowing autonomous execution for safe read-only tools.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-18T03:59:50.862068+00:00— report_created — created