Read-only MCP was easy. Here's what changed once our agents could write back

Reddit r/AI_Agents Tools

Summary

作者分享了将 AI 代理的 MCP 访问权限从只读升级为可写(更新工单、编辑数据)后,安全与审计规则必须随之改变的实践经验:读写作用域分离、写操作前显示 dry-run diff、限制操作影响范围、记录审批与载荷、无撤销路径则保持人工在环。最令人意外的是,大多数事故并非模型犯蠢,而是作用域过宽和不可见的写操作。

For months our agents only read through MCP: search, fetch, summarize. Nothing broke that a retry couldn't fix. The day we let them write (update tickets, edit rows, send things) the rules had to change. What we ended up with: Separate read and write scopes per tool. Never one token for both. If the agent only needs to read the CRM, it can't touch it. Every write shows a dry-run diff first. A human sees exactly what will change before approving, at least until that action has a clean track record. Cap the blast radius. Max rows or files per call, and it fails closed above the cap instead of "probably fine". Log who approved what, with the exact payload. "The agent did it" isn't an answer when something goes wrong. No undo path, no unattended write. If we can't reverse it in one step, a human stays in the loop. The surprise was that most of our incidents weren't the model being dumb. They were scopes that were too wide and writes nobody could see. What's the first write action you let your agent do unattended, and what made you trust it?
Original Article

Similar Articles

MCP was always a bad idea?

Simon Willison's Blog

The article argues that MCP remains valuable for providing control, authentication, UI, and audit logging in AI agent systems, contrary to claims that it is obsolete due to full coding agents.