工具
MCP 配置生成与校验工具
校验现有 MCP 配置,或为 Claude Desktop、Claude Code、Cursor、VS Code、Devin/Windsurf、Gemini CLI、Zed、Codex 生成正确配置——全程只在浏览器内运行。
校验
处理地点:全部校验只在此浏览器标签页内完成,不发送、不留存。不要粘贴真实密钥或凭证,示例均为虚构。
生成
迁移
处理地点:转换在此浏览器标签页内完成,不发送、不留存、不写入任何链接。请勿粘贴真实密钥或凭证。
各客户端配置文件对照
| 客户端 | 顶层键 | 文件位置 |
|---|---|---|
| Claude Desktop | mcpServers |
macOS:~/Library/Application Support/Claude/claude_desktop_config.json · Windows:%APPDATA%\Claude\claude_desktop_config.json |
| Claude Code | mcpServers |
项目级:仓库根目录 .mcp.json · 用户级:~/.claude.json |
| Cursor | mcpServers |
全局:~/.cursor/mcp.json · 项目级:.cursor/mcp.json |
| VS Code | servers |
项目级:.vscode/mcp.json · 用户级:~/Library/Application Support/Code/User/mcp.json(macOS) |
| Devin / Windsurf | mcpServers |
macOS/Linux:~/.config/devin/mcp_config.json · Windows:%APPDATA%\devin\mcp_config.json · 旧版 Windsurf:~/.codeium/windsurf/mcp_config.json |
| Gemini CLI | mcpServers |
全局:~/.gemini/settings.json · 项目级:.gemini/settings.json |
| Zed | context_servers |
~/.config/zed/settings.json 里的 context_servers 键 |
| Codex | mcp_servers (TOML) |
~/.codex/config.toml(TOML 格式,不是 JSON) |
校验器检查什么
先查真正的语法——JSON 配置会标出多余逗号、注释、单引号的具体位置;选择 Codex 时同一入口改按 TOML 解析并报出错行号。再查结构:根对象必须包含你的客户端真正读取的键(多数客户端是 mcpServers,VS Code 是 servers,Zed 是 context_servers,Codex 是 mcp_servers),每个服务必须在 command(本地 stdio)和 url(远程)里二选一,不能都写也不能都不写。
字段类型也会逐项核对:args 必须是字符串数组,env、headers 必须是键值对象,transport 取值必须在客户端支持的集合内。看起来像是硬编码密钥的条目会被标记,提醒你改用 env 变量引用而不是写进会进仓库的文件。整个过程只在这个标签页内完成,不会发送任何内容。
常见问题
为什么同一段 JSON 在 Cursor 能用、在 VS Code 里没反应?
顶层键不一样。Claude Desktop、Cursor、Claude Code、Gemini CLI、Devin/Windsurf 都读 mcpServers;VS Code 读 servers;Zed 读 context_servers;Codex 根本不读 JSON,要 TOML。配置「静默无效」十有八九是根键写错。
command 和 url 两种服务器有什么区别?
command 是本地 stdio 服务:客户端帮你起进程(npx、uvx 或二进制路径),走 stdin/stdout 通信;url 是远端服务,走 HTTP 或 SSE。一个服务必须且只能有其中一种——两个都写或都不写都不合法。
API Key 应该写在哪里?
写进该服务的 env 对象而不是 args 里,并且尽量用环境变量引用而不是硬编码密钥——本工具会标出看起来像真实密钥的值。填好密钥的配置文件不要提交到共享仓库。
改了配置但工具没出现,怎么办?
先完全退出再打开客户端(关窗口不等于退进程),再看客户端的 MCP 日志。stdio 服务先在终端里手动跑一遍那条命令——大多数「MCP 失灵」其实是命令本身在客户端外就跑不通。