MCP server 配置发现与解析。
从标准文件位置发现 mcp.json 配置,并转换为 CMDC 内部格式
%{name: String.t(), transport: tuple} 列表。
发现顺序(越靠前优先级越高)
项目本地(相对 working_dir):
.vscode/mcp.json.github/mcp.json.cursor/mcp.json.cmdc/mcp.json.mcp.json
用户全局:
~/.cmdc/mcp.json
同名 server 以第一次出现为准(项目本地覆盖全局)。
支持的格式
同时兼容两种 JSON 顶层键:
"servers"— CMDC 原生格式"mcpServers"— Cursor / VS Code 格式
支持的 transport
- Stdio 服务器:
command+args+ 可选env - HTTP/SSE 服务器:
type("http" 或 "sse")+url+ 可选headers
Summary
Functions
从标准文件路径发现 MCP server 配置。
参数
working_dir— 项目根目录路径opts— 可选::extra_files— 额外配置文件路径列表(绝对路径或相对 working_dir 的路径)
返回
[%{name: String.t(), transport: tuple}] 列表,按 server name 去重(先出现者优先)。
解析单个 mcp.json 文件,返回 server 配置列表。
文件不存在或格式无效时返回 []。
解析 VS Code 格式的单条 server 配置。
返回 %{name: String.t(), transport: tuple} 或 nil(格式无效时)。