Groupdocs Parser Mcp

io.github.groupdocs-parser由 GitHub 账号 groupdocs-parser 发布v26.11.0更新于 Nov 6, 2026

MCP server for GroupDocs.Parser — extract text, images, metadata, tables, barcodes via AI.

发布方自己的服务:Parser Club

已验证STDIO仅桌面文件与存储数据与分析

概览

AI 生成的概览

本地 MCP 服务器,封装 GroupDocs.Parser,让助手从文档和图片中提取文本、表格、元数据、图像和条码。

可以做什么
  • 提取整份文档或单页的纯文本,超长输出会被截断
  • 以 Markdown 或结构化 JSON 提取表格,并提取作者、标题、日期、EXIF、XMP、IPTC 等元数据
  • 将文档内嵌图像提取并保存为独立文件
  • 检测并解码条码和二维码,返回类型与位置
  • 查看文档的文件类型、页数和大小,并查询当前授权模式
适用场景
适合助手需要读取或挖掘本地文档与图片的场景,支持 PDF、DOCX、XLSX、PPTX、HTML、EPUB、邮件和图像等格式,例如提取发票明细、合同正文、报表元数据或运单二维码。
运行要求
以 stdio 在本地运行;使用 dnx 或全局 dotnet 工具需 .NET 10 SDK,也可用 Docker。首次启动需下载约 230 MB。Linux 上原生运行需 libgdiplus 和 libfontconfig1。需设置 GROUPDOCS_MCP_STORAGE_PATH 指定输入输出目录,可选 GROUPDOCS_MCP_OUTPUT_PATH,并配置 GROUPDOCS_LICENSE_PATH 或计量密钥对。
安装前请注意
未授权时以评估模式运行,输出看似正常却不完整:每个文件仅前 1,600 字符、20 行和前 5 页,仅 5 个元数据属性,每会话 100 个文件。计量模式按用量计费,会把用量上报 GroupDocs 服务器,并覆盖许可证文件。GROUPDOCS_METERED_PRIVATE_KEY 是机密,应从环境变量传入,不要写入提交的配置。extract_images 会向输出目录写入文件。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Groupdocs Parser Mcp,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

GroupDocs.Parser MCP Server

MCP server that exposes GroupDocs.Parser as AI-callable tools for Claude, Cursor, GitHub Copilot, and other MCP agents.

[NuGet] [NuGet downloads] [GHCR] [MCP Registry] [Integration tests] [License: MIT]

Installation

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

One-click installs pre-fill every supported setting: edit the placeholder host path in the volume mount after install; an empty GROUPDOCS_LICENSE_PATH runs in evaluation mode.

More clients - ready-made configs for Claude Code, Codex CLI, Visual Studio 2022, Cursor, Windsurf, Cline, and JetBrains Rider live in install/generated/.

Requires .NET 10 SDK.

Run directly with dnx (recommended — no install step):

bash
dnx GroupDocs.Parser.Mcp --yes

Pulls the latest stable release on every invocation. To pin to a specific version (recommended for shared configs and CI), append @<version>:

bash

Or install as a global dotnet tool:

bash
dotnet tool install -g GroupDocs.Parser.Mcpgroupdocs-parser-mcp

The first launch downloads ~230 MB, once. The engine carries its table and barcode models, so the tool ships as one package per platform (win-x64, win-arm64, linux-x64, linux-arm64, osx-x64, osx-arm64) and dnx picks the one for your machine. Later launches use the NuGet cache. If your MCP client times out on that first start, run the dnx command once in a terminal, then restart the client.

Or run via Docker:

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

Images are multi-arch (linux/amd64 + linux/arm64), tagged latest plus an immutable version tag per release (e.g. :26.11.0). To pin, replace :latest with the version tag - recommended for shared configs and CI. Versions 26.10.2 and earlier were published only as Docker images.

Linux: run the container as your user

The image runs as a non-root user (uid 1654). On Linux a mounted folder keeps its host owner, so a folder you own is read-only inside the container and extract_images cannot save its files — the error ends with "Fix: the server cannot write to the output folder". Add --user so the container writes as you:

