跳转到内容

cc-switch 导致 Claude Code / Codex 的 MCP 配置丢失、被改写或无法加载

Quick fix

升级 cc-switch 到最新修复版,关闭或谨慎使用统一接管 MCP,逐个排查无效 MCP,并手动修正被改写的 command/type/path 字段。

报错原文
No MCP servers configured. Use `claude mcp add` to add a server.

该集群包含多个相关但不同的 MCP 问题:cc-switch 在接管或同步 MCP 时可能重置/覆盖 Claude Code 的插件与 MCP 配置;保存或切换时可能错误剥离 mcpServers 外层键,导致配置格式不合法;向 Codex/OpenCode 同步时可能把 stdio、url/SSE、path/command 等字段转换成目标客户端不兼容的结构;WSL 下 npx 路径可能被错误转换;Codex 流式 HTTP MCP 可能在切换后丢失;Responses → Chat Completions 转换路径还可能遗漏 MCP function tool。不同问题的修复状态不完全一致:部分已在 v3.15.0 / v3.16.0 或后续 PR 中修复,部分 issue 仍开放或仅提供了临时绕过方案。

  1. 升级 cc-switch 到最新版本;Codex 导入只有 url、没有 type 的 MCP 被误判为 stdio 的问题,以及日志明文记录 token 的问题已在 v3.15.0 / v3.16.0 相关提交中修复。

  2. 如果 Claude Code 的插件、skill、agent 或 MCP 在重启 cc-switch 后丢失,先在 cc-switch 中关闭“接管”或统一接管 MCP/Skills 的选项;若必须接管,先把当前 config 保存到通用设置,然后对每个供应商执行同步。

  3. 如果 Claude Code 显示 No MCP servers configured,但配置文件里仍有 MCP,逐个启用/禁用 MCP,找出导致全部 MCP 不可用的那一条,删除或修正它。

  4. 保存 MCP JSON 时,确保最外层是 mcpServers 包裹,而不是单个服务器对象;避免保存后被 cc-switch 剥皮成没有服务器名称的非法结构。

    Claude Code MCP 配置示例
    {
    "mcpServers": {
    "Context 7": {
    "command": "npx",
    "args": ["-y", "@upstash/context7-mcp@latest"],
    "env": {}
    }
    }
    }
  5. 如果 Codex 导入已有 MCP 时报缺少 command,而配置只有 url,请升级到已修复版本,让 cc-switch 将其识别为 HTTP/SSE 远程 MCP,而不是 stdio。

  6. 如果 WSL 下 npx 类型 MCP 被转换成错误路径,可先手动 npm install 对应包,然后把 MCP 配置里的 command 改回可执行命令。

  7. 如果 OpenCode/Codex 中 chrome-devtools 或其他 MCP 被改写成不兼容格式,例如 path 变成数组、command 被自动改成 cmd /c npx ...,暂时手动还原目标客户端配置文件中的原始 MCP 字段,并避免在切换供应商时让 cc-switch 自动改写该 MCP。

  8. 如果 Codex 中添加了流式 HTTP MCP 后切换供应商导致 MCP 列表丢失,先备份 Codex MCP 配置,切换后恢复;该问题在给定 issue 中仍开放,尚无最终修复版本。

  9. 如果 Codex 通过 Chat Completions 上游看不到 MCP function tools,确认当前 CC Switch 版本存在 Responses → Chat Completions 转换遗漏工具定义的问题;临时方案是改用支持原生工具格式的上游或等待修复。

ToolClaude Code / Codex
Version3.9.0 - 3.18.0
PlatformsWindowsmacOSLinux
为什么重启 cc-switch 后,everything claude code 插件的 agent、skill、MCP 配置会消失?
有用户反馈这是接管/同步机制导致。可尝试关闭接管;或在更新 config 后保存到通用设置,并对每个供应商同步。另有用户通过在 settings.local.json 中配置 enabledPlugins 保留插件。
MCP JSON 保存时显示成功,但之后 Claude Code 全部 MCP 都不可用,怎么办?
检查是否保存了没有 mcpServers 外层包裹的单服务器对象。一个错误 MCP 配置可能导致 Claude Code 解析失败,使所有 MCP 不可用。删除或修正异常 MCP,保留 mcpServers 外层结构。
Codex 中只有 url 的 MCP 为什么导入失败并提示缺少 command?
旧版本会把它默认当成 stdio 类型,因此要求 command 字段。该问题已在后续版本修复,应把只有 url 的配置按远程 SSE/HTTP MCP 处理。
WSL 下 npx MCP 路径被转换怎么办?
有用户通过直接 npm install 对应包,然后手动修改 MCP 配置中的 command 解决。该路径转换问题也已在相关 PR 中修复。
cc-switch 日志会不会泄露 MCP token?
早期版本会在日志中明文记录 Authorization/token 等敏感字段。后续修复会对 Authorization、token、api_key、secret、password、cookie 以及 Bearer/sk/ghp/github_pat 等形态做脱敏。
Codex 流式 HTTP MCP 切换后丢失,有最终修复吗?
给定 issue 中该问题仍开放,未明确最终修复版本。建议备份 Codex MCP 配置,切换后手动恢复,或关注相关 issue。

这是一个非官方社区 wiki,与 cc-switch 作者及项目本身无隶属关系。内容整理自项目公开的 GitHub issues。本站不分发任何软件。