您可以让 AI 代理将审阅评论直接写入文档,而不是放在聊天中。GroupDocs.Annotation.Mcp 服务器允许 Claude、Cursor 或 GitHub Copilot 等大型语言模型在 PDF、Word、Excel 或 PowerPoint 文件中添加高亮、注释和删除线,并将它们本地写入您的机器:

在第 2 页的付款条款上添加高亮,并添加一条请法务确认的注释。

配置和故障排除的逐步版本请参见文档:如何使用 MCP 让 AI 代理标注文档.

为什么在聊天窗口中的 AI 反馈会丢失?

请助理审阅合同时,你会得到一个列表:“第 4 条将责任转移,第 7 条有未确定的日期”。该列表仅存在于对话中。下周打开合同的同事看不到任何内容,你必须手动将每一点复制回对应的段落。

问题不在于代理本身,而是它缺少写入文件的方式。审阅只有在读者能够看到的地方才有价值,也就是紧邻它所指涉的文本旁边。

错误做法是什么样的?

常见的变通办法是把文档文本粘贴到聊天中并请求评论。会出现三大问题,你可以在自己的文档上逐一验证:

  • 评论没有位置信息。“第 2 页第二段”只是需要你自行解决的描述。
  • 结果是文字记录,而不是可交付的文件。除非截图或粘贴块,否则无法发送给下一个审阅者。
  • 文档本身未被修改,审阅无法被过滤、计数或带入下一稿。

正确做法:使用 AI 代理标注文档?

将工作按各自擅长的方面分配。代理理解指令“标记所有将风险转移给我们的内容”。引擎则把真实的标注写入真实的文件。负责写入的工具是 add_annotation。它接受七种标注类型:textfield、area、point、arrow、highlight、underline 和 strikeout。其参数为文件、类型、文本、基于 1 的页码以及 x/y 文档坐标。

结果会保存为 <name>_annotated.<ext>,与原文件并列。原文件永不被修改。相同的调用适用于引擎支持的 50 多种格式,因此 Word 草稿和 PDF 的标注方式完全相同。

哪些工具确保标注位置准确?

坐标是任何无法看到页面的代理的薄弱环节,文档也明确指出了这一点。以下三种工具可以减少猜测:

  • get_document_info 返回文件类型、页数和尺寸,以及引擎报告的每页宽高,为代理提供页面盒子以进行推理。
  • get_annotations 返回已有标注及其边界框,代理可以将其用作锚点。
  • generate_pages_preview 将页面渲染为图像,具备视觉能力的模型可以在标注前定位文本。该功能目前在 Linux 上对 PDF 文件会失败,具体限制见下文。

链式标注的唯一陷阱是什么?

每个写入工具都会生成一个新文件。第二次标注必须作用于第一次调用产生的文件,而不是原始文件,否则第一次的标注会留在一个没人再打开的文件中。请在提示中明确说明:

在付款条款上添加高亮,然后在生成的文件中对旧的交付日期进行删除线。

示例会话(节选)

这是一段基于工具文档行为的示例说明,而非实际截图。

You:   Highlight the payment clause on page 2 of contract.pdf and add a note
       asking legal to confirm.

Agent: [calls get_document_info on contract.pdf]
       contract.pdf is a PDF with 6 pages.
       [calls add_annotation: type=highlight, page=2, x=100, y=250,
        text="Legal to confirm these payment terms"]
       Added highlight annotation to contract.pdf on page 2.
       The annotated copy is contract_annotated.pdf. Your original is unchanged.

如何在我的 AI 客户端中启动标注服务器?

以容器方式运行时,将存放文档的文件夹挂载到 /data:

docker run --rm -i -v $(pwd)/documents:/data \
  -e GROUPDOCS_MCP_OUTPUT_PATH=/data/output \
  ghcr.io/groupdocs-annotation/annotation-net-mcp:latest

如果不想使用容器,可安装 .NET 10 SDK 并运行 dnx GroupDocs.Annotation.Mcp --yes;在 Windows 上这也是获取 PDF 页面预览的渠道。中心页面提供了针对 Claude Desktop、Claude Code、VS Code(配合 GitHub Copilot)、Cursor、Windsurf 等客户端的现成注册代码片段。请在对生成文件进行链式编辑前,将 GROUPDOCS_MCP_OUTPUT_PATH 设置为除存储文件夹之外的其他文件夹。使用默认设置(输出落在存储文件夹)时,第二次写入会因 being used by another process 而失败;使用单独的输出文件夹时,add_reply、update_annotation 和 remove_annotations 在生成的文件上均能成功。使用 Docker 镜像时,同样通过 -e GROUPDOCS_MCP_OUTPUT_PATH=/data/output 传递。注册完成后,客户端会自行启动服务器并通过 stdio 与之通信,因此不会在网络端口上监听,也不会将文档内容发送到云服务。

真实限制

  • 评估模式。 未授权时,所有页面顶部都会盖上试用徽章,因而标注后的输出不可分发。请先询问“标注服务器的许可证状态如何?”;代理会调用 get_license_status。
  • 未提供帮助时定位近似。 仅凭提示猜测 x/y 的代理会大致放置 area 或 point 标注。若需精确定位,请先读取或渲染页面。
  • Linux 上的预览。 generate_pages_preview 目前在 Linux 上对 PDF 文件会失败,包括 Docker 镜像(TypeInitializationException for Gdip:System.Drawing.Common 在非 Windows 平台不受支持);Word 及其他 Office 文档可以渲染,且在 Windows 上使用 dnx 时所有格式均可渲染。其他十余种工具不受影响。

FAQ

Claude 能向 PDF 添加评论吗? 能。通过暴露标注工具的 MCP 服务器实现。使用 GroupDocs.Annotation.Mcp 时,代理调用 add_annotation,评论会写入 <name>_annotated.pdf。

AI 需要上传我的文档才能标注吗? 不需要。服务器会在你挂载的文件夹中打开文件并将标注副本保存到旁边。只有模型本身看到的内容(例如你粘贴的文本或代理查看的页面图像)会发送给模型提供商。

它不仅支持 PDF,还能在 Word 和 Excel 上工作吗? 能。相同的标注类型适用于 PDF、DOCX、XLSX、PPTX 以及图像,文档中列出的 50 多种格式均受支持。

深入了解