内容
# 工具列表
MCP 服务器,暴露 [GroupDocs.Comparison](https://products.groupdocs.com/comparison) 作为 AI 可调用工具,供 Claude、Cursor、GitHub Copilot 等 MCP 代理使用。
## 安装
需要 [.NET 10 SDK](https://dotnet.microsoft.com/download/dotnet/10.0)。
**直接使用 `dnx` 运行(推荐 — 无需安装步骤):**
```bash
dnx GroupDocs.Comparison.Mcp --yes
```
每次调用都会拉取最新的稳定版本。要固定到特定版本(推荐用于共享配置和 CI),请追加 `@<version>`:
```bash
dnx GroupDocs.Comparison.Mcp@26.7.0 --yes
```
**或作为全局 dotnet 工具安装:**
```bash
dotnet tool install -g GroupDocs.Comparison.Mcp
groupdocs-comparison-mcp
```
**或通过 Docker 运行:**
```bash
docker run --rm -i \
-v $(pwd)/documents:/data \
ghcr.io/groupdocs-comparison/comparison-net-mcp:latest
```
## 可用 MCP 工具
| 工具 | 描述 |
|---|---|
| `Compare` | 比较两个文档(源 vs 目标)并生成标记结果文件,以及更改计数摘要和结构化 JSON 更改列表(类型、页码、更改片段、周围源/目标文本、表格单元格、样式更改)。当用户需要渲染的差异文档时使用。支持 PDF、Word、Excel、PowerPoint、ODT、RTF、TXT、HTML 和 30 多种其他格式;可选 `sourcePassword` / `targetPassword` 涵盖受保护文档。 |
| `AnalyzeChanges` | 仅返回两个文档之间的差异为结构化数据 — 与 `Compare` 相同的 JSON 更改列表,但 **不** 渲染或保存结果文件。比 `Compare` 更便宜;当用户需要总结、解释或推理 *发生了什么* 更改,而不是获取标记文件时使用。可选 `sourcePassword` / `targetPassword`。 |
| `GetDocumentInfo` | 检查单个源文档并返回文件类型、页数、文件大小和每页尺寸的 JSON — 无需执行比较。作为比较前或预期文件格式的预检查非常有用。可选 `password` 用于受保护文档。 |
## AI 代理示例提示
一旦服务器与您的 MCP 客户端(Claude Desktop、Cursor、VS Code Copilot 等)连接,试试:
```
比较 old.pdf 和 new.pdf 并保存标记结果。
对比 contract-v1.docx 和 contract-v2.docx 并告诉我更改次数。
proposal-v1.docx 和 proposal-v2.docx 之间有什么变化?总结编辑。
budget-q1.xlsx 和 budget-q2.xlsx 之间的价格是否发生变化?哪些单元格?
report.pdf 有多少页?谁是作者?
检查 /docs/legal-brief.pdf — 文件类型和页数是多少?
```
客户端选择 `Compare` 当用户需要渲染的差异文件时,
`AnalyzeChanges` 当他们只想知道 *发生了什么* 更改(摘要/分析,无文件),
`GetDocumentInfo` 用于仅检查问题。
## 配置
| 变量 | 描述 | 默认值 |
|---|---|---|
| `GROUPDOCS_MCP_STORAGE_PATH` | 输入和输出文件的基础文件夹 | 当前目录 |
| `GROUPDOCS_MCP_OUTPUT_PATH` | *可选* 输出文件单独的文件夹 | `GROUPDOCS_MCP_STORAGE_PATH` |
| `GROUPDOCS_LICENSE_PATH` | GroupDocs 许可证文件的路径 | (评估模式) |
## 与 Claude Desktop 一起使用
```json
{
"mcpServers": {
"groupdocs-comparison": {
"type": "stdio",
"command": "dnx",
"args": ["GroupDocs.Comparison.Mcp", "--yes"],
"env": {
"GROUPDOCS_MCP_STORAGE_PATH": "/path/to/documents"
}
}
}
}
```
> 要固定到特定版本,请在 `args` 中将 `"GroupDocs.Comparison.Mcp"` 替换为 `"GroupDocs.Comparison.Mcp@26.7.0"`。对于共享/提交的配置,建议固定以避免意外升级。
## 与 VS Code / GitHub Copilot 一起使用
NuGet.org 在 [package page](https://www.nuget.org/packages/GroupDocs.Comparison.Mcp) 上生成了一个现成的 `mcp.json` 代码段。
直接复制到您的 `.vscode/mcp.json` 中。
或者,手动添加到 `.vscode/mcp.json`:
```json
{
"inputs": [
{
"type": "promptString",
"id": "storage_path",
"description": "输入和输出文件的基础文件夹。",
"password": false
}
],
"servers": {
"groupdocs-comparison": {
"type": "stdio",
"command": "dnx",
"args": ["GroupDocs.Comparison.Mcp", "--yes"],
"env": {
"GROUPDOCS_MCP_STORAGE_PATH": "${input:storage_path}"
}
}
}
}
```
> 与上述相同的固定规则 — 替换 `"GroupDocs.Comparison.Mcp"` 为 `"GroupDocs.Comparison.Mcp@26.7.0"` 以锁定到特定版本。
## 使用 Docker Compose
```bash
cd docker
docker compose up
```
编辑 `docker/docker-compose.yml` 以将卷指向本地文档文件夹。
## 文档和指南
逐步部署指南和已发布的程序包集成测试套件位于配套存储库中
[**GroupDocs.Comparison.Mcp.Tests**](https://github.com/groupdocs-comparison/GroupDocs.Comparison.Mcp.Tests):
- [从 NuGet 安装](https://github.com/groupdocs-comparison/GroupDocs.Comparison.Mcp.Tests/blob/master/how-to/01-install-from-nuget.md) — `dnx`,全局工具,固定 vs 最新
- [通过 Docker 运行](https://github.com/groupdocs-comparison/GroupDocs.Comparison.Mcp.Tests/blob/master/how-to/02-run-via-docker.md)
- [在 MCP 注册表上验证](https://github.com/groupdocs-comparison/GroupDocs.Comparison.Mcp.Tests/blob/master/how-to/03-verify-mcp-registry.md)
- [与 Claude Desktop 一起使用](https://github.com/groupdocs-comparison/GroupDocs.Comparison.Mcp.Tests/blob/master/how-to/04-use-with-claude-desktop.md)
- [与 VS Code / GitHub Copilot 一起使用](https://github.com/groupdocs-comparison/GroupDocs.Comparison.Mcp.Tests/blob/master/how-to/05-use-with-vscode-copilot.md)
- [运行集成测试](https://github.com/groupdocs-comparison/GroupDocs.Comparison.Mcp.Tests/blob/master/how-to/06-run-integration-tests.md)
该存储库还在 CI 中针对 **已发布** 的 NuGet 工件在 Linux、macOS 和 Windows 上进行了测试 — 因此上述代码段在每次发布时都经过了端到端验证。
## 许可证
MIT — 请参阅 [LICENSE](LICENSE)
<!-- mcp-name: io.github.groupdocs-comparison/groupdocs-comparison-mcp -->