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.
git clone https://github.com/groupdocs-total/GroupDocs.Total.McpResumen de MCP Servers
# GroupDocs.Total MCP Server
Unified MCP server that exposes the full [GroupDocs.Total](https://products.groupdocs.com/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.
[](https://github.com/orgs/groupdocs-total/packages/container/package/total-net-mcp)
[-6f42c1)](https://registry.modelcontextprotocol.io/v0/servers?search=io.github.groupdocs-total/groupdocs-total-mcp)
[](https://github.com/groupdocs-total/GroupDocs.Total.Mcp.Tests/actions/workflows/integration.yml)
[](LICENSE)
<!-- TODO(manual): record 30s demo per improvement-plan M1 -->
<!--  -->
## Installation
**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`).
```bash
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.2`). To pin, replace `:latest`
with the version tag - recommended for shared configs and CI.
<!-- install-buttons:start - generated by install/generate-install-links.ps1; do not edit by hand -->
[](https://vscode.dev/redirect/mcp/install?name=groupdocs-total&inputs=%5B%7B%22type%22%3A%22promptString%22%2C%22id%22%3A%22storage_path%22%2C%22description%22%3A%22Base%20folder%20for%20input%20and%20output%20files%22%7D%5D&config=%7B%22command%22%3A%22docker%22%2C%22args%22%3A%5B%22run%22%2C%22--rm%22%2C%22-i%22%2C%22-v%22%2C%22%24%7Binput%3Astorage_path%7D%3A%2Fdata%22%2C%22ghcr.io%2Fgroupdocs-total%2Ftotal-net-mcp%3Alatest%22%5D%7D) [](https://insiders.vscode.dev/redirect/mcp/install?name=groupdocs-total&inputs=%5B%7B%22type%22%3A%22promptString%22%2C%22id%22%3A%22storage_path%22%2C%22description%22%3A%22Base%20folder%20for%20input%20and%20output%20files%22%7D%5D&config=%7B%22command%22%3A%22docker%22%2C%22args%22%3A%5B%22run%22%2C%22--rm%22%2C%22-i%22%2C%22-v%22%2C%22%24%7Binput%3Astorage_path%7D%3A%2Fdata%22%2C%22ghcr.io%2Fgroupdocs-total%2Ftotal-net-mcp%3Alatest%22%5D%7D&quality=insiders) [](https://cursor.com/en/install-mcp?name=groupdocs-total&config=eyJjb21tYW5kIjoiZG9ja2VyIiwiYXJncyI6WyJydW4iLCItLXJtIiwiLWkiLCItdiIsIi9wYXRoL3RvL2RvY3VtZW50czovZGF0YSIsImdoY3IuaW8vZ3JvdXBkb2NzLXRvdGFsL3RvdGFsLW5ldC1tY3A6bGF0ZXN0Il19)
> One-click buttons prompt for your documents folder. Cursor's deeplink installs with a
> placeholder storage path - edit it after install.
<!-- install-buttons:end -->
> **More clients** - ready-made configs for Claude Code, Visual Studio 2022 (`.mcp.json`),
> Cursor, Windsurf, Cline, and JetBrains Rider live in [`install/generated/`](install/generated/).
## 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):
- [Get a free 30-day temporary license](https://purchase.groupdocs.com/temporary-license/)
- [Purchase a license](https://purchase.groupdocs.com/pricing/total/net) | [Product page](https://products.groupdocs.com/total/net/)
## 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
```json
{
"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 / GitHubLo que la gente pregunta sobre GroupDocs.Total.Mcp
¿Qué es groupdocs-total/GroupDocs.Total.Mcp?
+
groupdocs-total/GroupDocs.Total.Mcp es mcp servers para el ecosistema de Claude AI. 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. Tiene 0 estrellas en GitHub y se actualizó por última vez today.
¿Cómo se instala GroupDocs.Total.Mcp?
+
Puedes instalar GroupDocs.Total.Mcp clonando el repositorio (https://github.com/groupdocs-total/GroupDocs.Total.Mcp) o siguiendo las instrucciones del README en GitHub. ClaudeWave también te ofrece bloques de instalación rápida en esta misma página.
¿Es seguro usar groupdocs-total/GroupDocs.Total.Mcp?
+
groupdocs-total/GroupDocs.Total.Mcp aún no ha sido auditado por nuestro agente de seguridad. Revisa el repositorio original en GitHub antes de usarlo en producción.
¿Quién mantiene groupdocs-total/GroupDocs.Total.Mcp?
+
groupdocs-total/GroupDocs.Total.Mcp es mantenido por groupdocs-total. La última actividad registrada en GitHub es de today, con 0 issues abiertos.
¿Hay alternativas a GroupDocs.Total.Mcp?
+
Sí. En ClaudeWave puedes explorar mcp servers similares en /categories/mcp, ordenados por popularidad o actividad reciente.
Despliega GroupDocs.Total.Mcp en tu cloud
Lleva este repo a producción en minutos. Cada plataforma genera su propio entorno con variables de entorno editables.
¿Mantienes este repo? Añade un badge a tu README
Pega el badge en tu README de GitHub para mostrar que está auditado por ClaudeWave. Cada badge enlaza de vuelta a esta página y muestra el Trust Score actual.
[](https://claudewave.com/repo/groupdocs-total-groupdocs-total-mcp)<a href="https://claudewave.com/repo/groupdocs-total-groupdocs-total-mcp"><img src="https://claudewave.com/api/badge/groupdocs-total-groupdocs-total-mcp" alt="Featured on ClaudeWave: groupdocs-total/GroupDocs.Total.Mcp" width="320" height="64" /></a>Más MCP Servers
Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.
User-friendly AI Interface (Supports Ollama, OpenAI API, ...)
An open-source AI agent that brings the power of Gemini directly into your terminal.
The fastest path to AI-powered full stack observability, even for lean teams.
Real-time global intelligence dashboard. AI-powered news aggregation, geopolitical monitoring, and infrastructure tracking in a unified situational awareness interface
🕷️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl!