Bridges Claude, Cursor, or GitHub Copilot to the GroupDocs.Merger .NET library for document operations. Exposes three tools: Merge combines 2–4 files into one, Split extracts specific pages into separate documents, and GetDocumentInfo returns page count and dimensions as JSON. Supports PDF, DOCX, XLSX, PPTX, and 30+ other formats. Ships as a .NET global tool or Docker container, runs via stdio transport, and works in evaluation mode with watermarks or with a full license. Pin versions with dnx or pull latest on every run. Config points to your local documents folder for input and output.
MCP server that exposes GroupDocs.Merger as AI-callable tools for Claude, Cursor, GitHub Copilot, and other MCP agents.
Requires .NET 10 SDK.
Run directly with dnx (recommended — no install step):
dnx GroupDocs.Merger.Mcp --yes
Pulls the latest stable release on every invocation. To pin to a specific
version (recommended for shared configs and CI), append @<version>:
dnx GroupDocs.Merger.Mcp@26.5.1 --yes
Or install as a global dotnet tool:
dotnet tool install -g GroupDocs.Merger.Mcp
groupdocs-merger-mcp
Or run via Docker:
docker run --rm -i \
-v $(pwd)/documents:/data \
ghcr.io/groupdocs-merger/merger-net-mcp:latest
| Tool | Description |
|---|---|
Merge | Merges 2–4 documents into a single file and saves the result to storage |
Split | Splits a document by extracting specific pages, saving each as an individual file |
GetDocumentInfo | Returns the file type, page count, size, and per-page dimensions of a document as JSON (without modifying it) |
All tools support PDF, DOCX, XLSX, PPTX, and 30+ more document, image, and archive formats.
Copy any of these into Claude Desktop, Cursor, or GitHub Copilot Chat after the server is connected.
| 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. In evaluation mode, merged / split output may include watermarks | (evaluation mode) |
{
"mcpServers": {
"groupdocs-merger": {
"type": "stdio",
"command": "dnx",
"args": ["GroupDocs.Merger.Mcp", "--yes"],
"env": {
"GROUPDOCS_MCP_STORAGE_PATH": "/path/to/documents"
}
}
}
}
To pin: replace
"GroupDocs.Merger.Mcp"with"GroupDocs.Merger.Mcp@26.5.1"inargs.
NuGet.org generates a ready-to-use mcp.json snippet on the package page.
Copy it directly into your .vscode/mcp.json.
Alternatively, add manually to .vscode/mcp.json:
{
"inputs": [
{
"type": "promptString",
"id": "storage_path",
"description": "Base folder for input and output files.",
"password": false
}
],
"servers": {
"groupdocs-merger": {
"type": "stdio",
"command": "dnx",
"args": ["GroupDocs.Merger.Mcp", "--yes"],
"env": {
"GROUPDOCS_MCP_STORAGE_PATH": "${input:storage_path}"
}
}
}
}
cd docker
docker compose up
Edit docker/docker-compose.yml to point volumes at your local documents folder.
Step-by-step deployment guides and a published-package integration test suite live in the companion repo GroupDocs.Merger.Mcp.Tests:
MIT — see LICENSE
GROUPDOCS_MCP_STORAGE_PATHGROUPDOCS_MCP_OUTPUT_PATHGROUPDOCS_LICENSE_PATH