MCP server for GroupDocs.Viewer — render pages as PNG and inspect view info via AI agents.
MCP server for GroupDocs.Viewer — render pages as PNG and inspect view info via AI agents.
groupdocs-viewer-mcp · v26.5.0
by Groupdocs-viewer
GroupDocs.Viewer MCP Server
MCP server that exposes GroupDocs.Viewer as AI-callable tools
for Claude, Cursor, GitHub Copilot, and other MCP agents.
Installation
Requires .NET 10 SDK.
Run directly with dnx (recommended — no install step):
dnx GroupDocs.Viewer.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.Viewer.Mcp@26.5.0 --yes
Or install as a global dotnet tool:
dotnet tool install -g GroupDocs.Viewer.Mcp
groupdocs-viewer-mcp
Or run via Docker:
docker run --rm -i \
-v $(pwd)/documents:/data \
ghcr.io/groupdocs-viewer/viewer-net-mcp:latest
Available MCP Tools
| Tool | Description |
|---|---|
RenderPage |
Renders a single document page as a PNG image and returns it inline (plus saves a copy to storage as <source-stem>_page<N>.png). Supports PDF, Word, Excel, PowerPoint, ODT, RTF, HTML, and 170+ more formats; optional password for protected documents. |
GetViewInfo |
Returns file type, page count, and per-page dimensions as JSON — without rendering. Useful as a pre-flight check before deciding which page(s) to render. Optional password for protected documents. |
Example prompts for AI agents
Once the server is wired up to your MCP client (Claude Desktop, Cursor, VS Code Copilot, …), try:
Render page 1 of report.pdf — show me the image.
How many pages does contract.docx have? What size is each page?
Show me page 5 of the slide deck quarterly.pptx.
Inspect /docs/legal-brief.pdf — what file type and page count?
Render the first three pages of presentation.pptx as PNGs.
The client picks RenderPage for "show me a page" requests and
GetViewInfo for inspection-only questions.
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-viewer": {
"type": "stdio",
"command": "dnx",
"args": ["GroupDocs.Viewer.Mcp", "--yes"],
"env": {
"GROUPDOCS_MCP_STORAGE_PATH": "/path/to/documents"
}
}
}
}
To pin to a specific version, replace
"GroupDocs.Viewer.Mcp"with
"GroupDocs.Viewer.Mcp@26.5.0"inargs. Pinning is recommended for
shared / committed configs to avoid surprise upgrades.
Usage with VS Code / GitHub Copilot
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-viewer": {
"type": "stdio",
"command": "dnx",
"args": ["GroupDocs.Viewer.Mcp", "--yes"],
"env": {
"GROUPDOCS_MCP_STORAGE_PATH": "${input:storage_path}"
}
}
}
}
Same pinning rule as above — swap
"GroupDocs.Viewer.Mcp"for
"GroupDocs.Viewer.Mcp@26.5.0"to lock to a specific release.
Usage with Docker Compose
cd docker
docker compose up
Edit docker/docker-compose.yml to point volumes at your local documents folder.
Documentation & guides
Step-by-step deployment guides and a published-package integration test suite
live in the companion repo
GroupDocs.Viewer.Mcp.Tests:
- Install from NuGet —
dnx, global tool, pinned vs always-latest - Run via Docker
- Verify on the MCP registry
- Use with Claude Desktop
- Use with VS Code / GitHub Copilot
- Run the integration tests
That 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.
License
MIT — see LICENSE