mcpField
G
groupdocs-viewer-mcp

groupdocs-viewer-mcp

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

关于 groupdocs-viewer-mcp

groupdocs-viewer-mcp 将 GroupDocs.Viewer 功能提供给 AI Agent,可检查文档信息并将指定页面渲染为 PNG。适用于需要通过 MCP 客户端查看多种文档格式的用户。

主要功能

  1. 01将页面渲染为 PNG
  2. 02查询文件类型和页数
  3. 03返回各页尺寸信息
  4. 04支持受密码保护的文档

适用场景

  1. 01预览报告或演示文稿页面
  2. 02渲染前检查文档页数
  3. 03查看受保护文档的页面信息

MCP 相关

该 MCP 服务向客户端提供 RenderPage 和 GetViewInfo 工具,用于页面渲染及文档信息检查。

配置

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

暂未收录安装方式

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

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

工具

还没有获取到工具列表

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

详细介绍

GroupDocs.Viewer MCP 服务

将 GroupDocs.Viewer 封装为可供 Claude、Cursor、GitHub Copilot 和其他 MCP Agent 调用的工具的 MCP 服务。

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.Viewer.Mcp --yes

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

dnx [email protected] --yes

或安装为全局 dotnet 工具:

dotnet tool install -g GroupDocs.Viewer.Mcp
groupdocs-viewer-mcp

或通过 Docker 运行:

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

原生环境前置条件

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

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

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

可用的 MCP 工具

工具描述
RenderPage将单个文档页面渲染为 PNG 图像并以内联方式返回(同时将副本保存到存储中,文件名为 <source-stem>_page<N>.png)。支持 PDF、Word、Excel、PowerPoint、ODT、RTF、HTML 以及 170 多种其他格式;受保护文档可选填 password。
GetViewInfo以 JSON 格式返回文件类型、页数和每页尺寸 — 无需渲染。可在决定渲染哪些页面之前用作预检。受保护文档可选填 password。

面向 AI Agent 的提示词示例

将服务接入 MCP 客户端(Claude Desktop、Cursor、VS Code Copilot 等)后,可以试试:

Render page 1 of report.pdf — show me the image.

How many pages does contract.docx have? What size is each page?

Show me page 5 of the slide deck quarterly.pptx.

Inspect /docs/legal-brief.pdf — what file type and page count?

Render the first three pages of presentation.pptx as PNGs.

对于“给我看看某一页”这类请求,客户端会选择 RenderPage;对于仅需检查的问题,则会选择 GetViewInfo。

许可

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

  • 每份文档只能渲染有限数量的页面,且输出可能带有评估提示。
  • 单个服务进程最多只能打开 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-viewer/viewer-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-viewer": {
      "type": "stdio",
      "command": "dnx",
      "args": ["GroupDocs.Viewer.Mcp", "--yes"],
      "env": {
        "GROUPDOCS_MCP_STORAGE_PATH": "/path/to/documents"
      }
    }
  }
}

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

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

使用 Docker Compose

cd docker
docker compose up

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

文档与指南

分步部署指南和已发布程序包集成测试套件位于配套仓库 GroupDocs.Viewer.Mcp.Tests中:

该仓库还会在 CI 中针对 Linux、macOS 和 Windows 上已发布的 NuGet 程序包,测试所有宣传的工具——因此,上述代码片段都经过了端到端验证,并且每个版本都会验证。

许可证

MIT — 请参阅 LICENSE

评论

支持 Markdown

第一次接触 MCP?

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

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