mcpField
G
groupdocs-metadata-mcp

groupdocs-metadata-mcp

本地服务
github.com/groupdocs-metadata生产力18 周前更新

关于 groupdocs-metadata-mcp

groupdocs-metadata-mcp 将 GroupDocs.Metadata 的文档属性操作提供给 AI Agent,支持读取、筛选、编辑和删除元数据,也可检查基本文件信息。

主要功能

  1. 01以 JSON 读取文档元数据
  2. 02按类别、名称或值搜索属性
  3. 03设置或更新元数据属性
  4. 04删除全部或指定元数据
  5. 05检查文档基本信息及加密状态

适用场景

  1. 01查找文件中的作者或 GPS 属性
  2. 02更新文档标题或关键词
  3. 03分享前清除个人信息
  4. 04检查文件类型和加密状态

MCP 相关

它提供 MCP 工具,用于读取、搜索、写入和删除文档元数据,并支持基本文档检查。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库
安装包
nugetGroupDocs.Metadata.Mcp26.9.0

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

GroupDocs.Metadata MCP 服务

MCP 服务,可将 GroupDocs.Metadata 作为 AI 可调用的工具提供给 Claude、Cursor、GitHub Copilot 和其他 MCP Agent。

NuGet NuGet downloads Docker pulls MCP Registry Integration tests License: MIT

安装

Install in VS Code Install in VS Code Insiders Add to Cursor Codex CLI setup Windsurf setup

一键安装会预先填入所有受支持的设置:安装后请编辑占位符中的文档文件夹 (输出默认使用同一文件夹);GROUPDOCS_LICENSE_PATH 为空时将以评估模式运行——将其指向许可证即可解除限制。

更多客户端——Claude Code、Codex CLI、Visual Studio 2022、 Cursor、Windsurf、Cline 和 JetBrains Rider 的现成配置位于 install/generated/。

需要 .NET 10 SDK。

直接使用 dnx 运行(推荐——无需安装):

dnx GroupDocs.Metadata.Mcp --yes

每次调用都会获取最新的稳定版本。若要固定到特定 版本(共享配置和 CI 推荐),请追加 @<version>:

dnx [email protected] --yes

或者安装为全局 dotnet 工具:

dotnet tool install -g GroupDocs.Metadata.Mcp
groupdocs-metadata-mcp

或者通过 Docker 运行:

docker run --rm -i \
  -v $(pwd)/documents:/data \
  ghcr.io/groupdocs-metadata/metadata-net-mcp:latest

原生环境前置条件

底层的 GroupDocs 引擎在某些操作中使用 System.Drawing(GDI+)。如果你在 Linux 或 macOS 上原生运行服务(通过 dnx 或全局 dotnet 工具),请先安装原生 libgdiplus 库:

平台设置
Windows无需操作——GDI+ 已内置于操作系统中。
Linuxsudo apt-get install -y libgdiplus libfontconfig1
macOSbrew install mono-libgdiplus
Docker无需操作——镜像已包含 libgdiplus。

在 Linux/macOS 上如果跳过此步骤,工具响应中会出现 DllNotFoundException: libgdiplus。在 Linux/macOS 上,最简单的零配置选项是使用 Docker 镜像。

可用的 MCP 工具

工具描述
ReadMetadata读取所有元数据属性(作者、标题、创建日期、自定义属性),并以 JSON 格式返回
SearchMetadata在单个文档中搜索,并仅返回匹配的属性(按类别、名称或值筛选)——例如“显示作者”“是否包含 GPS?”
WriteMetadata设置、更改或添加属性(Author、Title、Subject、Keywords、Comments、Copyright、Company、Manager),并保存更新后的文件
RemoveMetadata移除元数据并保存清理后的文件。默认移除所有内容,也可仅移除特定的 categories(gps、author、comments、company、dates、software、copyright、keywords、personal)
GetDocumentInfo以 JSON 格式返回文件类型、MIME 类型、页数、字节大小和加密状态——这是一种轻量级结构检查,不会枚举元数据属性

许可

