关于 groupdocs-total-mcp
这款基于 Docker 的统一 MCP 服务提供 GroupDocs.Total 文档工具,涵盖批注、转换、解析、脱敏、签名等功能,并支持文档检查和页面预览。
主要功能
- 01添加、编辑、导入和导出批注
- 02比较、转换、合并和拆分文档
- 03将文档转换为 Markdown 或从 Markdown 生成文档
- 04提取文本、图像、表格和条形码
- 05脱敏内容并管理元数据
- 06签署文档并管理水印
适用场景
- 01转换并签署合同,然后添加水印
- 02比较文档版本并预览页面
- 03提取表格并脱敏电子邮件地址
- 04检查并清理多个 PDF 的元数据
MCP 相关
它向 MCP 客户端提供 38 项 GroupDocs.Total 工具,覆盖文档处理、检查和预览,并以 Docker 镜像分发。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
docker run -i --rm -e GROUPDOCS_MCP_STORAGE_PATH -e GROUPDOCS_MCP_OUTPUT_PATH -e GROUPDOCS_LICENSE_PATH ghcr.io/groupdocs-total/total-net-mcp:26.7.3GROUPDOCS_MCP_STORAGE_PATHGROUPDOCS_MCP_OUTPUT_PATHGROUPDOCS_LICENSE_PATH本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
ghcr.io/groupdocs-total/total-net-mcp:26.7.3stdio工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
GroupDocs.Total MCP 服务
统一的 MCP 服务,提供完整的 GroupDocs.Total 文档处理工具集——包括批注、比较、转换、Markdown、合并、元数据、解析、内容脱敏、签名、水印,以及跨产品文档检查和页面预览——作为可供 Claude、Cursor、GitHub Copilot 和其他 MCP Agent 调用的工具。专为独立使用而设计——无需同时连接各个产品的 MCP 服务(GroupDocs.Annotation.Mcp、GroupDocs.Signature.Mcp 等),否则会导致工具重复。
安装
一键安装会预填所有受支持的设置:安装后请编辑卷挂载中的占位主机路径;GROUPDOCS_LICENSE_PATH 为空时将以评估模式运行。
更多客户端 - Claude Code、Codex CLI、Visual Studio 2022、Cursor、Windsurf、Cline 和 JetBrains Rider 的现成配置位于
install/generated/。
此产品仅通过 Docker(GHCR)分发。 GroupDocs.Total 集成了所有引擎(包括 Parser 内嵌的 ONNX 模型),因此打包后的工具远超 NuGet.org 的 250 MB 限制,无法使用 dnx 和
dotnet tool install。当上游提供能在限制内打包的精简引擎后,标准 NuGet 流程将恢复(参见 .github/workflows/publish_prod.yml 中的回退说明)。
docker run --rm -i \
-v $(pwd)/documents:/data \
ghcr.io/groupdocs-total/total-net-mcp:latest
镜像支持多架构(linux/amd64 + linux/arm64),标签包括 latest 和每个版本发布时对应的不可变版本标签(例如 :26.9.0)。如需固定版本,请将 :latest 替换为版本标签——建议在共享配置和 CI 中这样做。
可用的 MCP 工具(共 38 个)
工具采用 {Product}{Verb}{Noun} PascalCase 命名,以区分不同领域的工具。跨产品工具则保持简短。
跨产品(2 个)
| 工具 | 描述 |
|---|---|
GetDocumentInfo | 以 JSON 格式返回任意文档的文件类型、页数和大小(通过 Parser 引擎支持 170 多种格式) |
GetDocumentPageImage | 将最多 5 页渲染为内嵌 PNG 图像(Viewer 引擎,支持 170 多种格式) |
注释(8 个)
| 工具 | 描述 |
|---|---|
AnnotationAddAnnotation | 添加文本字段 / 区域 / 点 / 箭头 / 高亮 / 下划线 / 删除线注释 |
AnnotationGetAnnotations | 以 JSON 格式列出所有注释(id、类型、消息、页码、框、用户、回复) |
AnnotationUpdateAnnotation | 根据 id 修改现有注释的消息和/或边界框 |
AnnotationRemoveAnnotations | 按 id 列表移除注释,或移除全部注释 |
AnnotationAddReply | 为现有注释添加回复 / 评论串 |
AnnotationRemoveReplies | 按 id、用户名移除回复,或移除全部回复 |
AnnotationImportAnnotations | 从 XML 或其他带注释的文档导入注释 |
AnnotationExportAnnotations | 将注释提取为 XML(可通过 Import 重新导入) |
签名(7)
| 工具 | 描述 |
|---|---|
SignatureSign | 使用文本、二维码、条形码或数字证书签名 |
SignatureVerify | 验证签名,并返回 JSON 有效性报告 |
SignatureSearchTextSignatures | 查找嵌入的文本签名,可选按子字符串筛选 |
SignatureSearchBarcodes | 查找条形码签名,可选按解码后的文本筛选 |
SignatureSearchQrCodes | 查找二维码签名,可选按解码后的文本筛选 |
SignatureSearchDigitalSignatures | 查找数字证书签名(签署者、颁发者、有效期) |
SignatureSearchImageSignatures | 查找嵌入的图像签名,并以 base64 PNG 格式返回 |
比较(1)· 转换(2)· Markdown(2)
| 工具 | 描述 |
|---|---|
ComparisonCompare | 比较两份文档,生成带注释的差异文档 |
ConversionConvert | 在 PDF、Office、图像、HTML 及其他 50 多种格式之间转换 |
ConversionGetSupportedFormats | 列出文档可转换成的所有输出格式 |
MarkdownConvertToMarkdown | 将 PDF / Office / EPUB / MOBI 转换为简洁的 Markdown |
MarkdownComposeFromMarkdown | 根据 Markdown 源文件生成 DOCX / PDF / HTML |
合并(2)· 元数据(2)
| 工具 | 描述 |
|---|---|
MergerMerge | 将最多 4 份文档合并为一份(PDF / Office / HTML / 图像) |
MergerSplit | 按页码将文档拆分为多个文件 |
MetadataReadMetadata | 以 JSON 格式读取所有元数据属性(作者、标题、EXIF、XMP、IPTC、自定义属性) |
MetadataRemoveMetadata | 删除所有元数据并保存一份干净的副本 |
解析器(5)· 脱敏(4)· 水印(3)
| 工具 | 描述 |
|---|---|
ParserExtractText | 提取纯文本(逐页或整份文档) |
ParserExtractImages | 提取嵌入的图像并保存到存储中 |
ParserExtractTables | 将表格提取为 Markdown 或 JSON |
ParserExtractMetadata | 提取元数据字段(与 MetadataReadMetadata 不同;能够识别 Parser 格式) |
ParserExtractBarcodes | 查找并解码文档页面中嵌入的条形码 |
RedactionRedactText | 使用替换字符串对匹配正则表达式的文本进行脱敏 |
RedactionRedactImageArea | 将文档页面的矩形区域涂黑 |
RedactionRedactAnnotations | 对匹配正则表达式的批注进行脱敏或删除 |
RedactionEraseMetadata | 通过 Redaction 引擎删除元数据(可处理 Metadata 无法处理的格式) |
WatermarkAddWatermark | 添加文本水印,可配置字体、旋转角度和不透明度 |
WatermarkSearchWatermarks | 以 JSON 格式列出已有水印(类型、文本、位置、页码) |
WatermarkRemoveWatermarks | 按文本筛选或全部移除水印 |
示例提示词
- “将 contract.docx 转换为 PDF,然后添加包含 ‘Signed by Alice’ 的二维码签名,再在每一页添加 ‘CONFIDENTIAL’ 水印”
- “比较 old.pdf 和 new.pdf,列出结果中的所有批注,并预览第 1 页”
- “将 report.xlsx 中的所有表格提取为 Markdown,并对所有电子邮件地址进行脱敏”
- “读取 /uploads 中每个 PDF 的元数据,然后删除元数据,再预览每份文件清理后的第 1 页”
- “查找 invoice.pdf 中的所有条形码,然后将 invoice.pdf 和 receipt.pdf 合并为 combined.pdf”
许可
MCP 服务本身采用 MIT 许可证;底层 GroupDocs 引擎在生产环境中使用时需要许可证。 未提供许可证时,服务将以评估模式运行:
- 每个捆绑的引擎都有各自的评估限制:输出水印 / 评估声明、页数限制,以及每个进程打开文档数量的上限(根据引擎不同,为 1–15 份文档)。
如需解除限制,请将 GroupDocs.Total.lic 挂载到容器中,并将
GROUPDOCS_LICENSE_PATH 指向该文件(参见上文的 Claude Desktop 示例):
配置
| 变量 | 描述 | 默认值 |
|---|---|---|
GROUPDOCS_MCP_STORAGE_PATH | 输入和输出文件的基础文件夹 | 当前目录 |
GROUPDOCS_MCP_OUTPUT_PATH | (可选) 单独的输出文件文件夹 | GROUPDOCS_MCP_STORAGE_PATH |
GROUPDOCS_LICENSE_PATH | GroupDocs 许可证文件的路径 | (评估模式) |
在 Claude Desktop 中使用
{
"mcpServers": {
"groupdocs-total": {
"command": "docker",
"args": ["run", "--rm", "-i", "-v", "/path/to/documents:/data", "ghcr.io/groupdocs-total/total-net-mcp:latest"]
}
}
}
如需使用许可证,请在镜像名称前添加
"-v", "/path/to/license-folder:/license", "-e", "GROUPDOCS_LICENSE_PATH=/license/GroupDocs.Total.lic"。 如需固定版本,请将:latest替换为发布标签。
在 VS Code / GitHub Copilot 中使用
使用上方的 在 VS Code 中安装按钮,或添加到 .vscode/mcp.json
(也可见于 install/generated/vscode-mcp.json):
{
"inputs": [
{
"type": "promptString",
"id": "storage_path",
"description": "Base folder for input and output files.",
"password": false
}
],
"servers": {
"groupdocs-total": {
"command": "docker",
"args": ["run", "--rm", "-i", "-v", "${input:storage_path}:/data", "ghcr.io/groupdocs-total/total-net-mcp:latest"]
}
}
}
使用 Docker Compose
cd docker
docker compose up
编辑 docker/docker-compose.yml,将卷指向本地文档文件夹。
许可证
MIT — 请参阅 LICENSE
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。