
Codex 接了 MCP 还会乱写?用 Skill 把读取、动作和恢复顺序拆开把 MCP 连上,不等于每个任务都可以执行写动作。可靠的做法是让 Skill 明确分三步:获取事实、判断是否授权、再调用受控工具。本文用“汇总异常但不改工单”的例子说明顺序;命令和结果均为文档演练。把只读目标写进工作流在 Skill 的步骤里先定义可接受输出:1. 调用只读查询,返回异常 ID、时间和来源。 2. 汇总缺失字段与待确认项。 3. 只有用户明确要求更新工单且工具权限允许时,才进入写入分支。输入“查本周异常并生成摘要,不要修改远程工单”后,预期结果是一份带来源的摘要,不是“顺便关闭了重复工单”。恢复信息至少包含查询时间、异常 ID 和未返回的字段;下一轮可以先重查这些对象,而不必重新猜测。给写入分支加一个看得见的门若确实要更新工单,把确认参数放在工具调用前,例如approved_ticket_ids为空就直接结束。不要把“总结里提到某个 ID”当作授权。工具返回权限不足时,保留错误类别和对象 ID;既不要换凭据硬试,也不要把缓存内容写回系统。排错先看边界,不先看模型如果摘要缺了一条异常,先比较查询筛选条件、分页和时间范围;如果出现写动作,检查 Skill 是否把“读取”和“更新”写在同一无条件步骤。MCP 负责数据、认证和受控动