bash
docker run --rm -i --user "$(id -u):$(id -g)" \  -v $(pwd)/documents:/data \  ghcr.io/groupdocs-parser/parser-net-mcp:latest

MCP client configs (JSON) do not run a shell, so put the numbers in directly — id -u and id -g print them, typically 1000: "args": ["run", "--rm", "-i", "--user", "1000:1000", "-v", …]. Read-only tools (extract_text, extract_tables, extract_metadata, extract_barcodes, get_document_info) work without it. Docker Desktop on Windows and macOS does not need this.

Native prerequisites

When you run the server natively (via dnx or the global dotnet tool) on Linux, the engine's image-extraction and barcode paths need two native libraries:

PlatformSetup
WindowsNothing — GDI+ is built into the OS.
Linuxsudo apt-get install -y libgdiplus libfontconfig1
macOSbrew install mono-libgdiplus if a tool reports DllNotFoundException: libgdiplus
DockerNothing — the image already bundles them.

Available MCP Tools

ToolDescription
extract_textExtracts plain text from a document (whole document or a single page). Truncates very large outputs.
extract_imagesExtracts all embedded images and saves them to storage as <basename>_image<N>.<ext> files
extract_metadataExtracts metadata (author, title, dates, custom properties, EXIF, XMP, IPTC) and returns it as JSON
extract_tablesExtracts tables from a document as Markdown (default — renders in chat) or structured JSON
extract_barcodesDetects all barcodes / QR codes and returns their decoded values, types, and positions as JSON
get_document_infoReturns the file type, page count, and size of a document as JSON (without modifying it)
get_license_statusReports the active licensing mode (evaluation / licensed / metered), the engine version, and — under metered — the consumed quantity and credit. Processes no document.

All tools support PDF, DOCX, XLSX, PPTX, HTML, EPUB, MSG, EML, JPG, PNG, TIFF, and 50+ more document and image formats.

Example prompts for AI agents

Copy any of these into Claude Desktop, Cursor, or GitHub Copilot Chat after the server is connected.

  1. Get a document's structure: "How many pages does invoice.pdf have, and what format is it?"
  2. Pull a text snippet: "Extract the text from page 2 of contract.docx."
  3. Mine the metadata: "What's the author and creation date of report.xlsx?"
  4. Read a structured table: "Pull the line items table out of invoice.pdf as Markdown."
  5. Scan for barcodes: "Are there any QR codes in shipping-label.png? If so, what do they decode to?"

Licensing

The MCP server itself is MIT; the underlying GroupDocs.Parser engine requires a license for production use. Without one the server runs in evaluation mode, and the limits bite hard for extraction — the output looks valid and is silently incomplete:

  • Text extraction: only the first 1,600 characters and 20 lines per file, and only the first 5 pages, sheets or slides. Formatted-text and structure extraction add a 20-row cap for spreadsheets.
  • Metadata extraction: only 5 properties per file.
  • Only 100 files per session, and outputs carry evaluation marks.
  • Full list: evaluation limitations.

There are two ways to license the server.

License file — point GROUPDOCS_LICENSE_PATH at your GroupDocs.Parser.lic (or GroupDocs.Total.lic). With Docker, mount the file into the container and use the path as seen inside it (see Usage with Claude Desktop). Works offline.

Metered (pay-per-use) — set both GROUPDOCS_METERED_PUBLIC_KEY and GROUPDOCS_METERED_PRIVATE_KEY. You are billed for what you actually process, which suits AI agents well because their usage is bursty and hard to predict up front. If both a metered key pair and a license file are configured, metered wins and the file is ignored.

Metered mode needs outbound connectivity. Usage is reported to GroupDocs servers, so air-gapped or firewalled deployments must allow that egress — or use a license file instead.

Call the get_license_status tool at any time to see which mode is active, and — under metered — the consumed quantity and remaining credit. It processes no document and changes nothing, so it is the cheapest way to confirm a setup before a real run.

Keeping the private key out of your config

