Solutions to the most common GroupDocs.Editor MCP server issues — server not appearing in the client, startup failures, missing native dependencies, and first-launch timeouts.
Note
Platform-specific troubleshooting: runtime problems depend on which build you run. For the dnx runner, native graphics libraries, and the Docker channel, see Troubleshooting (.NET). The issues on this page apply to every platform.
Why is my MCP server not showing up in Claude Desktop?
Restart the client — every client reads its MCP config only at startup.
Check the config file location for your OS (per-client reference) and that the entry sits under the right root key (mcpServers for Claude Desktop/Cursor/Windsurf, servers for VS Code/VS 2022).
Validate the JSON — a trailing comma silently breaks the whole file. If you used the installer, a timestamped .bak of your previous config sits next to the file for comparison.
The first tool call is slow or fails once, then works
A cold cache: on the very first use the server’s package or image is still downloading while the client is already waiting on the connection. Warming it once fixes it for good — the exact command depends on your build: .NET.
The server fails to start, or a runtime dependency is missing
These are properties of the build you run rather than of MCP, so the fixes live with the platform:
Pass the file name, not a full path from your machine: the server resolves names inside its configured storage folder. When a name is not found the tool responds with the list of files it can see, so the agent can correct itself — check that list against GROUPDOCS_MCP_STORAGE_PATH.
Why did one occurrence not change?
replace_text matches text within one formatting run. A phrase whose words carry different formatting — ACME in italics, Corp not — is two runs to the engine, and the search does not see it. In our test 6 of 7 occurrences changed and the seventh was exactly that case. Ask the agent to search the result for the old text; for a phrase split across runs, use extract_html and save_from_html, which edit the text whatever its formatting.
Where is the edited file?
In the output folder — GROUPDOCS_MCP_OUTPUT_PATH, which defaults to the storage folder itself — as <name>_edited.<ext>, or under the name you ask for (outputName). It lands in the folder’s root even when the input sat in a sub-folder: editing contracts/msa.docx writes msa_edited.docx. The original is never overwritten.
Does it track changes?
No. The edited copy carries the new text, not a redline. To show a reviewer what changed, compare the original and the edited copy with GroupDocs.Comparison.
Can it edit a PDF?
By converting it: the PDF becomes flowing HTML, and the edit is saved as DOCX (or back to PDF). Layout-heavy PDFs do not round-trip perfectly, which is why saving to Word is the recommended path — turn a PDF into an editable Word document.
Does it need libgdiplus on Linux?
No. GroupDocs.Editor draws through managed code with its native libraries inside the package. On Linux it needs real fonts only when you save to PDF or XPS (libfontconfig1, ttf-mscorefonts-installer); the Docker image has them. The family’s Linux setup script installs libgdiplus as well, which does no harm.
Which format can I save to?
It depends on the family: a Word or PDF source saves to DOCX, DOC, RTF, ODT, PDF, XPS, TXT, Markdown, MHTML, EPUB, MOBI and AZW3; a workbook to XLSX, XLS, ODS, CSV, TSV, PDF and more; a presentation to PPTX, PPT, ODP, PDF and XPS. get_supported_formats with the file returns the exact list.
Verifying an installation end-to-end
Ask your agent “list your GroupDocs editor tools and the license status” — it should name get_document_info, replace_text, extract_html, save_from_html, get_form_fields, fill_form_fields, get_supported_formats, get_license_status. For a scripted check that performs the real MCP handshake and a live call through the engine, see verifying a .NET installation.
Still stuck?
Post your config (redact license paths) and the client name in the Editor forum — we answer MCP questions daily. Bugs: GitHub issues.
Was this page helpful?
Any additional feedback you'd like to share with us?
Please tell us how we can improve this page.
Thank you for your feedback!
We value your opinion. Your feedback will help us improve our documentation.