MCP server for GroupDocs.Parser — extract text, images, metadata, tables, barcodes via AI.
This MCP server provides an interface for GroupDocs.Parser. It is described as an MCP server that extracts content types via AI, including text, images, metadata, tables, and barcodes.
🛠️ Key Features
Extracts text
Extracts images
Extracts metadata
Extracts tables
Extracts barcodes via AI
🚀 Use Cases
Converting documents into structured text output
Pulling image-derived content from source files
Retrieving metadata for indexing or cataloging
Extracting tabular data from documents
Detecting or extracting barcodes from documents
⚡ Developer Benefits
Single MCP server target for multiple extraction tasks
Supports extraction of several common document content types (text, images, metadata, tables, barcodes)
⚠️ Limitations
No tool count, specific APIs, or supported input formats were provided in the available server data.
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).
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.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.
Get a document's structure: "How many pages does invoice.pdf have, and what format is it?"
Pull a text snippet: "Extract the text from page 2 of contract.docx."
Mine the metadata: "What's the author and creation date of report.xlsx?"
Read a structured table: "Pull the line items table out of invoice.pdf as Markdown."
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):
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.
{"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
bash
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: