Skip to content

Repository files navigation

GroupDocs.Total MCP Server

Unified MCP server that exposes the full GroupDocs.Total document-processing toolset — annotation, comparison, conversion, markdown, merging, metadata, parsing, redaction, signing, watermarking, plus cross-product document inspection and page preview — as AI-callable tools for Claude, Cursor, GitHub Copilot, and other MCP agents. Designed to be used standalone — attaching the individual product MCPs (GroupDocs.Annotation.Mcp, GroupDocs.Signature.Mcp, …) alongside is unnecessary and would duplicate tools.

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.Total bundles every engine (including Parser's embedded ONNX models), so the packed tool far 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-total/total-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 (38 total)

Tools follow {Product}{Verb}{Noun} PascalCase to disambiguate across domains. Cross-product tools stay short.

Cross-product (2)

Tool Description
GetDocumentInfo File type, page count, size as JSON for any document (170+ formats via Parser engine)
GetDocumentPageImage Render up to 5 pages as inline PNG images (Viewer engine, 170+ formats)

Annotation (8)

Tool Description
AnnotationAddAnnotation Add textfield / area / point / arrow / highlight / underline / strikeout annotation
AnnotationGetAnnotations List all annotations as JSON (id, type, message, page, box, user, replies)
AnnotationUpdateAnnotation Modify an existing annotation's message and/or bounding box by id
AnnotationRemoveAnnotations Remove annotations by id list, or all
AnnotationAddReply Add a reply / comment thread to an existing annotation
AnnotationRemoveReplies Remove replies by id, by user name, or all
AnnotationImportAnnotations Import annotations from XML or another annotated document
AnnotationExportAnnotations Extract annotations to XML (re-importable via Import)

Signature (7)

Tool Description
SignatureSign Sign with text / qrcode / barcode / digital certificate signature
SignatureVerify Verify signatures, return JSON validity report
SignatureSearchTextSignatures Find embedded text signatures with optional substring filter
SignatureSearchBarcodes Find barcode signatures with optional decoded-text filter
SignatureSearchQrCodes Find QR code signatures with optional decoded-text filter
SignatureSearchDigitalSignatures Find digital certificate signatures (signer, issuer, validity)
SignatureSearchImageSignatures Find embedded image signatures, return as base64 PNGs

Comparison (1) · Conversion (2) · Markdown (2)

Tool Description
ComparisonCompare Compare two documents, produce annotated diff document
ConversionConvert Convert between PDF, Office, image, HTML, and 50+ more formats
ConversionGetSupportedFormats List every output format the document can be converted TO
MarkdownConvertToMarkdown Convert PDF / Office / EPUB / MOBI to clean Markdown
MarkdownComposeFromMarkdown Compose DOCX / PDF / HTML from Markdown source

Merger (2) · Metadata (2)

Tool Description
MergerMerge Combine up to 4 documents into one (PDF / Office / HTML / images)
MergerSplit Split a document into separate files by page numbers
MetadataReadMetadata Read all metadata properties (author, title, EXIF, XMP, IPTC, custom) as JSON
MetadataRemoveMetadata Strip all metadata and save a clean copy

Parser (5) · Redaction (4) · Watermark (3)

Tool Description
ParserExtractText Extract plain text (page-by-page or whole document)
ParserExtractImages Extract embedded images and save them to storage
ParserExtractTables Extract tables as Markdown or JSON
ParserExtractMetadata Extract metadata fields (separate from MetadataReadMetadata; Parser-format-aware)
ParserExtractBarcodes Find and decode embedded barcodes in document pages
RedactionRedactText Redact text matching a regex with a replacement string
RedactionRedactImageArea Black out a rectangular region of a document page
RedactionRedactAnnotations Redact or delete annotations matching a regex
RedactionEraseMetadata Strip metadata via the Redaction engine (handles formats Metadata can't)
WatermarkAddWatermark Add a text watermark with configurable font, rotation, opacity
WatermarkSearchWatermarks List existing watermarks (type, text, position, page) as JSON
WatermarkRemoveWatermarks Remove watermarks by text filter or all

Example prompts

  • "Convert contract.docx to PDF, then sign it with a QR code containing 'Signed by Alice', then watermark every page with 'CONFIDENTIAL'"
  • "Compare old.pdf and new.pdf, list every annotation in the result, and preview page 1"
  • "Extract all tables from report.xlsx as Markdown and redact every email address"
  • "Read the metadata of every PDF in /uploads, then strip it, then preview the cleaned page 1 of each"
  • "Find every barcode in invoice.pdf, then merge invoice.pdf + receipt.pdf into combined.pdf"

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:

  • Each bundled engine applies its own evaluation limits: output watermarks / evaluation notices, page limits, and per-process document-open caps (1-15 documents depending on the engine).

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 GROUPDOCS_MCP_STORAGE_PATH
GROUPDOCS_LICENSE_PATH Path to GroupDocs license file (evaluation mode)

Usage with Claude Desktop

{
  "mcpServers": {
    "groupdocs-total": {
      "command": "docker",
      "args": ["run", "--rm", "-i", "-v", "/path/to/documents:/data", "ghcr.io/groupdocs-total/total-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-total": {
      "command": "docker",
      "args": ["run", "--rm", "-i", "-v", "${input:storage_path}:/data", "ghcr.io/groupdocs-total/total-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.

License

MIT — see LICENSE

About

GroupDocs.Total for .NET MCP server — single endpoint exposing the combined toolset of all GroupDocs Product - Conversion, Viewer, Markdown, Parser, Comparison, Watermark, Merger, Metadata, Editor, Redaction, Assembly, Search, Signature and Annotation via AI agents.

Topics

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages