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 等中繼資料
  • 將文件內嵌影像擷取並存成獨立檔案
  • 偵測並解碼條碼與 QR 碼,回傳類型與位置
  • 查看文件的檔案類型、頁數與大小,並查詢目前授權模式
適用情境
適合助理需要讀取或挖掘本機文件與圖片的場合,支援 PDF、DOCX、XLSX、PPTX、HTML、EPUB、郵件與影像等格式,例如擷取發票明細、合約內文、報表中繼資料或貨運標籤 QR 碼。
執行需求
以 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 整合