unknown configuration field `mcp_servers.context7.type`:Codex
Quick fix
删除 Codex MCP 配置中的 type 字段;未修复的 cc-switch 再次同步时会将其重新写入。
Symptom
Section titled “Symptom”unknown configuration field `mcp_servers.context7.type`cc-switch 3.20.3 至 3.20.4 会在 Codex 的 `[mcp_servers.*]` 配置中写入 `type = "stdio"` 或 `type = "http"`。Codex 通过 `command` 或 `url` 推断 MCP 传输方式,不识别 `type`,因此普通模式会提示该设置被忽略,严格配置模式会拒绝启动。
临时手动删除该字段后,Codex 仍可正确识别传输方式;但只要 cc-switch 再次同步 MCP 或切换 Codex provider,未修复版本就会重新写入。修复方向还需让导入逻辑在缺少 `type` 时根据 `url` 推断 HTTP,否则仅移除输出字段会使仅含 `url` 的配置被错误按 stdio 处理。
在 `~/.codex/config.toml` 的每个 `[mcp_servers.*]` 段中删除 `type` 行,随后重新运行 Codex 严格配置检查。
~/.codex/config.toml [mcp_servers.context7]type = "stdio"command = "context7-mcp"在 cc-switch 修复前,避免对 Codex 启用会触发 MCP 同步的条目;可清空 MCP 管理中面向 Codex 的勾选,并手动维护 `~/.codex/config.toml`,防止同步再次写回该字段。
Affected Versions
Section titled “Affected Versions”ToolCodex
Version3.20.3 - 3.20.4(受影响)
PlatformsWindowsmacOSLinux
Source Issues
Section titled “Source Issues”本页汇总自 2 个真实 issue
- `type` 被忽略会导致 MCP 完全不可用吗?
- 不会。问题报告确认 Codex 仍可正确识别 MCP 的传输方式;但严格配置模式会因未知字段拒绝启动。
- 为什么手动删除 `type` 后问题还会再次出现?
- 未修复的 cc-switch 在再次同步 MCP 或切换 Codex provider 时会重新写入该字段。
- 只移除写出 `type` 的逻辑是否足够?
- 不够。导入 Codex 配置时还需要在缺少 `type` 且存在 `url` 时推断为 HTTP,避免仅含 URL 的配置被当作 stdio 后跳过。
这是一个非官方社区 wiki,与 cc-switch 作者及项目本身无隶属关系。内容整理自项目公开的 GitHub issues。本站不分发任何软件。