一个 AI 代理可以从已标注的文档中提取所有评论,并以三种方式进行报告:摘要、表格或 XML 存档。GroupDocs.Annotation.Mcp 服务器将注释以结构化数据的形式交给大语言模型(LLM),而 Claude、Cursor 或 GitHub Copilot 在本地完成推理:
总结 contract_annotated.pdf 的审阅:有多少条评论,来自谁,主要主题是什么。
带有配置和故障排除的逐步说明请参见文档:How to extract and report on document annotations with AI
当你从 PDF 中提取注释时会得到什么?
标注文档既是数据也是墨迹。get_annotations 工具返回一个 JSON 对象,其中包含 found(计数)和 annotations(数组)。每个条目包含注释的 id、type、message、page(从 1 开始)、边界框、user 以及任何 replies。此过程不涉及文档解析和 OCR,代理直接使用注释记录本身。
该工具每次调用只能处理一个文档。若要覆盖一组文件,需要在提示中列出它们,代理会对每个文件各调用一次工具。服务器不提供文件夹级别的调用。
方法一:请求摘要
一次调用后进行推理。给出文件名并说明需要的摘要内容。
总结 contract_annotated.pdf 的审阅:有多少条评论,来自谁,主要主题是什么。
代理调用 get_annotations,统计条目数量,按 user 分组,并描述在 message 字段中发现的主题。计数和作者信息来源于数据,主题是模型对文本的解读,仍需人工审阅。
方法二:请求表格或过滤列表
因为数据是结构化的,报告的形态取决于提示:
给我一个表格:页面、作者、评论、是否已回复。
按审阅者分组评论,并告诉我谁有最多未解决的项目。
只列出删除线标记的内容。我想看看哪些内容被要求删除。
哪些页面根本没有评论?
最后一个问题是 PDF 阅读器难以回答的,而数组可以直接给出答案:“已回复”对应非空的 replies 列表,“没有评论的页面”则是 page 值中缺失的页码。可结合 get_document_info 获取总页数。
方法三:将评论存档为 XML
导出注释,以便我们将其与案件文件一起保存。
export_annotations 会生成一个仅包含注释的 XML 文件。成功信息的格式为 Exported N annotation(s) from <file> to <name>.annotations.xml。该文件体积小,便于比较差异,import_annotations 可以将其应用到文档的另一副本。当文档受保留规则约束而注释不受约束,或需要比较两轮审阅时,这非常有用:同一文档的两次导出是两个文本文件,代理可以描述它们之间的变化。
示例会话(节选)
以下示例基于工具的文档化行为构建,并非实际截图。
You: Summarize the review of contract_annotated.pdf and group it by reviewer.
Agent: [calls get_annotations on contract_annotated.pdf]
Found 5 annotations: 4 from Maria, 1 from Dana.
Maria: payment terms (page 2), delivery date (page 5),
liability cap (page 6), a missing signature block (page 6).
Replies: Alex answered the page 2 payment terms comment.
Dana: a strikeout on page 4 marking an outdated clause.
Maria comments without a reply: page 5 and the two on page 6.
代理可以对评论执行操作吗?
它可以传递列表:为每条未回复的评论打开一个 issue,起草回复邮件,或撰写状态段落。唯一的规则是:评论来自他人,代理应将注释文本视为需要报告的内容,而不是指令。诸如“忽略之前的指示”之类的评论仅是字段中的数据。请请求摘要和报告,任何会改变内容的操作都应在你自己的审阅下进行。
如何为 Claude、Cursor 或 Copilot 运行服务器?
服务器可通过 ghcr.io/groupdocs-annotation/annotation-net-mcp Docker 镜像或使用 NuGet 并运行 dnx GroupDocs.Annotation.Mcp --yes(.NET 10 SDK)启动,并挂载存放文档的文件夹。中心页面列出了 Claude Desktop、Claude Code、VS Code(配合 GitHub Copilot)、Cursor、Windsurf 等客户端的注册方式。
诚实的限制
- 评估模式。 每页顶部都会盖上试用徽章。它不影响注释数据,因此通过此方式生成的报告在没有许可证的情况下仍然准确。它会影响你可以发送的内容。如果计划以“通过电子邮件发送标注副本”结束,请先检查
get_license_status。 - 每次调用仅限一个文档。 对大量文件进行遍历意味着需要多次调用,每一次都是代理必须执行并报告的工具调用。
- 导出为 XML。
get_annotations为代理返回 JSON;export_annotations将 XML 写入存储。 - 无需预览。 三种方式都不渲染页面,因此 Linux 上
generate_pages_preview的 PDF 预览限制对它们没有影响。
FAQ
如何导出 PDF 中的所有评论? 让代理导出注释。它会调用 export_annotations,在你的文档旁生成一个 XML 文件,或者如果你想在聊天中列出评论,则调用 get_annotations。
AI 能否跨多个文件汇总审阅者的评论? 能。只需在提示中列出文件名,代理会对每个文件调用 get_annotations,随后将结果合并为一个摘要。每次调用处理一个文件。
如果没有许可证,报告会改变吗? 注释数据本身不会改变。只有渲染或保存的页面会带有试用徽章。
深入了解
- 文档、权威操作指南:How to extract and report on document annotations with AI
- 文档中心:GroupDocs.Annotation MCP Server
- 入门指南:AI review that lands in the document, not in the chat log
- 相关内容:Enforce review workflows with automated annotation threads using MCP
- 相关内容:Show the agent what it did
- 本地部署与安全模型:3 architectures for AI document processing, and the one that keeps files inside your network
- 问题讨论:GroupDocs Annotation forum
- 源代码:GroupDocs.Annotation.Mcp on GitHub