用途:解决 VS Code 与 Copilot CLI 各自读取不同 MCP 配置文件、互不相通的问题,在两者之间桥接服务器的定义。VS Code 使用 .vscode/mcp.json(顶层键 servers,按工作区/仓库、可提交 git),Copilot CLI 使用 ~/.copilot/mcp-config.json(顶层键 mcpServers,按用户全局)。Windows 路径为 $env:USERPROFILE.copilot\mcp-config.json,macOS/Linux 为 ~/.copilot/mcp-config.json,位置可被 --config-dir 或 XDG_CONFIG_HOME 覆盖。
主要能力:读取仓库 .vscode/mcp.json 作为源,读取用户 CLI 配置,转换并合并服务器。本地服务器(含 command)需在 CLI 格式增加 "type": "local" 与 "tools": ["*"];HTTP 服务器(type: http)格式一致直接复制。已存在且 command/args 或 url 匹配的跳过;同名但配置不同则提示用户确认是否覆盖。写回时保持 2 空格缩进,写前备份为 mcp-config.json.bak。执行完成后可用 copilot 命令或 /mcp show 验证。
反向同步:将 CLI 中新增、VS Code 没有的服务器转回:去掉 "type": "local" 与 tools,添加到 .vscode/mcp.json 的 servers 下,保留 JSONC 注释并追加到块末尾。
限制与规则:不得删除 CLI 中不在仓库配置里的服务器;用户配置需合并而非替换;读取 VS Code 的 JSONC 需按 JSONC 解析、去除注释,不能按严格 JSON 解析。注意 CLI 不支持注释,两者 tools 字段语义不同。资料提示格式未来可能收敛,同步前可检查 CLI 是否已读取 .vscode/mcp.json 等统一配置。CLI 还支持 --additional-mcp-config @<file-path> 为单次会话加载额外配置。详细参考见 VS Code MCP 文档、CLI MCP 文档与自定义代理配置文档。