GroupDocs.Editor MCP Server

GroupDocs.Editor MCP server lets AI agents like Claude, Cursor, and Copilot make targeted edits to documents — find and replace that keeps the formatting, fill Word forms, edit one worksheet or slide and put it back, turn a PDF into editable Word — in Word, Excel, PowerPoint, PDF, e-book and email formats, locally on your machine, without rewriting the document.

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-editor/editor-net-mcp:latest

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

dnx GroupDocs.Editor.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.

Then ask your agent, in plain language:

In contract.docx, replace ACME Corp with Globex Ltd and keep the formatting.

What you can do

Eight tools (full details in the tools reference):

The user asks…The agent callsIt gets back
“How many worksheets? Is it protected?”get_document_infofamily, pages / worksheets / slides, protection, save targets
“Change X to Y, keep the formatting”replace_textthe number of occurrences changed, and an edited copy
“Open the Q3 sheet / slide 2 / pages 1–2 for editing”extract_htmlan editable HTML file of that part
“Put it back” / “save it as Word”save_from_htmlthe original with that part replaced, or a new document
“What fields does this form have?”get_form_fieldsnames, types, current values, drop-down options
“Fill the form for Amara”fill_form_fieldsthe fields filled, the names it did not know
“Can it save this as EPUB?”get_supported_formatsthe formats per family, or for one file
“Why the evaluation line?”get_license_statusthe licensing mode

One edit, two calls

The pattern behind every scenario — captured from the server:

user            agent                          Editor MCP server
 | "Replace ACME Corp with Globex Ltd in contract.docx"           |
 |-------------->|                                                |
 |               |-- get_document_info ------------------------->|
 |               |   {"file":{"filePath":"contract.docx"}}        |
 |               |<- {"family":"WordProcessing","pageCount":1} --|
 |               |-- replace_text ------------------------------>|
 |               |   {"find":"ACME Corp","replace":"Globex Ltd", |
 |               |    "wholeWord":true}                           |
 |               |<- "Replaced 6 occurrence(s) ...               |
 |               |    Saved to: .../contract_edited.docx" -------|
 |<- "6 places changed, formatting kept; the original is untouched"
    (a find that matches nothing: "No file was written")

The agent never re-types the document. It names the change, the engine applies it to the original file, and the response says how many places changed — so a find that matched nothing is visible, not silently “done”.

Edit, don’t regenerate

Ask a model to “change three words in this contract” without an editing tool and it reads the text and writes a new document: styles, tables and headers re-created from memory, and any clause it re-typed can drift without anyone noticing. An editing tool inverts that. The document stays the original file; only the named change is applied; the result is a copy with a count.

Regenerate the document                Edit the document
-------------------------------------  -------------------------------------
agent reads the text, writes a new     agent names the change: find/replace,
  file from memory                       one worksheet, one form field
styles, tables, headers re-typed       everything else is the original file
silent drift in clauses it re-wrote    a count of what changed, nothing else
no record of what changed              no match = no file written

Scenarios

Install for your platform

Installation, prerequisites, and client configuration are platform-specific; the tools and licensing model 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

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.

How it works

+--------------+          +--------------------+         +------------------+
|  AI client   |  stdio   | MCP server process | reads / | local filesystem |
| (Claude, VS  | <----->  | (GroupDocs engine) | <-----> | storage / output |
| Code, agent) | JSON-RPC |   child process    |  writes |     folders      |
+--------------+          +--------------------+         +------------------+

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. Edited copies are written next to the originals, which are never overwritten. Details: On-premise architecture.

Delivery channels

DockerNuGet (dnx)
PrerequisitesDocker only.NET 10 SDK; on Linux, fonts for PDF/XPS output
Native dependenciesbundled in the image, fonts includedinside the package — no libgdiplus needed
Packageghcr.io/groupdocs-editor/editor-net-mcpGroupDocs.Editor.Mcp on NuGet
Architectureslinux/amd64 + linux/arm64 (Apple Silicon native)any OS with .NET 10

Resources