XML MCP 服务器
通过 Model Context Protocol 为 AI 助手提供 XML 对比能力。
@compare-xml/cli 提供了一个 MCP(Model Context Protocol)服务器,让 AI 助手能够以编程方式对比 XML 文档。
MCP 客户端配置
将以下内容添加到 MCP 客户端配置中,例如 mcp.json:
{
"mcpServers": {
"compare-xml": {
"command": "npx",
"args": ["@compare-xml/cli@latest", "--mcp"]
}
}
}
服务器使用 stdio 传输。MCP 客户端会启动 CLI 进程,并向助手提供 XML 对比工具。
可用工具
compare_xml
对比两个 XML 文档并返回差异。
输入:
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
baseXMLString | string | 否 | 基准 XML 字符串 |
baseXMLFilePath | string | 否 | 基准 XML 文件路径 |
contrastXMLString | string | 否 | 对照 XML 字符串 |
contrastXMLFilePath | string | 否 | 对照 XML 文件路径 |
options | object | 否 | 对比选项 |
必须至少提供一个基准输入和一个对照输入。文件路径在 MCP 服务器运行的环境中解析。
选项:
| 选项 | 类型 | 默认值 | 说明 |
|---|---|---|---|
arrayCompareMethod | byIndex / lcs / unordered | byIndex | 重复元素的对比方法 |
keyCaseInsensitive | boolean | false | 元素和属性名不区分大小写 |
valueCaseInsensitive | boolean | false | 文本和属性值不区分大小写 |
无序对比会忽略顺序,但保留重复项的出现次数。
输出:
工具会在 differences 结果中返回 XMLValueDifference 数组:
{
"differences": [
{
"pathSegments": ["root", "name"],
"pathString": "root.name",
"pathBelongsTo": "both",
"diffType": "valueChanged"
}
]
}
直接在终端使用的方法请参阅 CLI 指南,差异对象 API 请参阅 @compare-xml/core。