关于 groupdocs-redaction-mcp
groupdocs-redaction-mcp 将 GroupDocs.Redaction 的文档脱敏功能提供给 MCP Agent,适用于需要移除文档中敏感文本、元数据、批注或图像区域的工作流。
主要功能
- 01脱敏匹配正则表达式的文本
- 02擦除文档元数据
- 03替换或删除批注
- 04遮盖矩形图像区域
- 05读取文档和页面信息
- 06查询许可证状态
适用场景
- 01从合同中移除姓名
- 02分享报告前清除元数据
- 03删除审阅文档中的评论
- 04遮盖文档页面上的签名
MCP 相关
提供文本、元数据、批注和图像区域脱敏工具,以及文档信息和许可证状态查询工具。可连接 Claude、Cursor 和 GitHub Copilot 等 MCP 客户端。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
GroupDocs.Redaction MCP 服务
将 GroupDocs.Redaction 封装为可供 Claude、Cursor、GitHub Copilot 及其他 MCP Agent 调用的工具的 MCP 服务。
安装
一键安装会预填所有受支持的设置:安装后请编辑占位文档文件夹(输出默认使用同一文件夹);如果 GROUPDOCS_LICENSE_PATH 为空,则以评估模式运行;将其指向许可证即可解除限制。
更多客户端——Claude Code、Codex CLI、Visual Studio 2022、Cursor、Windsurf、Cline 和 JetBrains Rider 的现成配置位于
install/generated/。
需要 .NET 10 SDK。
使用 dnx 直接运行(推荐——无需安装):
dnx GroupDocs.Redaction.Mcp --yes
每次调用都会拉取最新稳定版本。若要固定到特定版本(建议用于共享配置和 CI),请追加 @<version>:
dnx [email protected] --yes
或者安装为全局 dotnet 工具:
dotnet tool install -g GroupDocs.Redaction.Mcp
groupdocs-redaction-mcp
或者通过 Docker 运行:
docker run --rm -i \
-v $(pwd)/documents:/data \
ghcr.io/groupdocs-redaction/redaction-net-mcp:latest
本机运行的前置条件
底层 GroupDocs 引擎使用 System.Drawing(GDI+)进行图像区域脱敏(在页面区域上绘制纯色方块)。在 Linux 或 macOS 上本机运行服务(通过 dnx 或全局 dotnet 工具)时,请先安装原生 libgdiplus 库:
| 平台 | 配置 |
|---|---|
| Windows | 无需操作 — GDI+ 已内置于操作系统。 |
| Linux | sudo apt-get install -y libgdiplus libfontconfig1 |
| macOS | brew install mono-libgdiplus |
| Docker | 无需操作 — 镜像已包含 libgdiplus。 |
如果在 Linux/macOS 上跳过此步骤,工具响应中会出现 DllNotFoundException: libgdiplus。在 Linux/macOS 上,最简单的零配置选项是使用 Docker 镜像。
可用的 MCP 工具
| 工具 | 描述 |
|---|---|
RedactText | 在文档中脱敏与正则表达式模式匹配的文本;将结果保存为 <name>_redacted.<ext> |
EraseMetadata | 清除文档元数据字段(作者、标题、公司、日期和其他属性) |
RedactAnnotations | 替换或删除文档中的批注和评论 |
RedactImageArea | 使用纯色方块覆盖页面上的矩形区域(像素坐标) |
GetDocumentInfo | 以 JSON 格式返回文件类型、页数、大小和每页尺寸(不做修改) |
示例提示词
- “脱敏 contract.docx 中所有出现的‘John Smith’”
- “对外分享前,删除 report.pdf 中的所有元数据”
- “删除 review.docx 中的所有评论和批注”
- “在 agreement.pdf 的第 1 页上,用黑色方块覆盖从 (100,200) 到 (400,300) 的签名区域”
- “confidential.pdf 有多少页?”
许可
MCP 服务本身采用 MIT 许可证;底层 GroupDocs.Redaction 引擎在生产环境中需要许可证。没有许可证时,服务会以评估模式运行:
- 保存的输出带有水印。
- 评估模式下,单个服务进程最多只能打开 1 份文档——每次脱敏都需要启动新的服务进程。
服务有两种许可方式。
许可证文件 — 将 GROUPDOCS_LICENSE_PATH 指向你的 GroupDocs.Total.lic。可离线使用。
计量(按使用量付费) — 同时设置 GROUPDOCS_METERED_PUBLIC_KEY 和
GROUPDOCS_METERED_PRIVATE_KEY。你只需为实际处理的内容付费,因此这种方式很适合 AI Agent,因为它们的使用量往往突发且难以提前预测。如果同时配置了计量密钥对和许可证文件,计量模式优先,许可证文件将被忽略。
**计量模式需要出站网络连接。**使用情况会报告给 GroupDocs 服务器,因此,隔离网络或受防火墙保护的部署必须允许此出站连接,或者改用许可证文件。
随时调用 get_license_status 工具,查看当前启用的模式;如果处于计量模式,还可以查看已消耗的用量和剩余额度。
避免私钥出现在配置中
计量版私钥属于机密。MCP 客户端配置是磁盘上的纯文本文件,按照惯例,项目级 .mcp.json 会提交到版本库,因此请优先按以下顺序处理:
- 在操作系统环境中设置变量,并完全不将它们写入配置。 stdio MCP 服务会继承客户端的环境,因此这种方式适用于所有客户端。
在 macOS 上,请注意,从 Finder 启动的应用不会继承 shell 导出的变量——请使用
launchctl setenv,或从终端启动客户端。 - 间接引用这些变量(如果客户端支持;Claude Code 会展开
${VAR}; VS Code 使用${env:VAR}和${input:...})。 - 在用户级配置中填写明文值(例如
~/.claude.json),适用于单个开发者。 - 绝不要将明文密钥提交到项目级
.mcp.json。
对于 Docker,可直接传递这些值,不要将它们写入任何文件:
docker run --rm -i \
-e GROUPDOCS_METERED_PUBLIC_KEY -e GROUPDOCS_METERED_PRIVATE_KEY \
-v /path/to/documents:/data \
ghcr.io/groupdocs-redaction/redaction-net-mcp:latest
如需通过许可证文件解除限制:
配置
| 变量 | 说明 | 默认值 |
|---|---|---|
GROUPDOCS_MCP_STORAGE_PATH | 输入和输出文件的基目录 | 当前目录 |
GROUPDOCS_MCP_OUTPUT_PATH | (可选) 输出文件的单独目录 | GROUPDOCS_MCP_STORAGE_PATH |
GROUPDOCS_LICENSE_PATH | GroupDocs 许可证文件的路径 | (评估模式) |
GROUPDOCS_METERED_PUBLIC_KEY | 计量版公钥。还需要私钥;其优先级高于许可证文件 | (未设置) |
GROUPDOCS_METERED_PRIVATE_KEY | 计量版私钥。机密——请参阅许可 | (未设置) |
在 Claude Desktop 中使用
{
"mcpServers": {
"groupdocs-redaction": {
"type": "stdio",
"command": "dnx",
"args": ["GroupDocs.Redaction.Mcp", "--yes"],
"env": {
"GROUPDOCS_MCP_STORAGE_PATH": "/path/to/documents"
}
}
}
}
如需固定到特定版本,请在
args中将"GroupDocs.Redaction.Mcp"替换为"[email protected]"。建议在共享或提交的配置中固定版本,以免意外升级。
在 VS Code / GitHub Copilot 中使用
NuGet.org 会在程序包页面上生成可直接使用的 mcp.json 片段。
将其直接复制到 .vscode/mcp.json 中。
或者,手动添加到 .vscode/mcp.json:
{
"inputs": [
{
"type": "promptString",
"id": "storage_path",
"description": "Base folder for input and output files.",
"password": false
}
],
"servers": {
"groupdocs-redaction": {
"type": "stdio",
"command": "dnx",
"args": ["GroupDocs.Redaction.Mcp", "--yes"],
"env": {
"GROUPDOCS_MCP_STORAGE_PATH": "${input:storage_path}"
}
}
}
}
固定版本的规则与上文相同——将
"GroupDocs.Redaction.Mcp"替换为"[email protected]",即可固定到特定版本。
使用 Docker Compose
cd docker
docker compose up
编辑 docker/docker-compose.yml,将卷指向本地文档文件夹。
文档与指南
分步部署指南和已发布软件包的集成测试套件位于配套仓库 GroupDocs.Redaction.Mcp.Tests:
- 从 NuGet 安装 —
dnx、全局工具、固定版本与始终使用最新版本 - 通过 Docker 运行
- 在 MCP 注册表中验证
- 与 Claude Desktop 搭配使用
- 与 VS Code / GitHub Copilot 搭配使用
- 运行集成测试
- 与 Cursor 搭配使用
该仓库还会在 CI 中针对 Linux、macOS 和 Windows,使用已发布的 NuGet 软件包测试所有宣传的工具——因此,上述代码片段在每次发布时都会经过端到端验证。
许可证
MIT — 参见 LICENSE
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。