Wraps the GroupDocs.Conversion library so Claude and other MCP clients can convert documents between 70+ formats, inspect file metadata, and list supported conversions. You get three tools: Convert handles the actual transformation (PDF, DOCX, XLSX, HTML, images, and more), GetDocumentInfo returns page counts and properties, and GetSupportedFormats tells you what outputs are possible for a given input. Runs via dnx without installation, as a global dotnet tool, or in Docker. Point it at a storage directory and you can ask your AI agent to batch convert reports, extract document metadata, or transcode assets without writing conversion code yourself.
MCP server that exposes GroupDocs.Conversion 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.Conversion.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.Conversion.Mcp@26.5.2 --yes
Or install as a global dotnet tool:
dotnet tool install -g GroupDocs.Conversion.Mcp
groupdocs-conversion-mcp
Or run via Docker:
docker run --rm -i \
-v $(pwd)/documents:/data \
ghcr.io/groupdocs-conversion/conversion-net-mcp:latest
| Tool | Description |
|---|---|
Convert | Converts a document to a different format (PDF, DOCX, XLSX, PPTX, HTML, PNG, JPG, and 70+ more) and saves the result to storage |
GetSupportedFormats | Lists every target format the source document can be converted to, with primary/secondary indicators |
GetDocumentInfo | Returns file type, page count, and basic properties (author, title, dates, password-protected) for a source document |
| 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) |
{
"mcpServers": {
"groupdocs-conversion": {
"type": "stdio",
"command": "dnx",
"args": ["GroupDocs.Conversion.Mcp", "--yes"],
"env": {
"GROUPDOCS_MCP_STORAGE_PATH": "/path/to/documents"
}
}
}
}
To pin to a specific version, replace
"GroupDocs.Conversion.Mcp"with"GroupDocs.Conversion.Mcp@26.5.2"inargs. Pinning is recommended for shared / committed configs to avoid surprise upgrades.
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-conversion": {
"type": "stdio",
"command": "dnx",
"args": ["GroupDocs.Conversion.Mcp", "--yes"],
"env": {
"GROUPDOCS_MCP_STORAGE_PATH": "${input:storage_path}"
}
}
}
}
Same pinning rule as above — swap
"GroupDocs.Conversion.Mcp"for"GroupDocs.Conversion.Mcp@26.5.2"to lock to a specific release.
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.Conversion.Mcp.Tests:
dnx, global tool, pinned vs always-latestThat repo also exercises every advertised tool against the published NuGet artifact on Linux, macOS, and Windows in CI — so the snippets above are verified end-to-end on every release.
MIT — see LICENSE
GROUPDOCS_MCP_STORAGE_PATHGROUPDOCS_MCP_OUTPUT_PATHGROUPDOCS_LICENSE_PATH