io.github.groupdocs-viewer/groupdocs-viewer-mcp icon

groupdocs-viewer-mcp

by Groupdocs-viewer

io.github.groupdocs-viewer/groupdocs-viewer-mcp

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

60

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" in args. 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:

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