You can compare two versions of a document with an AI agent and get a short answer, a marked-up file, or both, while the files stay on your machine. Install the GroupDocs.Comparison.Mcp server, put both versions in one folder, and ask Claude Desktop, Claude Code, Cursor or GitHub Copilot locally:
Compare contract-v1.docx with contract-v2.docx. Summarize what changed, then give me a marked-up copy.
The step-by-step version with config and troubleshooting is in the documentation: 如何使用 MCP 与 AI 代理比较文档.
为什么不应该让 AI 代理通过阅读文档来比较文档?
语言模型通过读取文本“比较”两个文档时,只会产生差异的描述,而不是对差异的度量。它可能报告不存在的更改,或漏掉实际的更改。MCP 服务器将这项工作交给比较引擎。代理仍然做它擅长的事:理解你的问题并解释结果。引擎负责格式感知的比较,并将每个更改以数据形式返回:类型、页码、组件、变更片段、周围文本,以及当更改位于表格中时的单元格。样式更改(例如从普通文字变为粗体的条款)也会被报告为更改。
你使用下面三种方式中的哪一种,取决于一个问题:你想要答案还是文档?
方式 1:请求答案并获取 analyze_changes
当问题以 “what”、 “did” 或 “how many” 开头时,代理会调用 analyze_changes。该工具以结构化数据返回差异,不会生成文件。
What changed between proposal-draft.docx and proposal-final.docx? Keep it short.
响应以 <N> change(s) detected(或 No changes detected)开头,随后是 JSON 数组。代理会过滤并汇总该数组,因此后续的 “只要删除的部分” 或 “有没有数字变化?” 等请求不会再次触及文件。默认使用此方式:它跳过渲染,因而比其他方式更快、更便宜。
方式 2:请求文档并获取 compare
当请求是 “给我一个文件” 时,代理会调用 compare。该工具渲染带标记的结果文档并保存到你的输出文件夹,文件名为 <source-stem>_compared<ext>,例如 contract-v1_compared.docx。已有文件永远不会被覆盖;会使用新名称。
Give me a marked-up copy of contract-v1.docx and contract-v2.docx that I can send to legal.
审阅者可以在 Word 或任何其他查看器中打开结果文件。他们不需要 MCP 客户端或 AI 工具。相同的更改列表也会返回给代理,所以你仍然可以就它提问。
方式 3:同时请求两者,让代理链式调用
一个强大的代理可以在一次提示中完成两次调用:analyze_changes 用于摘要,compare 用于生成文件。这就是本文开头的提示。需要先快速阅读摘要、随后把文件交给他人时使用此方式。
在比较之前,你也可以让代理检查文件:
How many pages is contract-v2.docx?
这会触发 get_document_info,返回文件类型、页数、大小以及每页尺寸,而不进行任何比较。
如何设置?
运行 dnx GroupDocs.Comparison.Mcp --yes(使用 .NET 10 SDK)或 Docker 镜像 ghcr.io/groupdocs-comparison/comparison-net-mcp,在客户端注册服务器,并将 GROUPDOCS_MCP_STORAGE_PATH 设置为存放两个版本的文件夹路径。
客户端中它的表现如何?
示例会话(略删并具示意性;实际措辞取决于你的客户端和模型):
You: Compare contract-v1.docx with contract-v2.docx. Summarize
what changed, then give me a marked-up copy.
Agent: [calls analyze_changes: contract-v1.docx, contract-v2.docx]
[calls compare: contract-v1.docx, contract-v2.docx]
The engine detected changes, including the payment schedule
in a table on page 4 and a clause that changed from regular
to bold. The marked-up copy is saved as
contract-v1_compared.docx in your output folder.
有哪些限制?
- Evaluation cap. 未授权时服务器以评估模式运行:仅比较前 2 页,结果会带有水印。对于长文档,这会产生一份简短、令人安心的更改列表。先询问 “what is the license status of the comparison server?”,代理会调用
get_license_status,若返回"mode": "evaluation"则说明受限。 - Same format on both sides. 必须在相同格式之间比较;如果两文件格式不同,请先进行转换。
FAQ
Claude 能在不上传的情况下比较两个 PDF 吗?
是的,使用 MCP 服务器时比较在本地进程中对你指定文件夹中的文件进行。你的提示以及代理引用的任何片段仍会发送到你客户端使用的模型。
analyze_changes 与 compare 有何区别?
两者检测的更改相同。analyze_changes 以数据形式返回更改,不生成文件;compare 还会渲染带标记的文档。
它只支持 Word 文件吗?
不只。工具支持 PDF、DOCX、XLSX、PPTX、ODT、RTF、TXT、HTML 以及超过 30 种其他格式。
深入了解
- 文档、权威使用指南: 如何使用 MCP 与 AI 代理比较文档
- 文档中心: GroupDocs.Comparison MCP Server
- 下一篇: 为什么 AI 代理不应通过阅读来给合同加红线
- 下一篇: 使用 MCP 自动化生成发布说明、审计和批准的更改摘要
- 下一篇: 使用 MCP 通过自动化工作流强制执行文档比较
- 本地部署与安全模型: 3 种 AI 文档处理架构,以及保持文件在内部网络的方案
- 问题讨论: GroupDocs Comparison 论坛
- 源代码: GroupDocs.Comparison.Mcp on GitHub