tools-sync: 订正 Codex MCP 消失的归因——与升级无关,且需放在同步最后一步

原文把用户 MCP 消失归因于 codex-cli 升级。2026-09-07/08 一次同步内复现三次
(补齐→验证通过→几分钟后只剩自带的两个),说明升级只是其中一种触发。
补上本次排查的排除项:不是 cwd 作用域、不是 Syncthing、add/remove/list 本身正常;
config.toml 在 0.153.4 复验仍然惰性(手写 [mcp_servers.tomlprobe] 后 list 看不到);
add 之后本地三处候选目录都没有文件被写过,怀疑存储在账号侧下发。
据此把"MCP 审计放在整次同步最后一步"写成明确做法。

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01438Zbcx49e4o46uSA71mFF
This commit is contained in:
Myfro9
2026-09-08 05:41:19 +08:00
co-authored by Claude Opus 5
parent 17b7830f04
commit 01b7a00b12
+10 -3
View File
@@ -241,9 +241,16 @@ commit + push 一次(junction 模型下 codex 侧自动同步,无需额外
- **这个存储不跨 CLI 升级存活。** 2026-08-29 注册好的 7 个用户 MCP,在升级到 0.150.1
后全部消失;2026-09-07 升到 0.153.4 后**又全没了一次**。所以每次同步都要重新审计
Codex 侧,`~\skills_env.md` 的 MCP 配置节才是可重建的真源。
同一天还观察到一次**与升级无关**的消失(补齐后几分钟内 7 个条目又只剩两个自带的),
事后 add / remove / list 反复验证都正常、无法复现。别去猜原因——审计脚本退出码是 2
就直接 `-Apply` 补回来,这也是每次同步都必须跑一遍审计的理由。
更要命的是**消失并不需要升级**:2026-09-07/08 一次同步内复现了三次,每次都是补齐、
验证通过,几分钟后再查就只剩 Codex 自带的 `cua_repl` / `node_repl`。已排除 cwd 作用域、
Syncthing、以及 `codex mcp add/remove/list` 本身(单独测都正常,能持续数分钟);
`config.toml` 经 0.153.4 复验仍然惰性——手写一节 `[mcp_servers.tomlprobe]` 后
`codex mcp list` 完全看不到,所以别再想靠改 TOML 绕过。add 之后在 `~\.codex`、
`AppData\Local\OpenAI\Codex`、`AppData\Roaming\OpenAI` 下都找不到被写过的文件,
怀疑该存储是账号侧下发、本地增补会被后台同步覆盖;活下来的两个恰好是 Codex 自己重新
播种的自带运行时。
**实践结论:把阶段 5 的 MCP 审计放在整次同步的最后一步**,退出码是 2 就直接 `-Apply`,
并在报告里写明它随时可能再没。
由此还有一个已知缺口:`codex mcp add` 没有 `--tool-timeout-sec` / `env_vars` 之类的参数,
config.toml 又不生效,所以这两个键**目前无任何设置入口**。需要它们的 MCP 记在