Releases: groupdocs-viewer/GroupDocs.Viewer.Mcp
26.5.1
26.5.1 — GetViewInfo JSON response no longer truncated mid-document
What changed
GetViewInfoToolnow returns raw JSON directly instead of routing it throughOutputHelper.TruncateText.OutputHelper.TruncateTextis intended for plain-text output: when the input exceedsMcpConfig.MaxOutputCharacters(default 5000), it appends a[Output truncated — showing first X of Y characters. ...]marker on a new line. That marker is non-JSON and breaks any consumer usingJsonDocument.Parse/JsonSerializer.Deserializeon the response.- Affected callers in practice: long documents where the per-page width/height/name list pushes the JSON past 5 KB, plus any client that strict-parses the tool response. Lenient consumers (Claude, Cursor, VS Code Copilot) tolerate the trailing marker, so user-visible AI-agent flows in 26.5.0 are unaffected.
Why
Tools that emit structured JSON should always return valid JSON regardless of size. Truncation should be expressed inside the JSON document (e.g. capped inner array + truncated: true flag) rather than by appending a non-JSON marker line. In practice the response is bounded by API realities (a few KB to ~30 KB), so removing the wrapping is sufficient — no in-document truncation needed today.
Migration / impact
Drop-in replacement for 26.5.0. No public-API or wire-name changes. Tool responses now contain only the JSON document; previous trailing marker line for ~5KB+ responses is gone. Strict-JSON parsers that broke against 26.5.0 work cleanly against 26.5.1.
Full Changelog: 26.5.0...26.5.1
26.5.0
Initial public release of GroupDocs.Viewer MCP Server
What changed
- NuGet package
GroupDocs.Viewer.Mcppublished withMcpServerpackage type. - Two MCP tools exposed:
RenderPage— render a single document page as a PNG image. Returns aCallToolResultwith both aTextContentBlock(saved file path:<source-stem>_page<N>.png) and anImageContentBlock(PNG bytes inline asimage/png). Supports PDF, Word, Excel, PowerPoint, ODT, RTF, HTML, and 170+ more formats; takes optionalpage(1-based, default 1) andpassword.GetViewInfo— return file type, page count, and per-page dimensions as JSON. No rendering performed. Optionalpasswordfor protected documents.
- Installable via
dnx GroupDocs.Viewer.Mcp@26.5.0 --yes(.NET 10 SDK required) ordotnet tool install -g. - Docker image published to
ghcr.io/groupdocs-viewer/viewer-net-mcpanddocker.io/groupdocs/viewer-net-mcp. - Environment variables:
GROUPDOCS_MCP_STORAGE_PATH, optionalGROUPDOCS_MCP_OUTPUT_PATH,GROUPDOCS_LICENSE_PATH. - Linux native graphics deps wired up:
SkiaSharp.NativeAssets.Linux.NoDependencies(3.119.1) is referenced becauseGroupDocs.Viewer's nuspec declares the SkiaSharp managed and native packages — we pin explicitly so transitive resolution stays deterministic.libgdiplus+libfontconfig1are installed in the Docker image and theSystem.Drawing.EnableUnixSupportruntime flag is set because Viewer's Slides, image post-processing, archive-to-Word, mail/Outlook saving, and barcode generation paths still callSystem.Drawing.Common.
Why
Fourth product MCP server in the GroupDocs MCP framework (after Metadata, Conversion, and Comparison). Exposes
GroupDocs.Viewer for .NET as AI-callable tools for Claude, Cursor,
VS Code / GitHub Copilot, and other MCP-compatible agents.
RenderPage is the first tool in the GroupDocs MCP family to return a CallToolResult directly with an inline ImageContentBlock — AI clients can display the rendered page without a separate fetch.
Migration / impact
First release — no migration required.
Full Changelog: https://github.com/groupdocs-viewer/GroupDocs.Viewer.Mcp/commits/26.5.0