MCP 服务本身采用 MIT 许可;底层的 GroupDocs.Metadata 引擎在生产环境中使用时需要许可证。未提供许可证时,服务将以评估模式运行:

  • 单个服务进程最多可打开 15 个文档;之后的调用会因超出评估上限而失败,直到服务重启。
  • 未提供许可证时,无法保存元数据更改(写入/移除)。

服务有两种许可方式。

许可证文件——将 GROUPDOCS_LICENSE_PATH 指向你的 GroupDocs.Total.lic。可离线使用。

按量计费——设置 GROUPDOCS_METERED_PUBLIC_KEY 和 GROUPDOCS_METERED_PRIVATE_KEY。你只需为实际处理的内容付费,这很适合 AI Agent,因为它们的使用量时有波动,难以提前预测。如果同时配置了按量计费密钥对和许可证文件,将优先使用按量计费,并忽略许可证文件。

**按量计费模式需要外网连接。**使用情况会报告给 GroupDocs 服务器,因此隔离网络或受防火墙保护的部署必须允许向外连接,或改用许可证文件。

你可以随时调用 get_license_status 工具,查看当前使用的模式,以及在按量计费模式下查看已消耗的数量和剩余额度。

将私钥保留在配置之外

计量许可私钥属于机密。MCP 客户端配置是磁盘上的纯文本文件,而且按照惯例,项目级 .mcp.json 会提交到代码库,因此请按以下优先顺序处理:

  1. 在操作系统环境中设置变量,不要将它们写入配置。 stdio MCP 服务会继承客户端的环境,因此这种方式适用于所有客户端。 在 macOS 上请注意,从 Finder 启动的应用不会继承 shell 导出变量 — 请使用 launchctl setenv,或从终端启动客户端。
  2. 间接引用这些变量(如果客户端支持;Claude Code 会展开 ${VAR}; VS Code 使用 ${env:VAR} 和 ${input:...})。
  3. 在用户级配置中填写明文值(例如 ~/.claude.json),适用于单个开发者。
  4. 切勿在项目级 .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-metadata/metadata-net-mcp:latest

如需通过许可证文件解除限制:

配置

变量描述默认值
GROUPDOCS_MCP_STORAGE_PATH输入和输出文件的基础文件夹当前目录
GROUPDOCS_MCP_OUTPUT_PATH(可选) 单独的输出文件文件夹GROUPDOCS_MCP_STORAGE_PATH
GROUPDOCS_LICENSE_PATHGroupDocs 许可证文件的路径(评估模式)
GROUPDOCS_METERED_PUBLIC_KEY计量许可公钥。需要同时提供私钥;优先于许可证文件(未设置)
GROUPDOCS_METERED_PRIVATE_KEY计量许可私钥。机密 — 请参阅许可(未设置)

在 Claude Desktop 中使用

{
  "mcpServers": {
    "groupdocs-metadata": {
      "type": "stdio",
      "command": "dnx",
      "args": ["GroupDocs.Metadata.Mcp", "--yes"],
      "env": {
        "GROUPDOCS_MCP_STORAGE_PATH": "/path/to/documents"
      }
    }
  }
}

如需固定到特定版本,请在 args 中将 "GroupDocs.Metadata.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-metadata": {
      "type": "stdio",
      "command": "dnx",
      "args": ["GroupDocs.Metadata.Mcp", "--yes"],
      "env": {
        "GROUPDOCS_MCP_STORAGE_PATH": "${input:storage_path}"
      }
    }
  }
}

固定版本的规则与上文相同 — 将 "GroupDocs.Metadata.Mcp" 替换为 "[email protected]",即可锁定到特定版本。

使用 Docker Compose

cd docker
docker compose up

编辑 docker/docker-compose.yml,将卷指向本地文档文件夹。

文档与指南

分步部署指南和已发布软件包的集成测试套件位于配套仓库 GroupDocs.Metadata.Mcp.Tests:

该仓库还会在 CI 中针对 Linux、macOS 和 Windows,使用已发布的 NuGet 软件包测试所有宣传的工具,因此上述代码片段都会在每次发布时经过端到端验证。

许可证

MIT — 参见 LICENSE

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。