Skip to content

Repository files navigation

GroupDocs.Parser MCP Server

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

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/.

This product ships via Docker (GHCR) only. GroupDocs.Parser's managed DLL embeds ~234 MB of ONNX models, so the packed tool exceeds NuGet.org's 250 MB limit - so dnx and dotnet tool install are not available for it. When upstream ships a slimmer engine that packs under the limit, the standard NuGet flow returns (see the revert notes in .github/workflows/publish_prod.yml).

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.7.3). To pin, replace :latest with the version tag - recommended for shared configs and CI.

Available MCP Tools

Tool Description
ExtractText Extracts plain text from a document (whole document or a single page). Truncates very large outputs.
ExtractImages Extracts all embedded images and saves them to storage as <basename>_image<N>.<ext> files
ExtractMetadata Extracts metadata (author, title, dates, custom properties, EXIF, XMP, IPTC) and returns it as JSON
ExtractTables Extracts tables from a document as Markdown (default — renders in chat) or structured JSON
ExtractBarcodes Detects all barcodes / QR codes and returns their decoded values, types, and positions as JSON
GetDocumentInfo Returns the file type, page count, and size of a document as JSON (without modifying it)

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 engines require a license for production use. Without one the server runs in evaluation mode:

  • Text output may include an evaluation watermark, and other outputs may be size-limited.

To lift the limits, mount your GroupDocs.Total.lic into the container and point GROUPDOCS_LICENSE_PATH at it (see the Claude Desktop example above):

Configuration

Variable Description Default
GROUPDOCS_MCP_STORAGE_PATH Base folder for input and output files current directory
GROUPDOCS_MCP_OUTPUT_PATH (Optional) separate folder for output files (used by ExtractImages) GROUPDOCS_MCP_STORAGE_PATH
GROUPDOCS_LICENSE_PATH Path to GroupDocs license file. In evaluation mode, text outputs may include a watermark and other outputs may be size-limited (evaluation mode)

Usage with Claude Desktop

{
  "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

Use the Install in VS Code button above, or add to .vscode/mcp.json (also in install/generated/vscode-mcp.json):

{
  "inputs": [
    {
      "type": "promptString",
      "id": "storage_path",
      "description": "Base folder for input and output files.",
      "password": false
    }
  ],
  "servers": {
    "groupdocs-parser": {
      "command": "docker",
      "args": ["run", "--rm", "-i", "-v", "${input:storage_path}:/data", "ghcr.io/groupdocs-parser/parser-net-mcp:latest"]
    }
  }
}

Usage with Docker Compose

cd docker
docker 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:

License

MIT — see LICENSE

About

GroupDocs.Parser for .NET MCP server — extract text, tables, images, barcodes, and metadata from PDF, Word, Excel, PowerPoint, and image documents via AI agents.

Topics

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages