GroupDocs.Viewer MCP Server

GroupDocs.Viewer MCP server lets AI agents like Claude, Cursor, and Copilot see a document page: it renders any page of a PDF, Word, Excel, PowerPoint, email, or 170+ other formats as a PNG image and hands it straight to the agent — locally on your machine. A vision-capable model can then read the chart, check the layout, or describe the scan, and nothing is uploaded.

Run it with one command. The Docker image is self-contained — the runtime and every native dependency the engine needs are inside it:

docker run --rm -i -v $(pwd)/documents:/data \
  ghcr.io/groupdocs-viewer/viewer-net-mcp:latest

With the .NET 10 SDK installed, the same server also runs without Docker:

dnx GroupDocs.Viewer.Mcp --yes

Both are the .NET build of the server and run on Windows, Linux, and macOS. Other platforms will each get their own launcher — see Install for your platform.

Or use the guided installer to register the server in your AI client, verify the setup, and configure shared folders in one pass.

What you can do

Three tools (full details in the tools reference):

  • render_page — one page as a PNG image, returned inline to the agent and saved to storage.
  • get_view_info — file type, page count, and page sizes, without rendering.
  • get_license_status — active licensing mode and metered consumption.

Ask in plain language — “show me page 3 of the deck”, “what does the chart on page 12 say?” — and the agent does the rest.

Install for your platform

Installation, prerequisites, and client configuration are platform-specific; the tools and licensing model below are the same everywhere.

PlatformStatusInstall and setup
.NETAvailableMCP server for .NET
JavaPlannedTell us you need it
PythonPlannedTell us you need it
Node.jsPlannedTell us you need it
Warning
Evaluation mode watermarks every rendered page, and one server process opens at most 15 documents. Check get_license_status before rendering pages you will share; see Licensing.

Two things to know before you start

  • Ask for the page count first. render_page does not reject a page number past the last page — it still returns an image. get_view_info tells the agent which pages exist.
  • Images are big. Each page comes back as an inline PNG, often a few hundred kilobytes. Render the pages the task needs, not the whole document.

Supported AI clients

ClientHow it connects
Claude Desktopclaude_desktop_config.json
Claude Codeclaude mcp add CLI
VS Code / GitHub Copilotuser-level or workspace mcp.json
Visual Studio 2022 (17.14+).mcp.json in the solution root
Cursor~/.cursor/mcp.json
Windsurf~/.codeium/windsurf/mcp_config.json
ClineCline MCP settings
Codex CLIcodex mcp add CLI
JetBrains Ridermanual registration (Settings → AI Assistant → MCP)

Exact config blocks for every client: Register in AI clients. To look at the images, the agent needs a model that accepts image input; any client can still save the PNG files.

Delivery channels

Docker (recommended)NuGet (dnx)
PrerequisitesDocker only.NET 10 SDK (+ libgdiplus on Linux/macOS)
Native dependenciesbundled in the imageinstalled by you (or the setup script)
Packageghcr.io/groupdocs-viewer/viewer-net-mcpGroupDocs.Viewer.Mcp on NuGet
Architectureslinux/amd64 + linux/arm64 (Apple Silicon native)any OS with .NET 10

How it works

The server uses MCP’s local stdio transport: your AI client starts the server as a child process and talks to it over standard input/output. No inbound ports, no external endpoints, no telemetry — the data path is agent → local server → local filesystem. The rendered image goes to the agent, and from there to whatever model the agent uses. Details: On-premise architecture.

Resources