Back to Directory/Developer Tools

io.github.groupdocs-parser/groupdocs-parser-mcp

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

Developer ToolsC#v26.9.0

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

Available MCP Tools

ToolDescription
ExtractTextExtracts plain text from a document (whole document or a single page). Truncates very large outputs.
ExtractImagesExtracts all embedded images and saves them to storage as <basename>_image<N>.<ext> files
ExtractMetadataExtracts metadata (author, title, dates, custom properties, EXIF, XMP, IPTC) and returns it as JSON
ExtractTablesExtracts tables from a document as Markdown (default — renders in chat) or structured JSON
ExtractBarcodesDetects all barcodes / QR codes and returns their decoded values, types, and positions as JSON
GetDocumentInfoReturns 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

VariableDescriptionDefault
GROUPDOCS_MCP_STORAGE_PATHBase folder for input and output filescurrent directory
GROUPDOCS_MCP_OUTPUT_PATH(Optional) separate folder for output files (used by ExtractImages)GROUPDOCS_MCP_STORAGE_PATH
GROUPDOCS_LICENSE_PATHPath 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

Installation

Source-derived launch command. Check the maintainer’s required arguments and credentials before running:

bash
docker run -i --rm ghcr.io/groupdocs-parser/parser-net-mcp:26.9.0

Set up in your AI client

Merge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.

json
{
  "mcpServers": {
    "io-github-groupdocs-parser-groupdocs-parser-mcp": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "ghcr.io/groupdocs-parser/parser-net-mcp:26.9.0"
      ]
    }
  }
}

Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.

Claude Desktop setup reference

Package

ghcr.io/groupdocs-parser/parser-net-mcp:26.9.0docker

Compatible MCP Clients

io.github.groupdocs-parser/groupdocs-parser-mcp works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.

  • Claude Desktop~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.
  • Cursor~/.cursor/mcp.jsonRestart Cursor for changes to take effect.
  • VS Code.vscode/mcp.jsonReload VS Code window for changes to take effect.
  • Windsurf~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect.
  • Claude Code.mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.

Learn More