The metered private key is a secret. MCP client configs are plain files on disk, and a project-scoped .mcp.json is committed by convention, so prefer, in order:

  1. Set the variables in your OS environment and leave them out of the config entirely. An stdio MCP server inherits its client's environment, so this works in every client. On macOS note that an app launched from Finder does not inherit shell exports — use launchctl setenv, or launch the client from a terminal.
  2. Reference them indirectly if your client supports it (Claude Code expands ${VAR}; VS Code uses ${env:VAR} and ${input:...}).
  3. A literal value in a user-scoped config (for example ~/.claude.json) is acceptable for a single developer.
  4. Never commit a literal key in a project-scoped .mcp.json.

For Docker, forward the values without writing them into any file — the names alone, so the keys never appear in the command line:

bash
docker run --rm -i \  -e GROUPDOCS_METERED_PUBLIC_KEY -e GROUPDOCS_METERED_PRIVATE_KEY \  -v /path/to/documents:/data \  ghcr.io/groupdocs-parser/parser-net-mcp:latest

Configuration

VariableDescriptionDefault
GROUPDOCS_MCP_STORAGE_PATHBase folder for input and output filescurrent directory
GROUPDOCS_MCP_OUTPUT_PATH(Optional) separate folder for output files (used by extract_images)GROUPDOCS_MCP_STORAGE_PATH
GROUPDOCS_LICENSE_PATHPath to a GroupDocs license file (under Docker, as seen inside the container). Ignored when metered keys are set(evaluation mode)
GROUPDOCS_METERED_PUBLIC_KEYMetered (pay-per-use) public key. Needs the private key too; takes precedence over GROUPDOCS_LICENSE_PATH(unset)
GROUPDOCS_METERED_PRIVATE_KEYMetered private key. Secret — pass it from the environment, never from a committed config(unset)

Usage with Claude Desktop

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

To pin to a specific version, replace "GroupDocs.Parser.Mcp" with "[email protected]" in args. Pinning is recommended for shared / committed configs to avoid surprise upgrades.

With Docker instead:

json
{  "mcpServers": {    "groupdocs-parser": {      "command": "docker",      "args": ["run", "--rm", "-i", "-v", "/path/to/documents:/data", "ghcr.io/groupdocs-parser/parser-net-mcp:latest"]    }  }}

To use a license, add "-v", "/path/to/license-folder:/license", "-e", "GROUPDOCS_LICENSE_PATH=/license/GroupDocs.Total.lic" before the image name. To pin a version, replace :latest with the release tag.

Usage with VS Code / GitHub Copilot

NuGet.org generates a ready-to-use mcp.json snippet on the package page. Copy it directly into your .vscode/mcp.json.

Alternatively, use the Install in VS Code button above, or add manually to .vscode/mcp.json:

json
{  "inputs": [    {      "type": "promptString",      "id": "storage_path",      "description": "Base folder for input and output files.",      "password": false    }  ],  "servers": {    "groupdocs-parser": {      "type": "stdio",      "command": "dnx",      "args": ["GroupDocs.Parser.Mcp", "--yes"],      "env": {        "GROUPDOCS_MCP_STORAGE_PATH": "${input:storage_path}"      }    }  }}

Same pinning rule as above — swap "GroupDocs.Parser.Mcp" for "[email protected]" to lock to a specific release. For Docker, use "command": "docker" with the args from the Claude Desktop example.

Usage with Docker Compose

bash
cd dockerdocker compose up

Edit docker/docker-compose.yml to point volumes at your local documents folder.

Documentation & guides

Step-by-step deployment guides and a published-package integration test suite live in the companion repo GroupDocs.Parser.Mcp.Tests:

That repo also exercises every advertised tool against the published NuGet packages on Linux, macOS, and Windows, and against the GHCR image, in CI.

License

MIT — see LICENSE

来源:README.md,提交 4f21a0f

工具

0
SourceWeft 曾在隔离沙箱中以无凭据方式启动该软件包一次,以列出其工具,但未能完成:该软件包类型无法在沙箱中运行。

版本历史

3
  1. v26.11.0最新Nov 6, 2026
  2. v26.10.2Oct 15, 2026
  3. v26.9.0Sep 16, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分

其他 Parser 集成