GroupDocs.Total MCP Server
Unified MCP server that exposes GroupDocs.Total document-processing tools (annotation, comparison, conversion, merging, metadata, parsing, redaction, signing, watermarking, and more) as AI-callable tools for MCP agents.
README
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.
<!-- TODO(manual): record 30s demo per improvement-plan M1 -->
<!--
-->
Installation
<!-- install-buttons:start - generated by install/generate-install-links.ps1; do not edit by hand -->
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/. <!-- install-buttons:end -->
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:latestwith 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
<!-- mcp-name: io.github.groupdocs-total/groupdocs-total-mcp -->
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。