Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

io.github.groupdocs-total/groupdocs-total-mcp

OCI · GHCR.IO/GROUPDOCS-TOTAL/TOTAL-NET-MCP:26.7.3

MCP server for GroupDocs.Total — annotate, sign, convert, watermark, parse, redact documents via AI.

0 this week 49 Trust /100

Last scanned (20 hours ago)

Scores higher than 74% of OCI servers

Category Documents and Files

Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →

Supply Chain Security0
  • No malware scan is available for this kind of package: the supply-chain vendors we use do not cover it. This is a permanent gap in our coverage, not a finding about the package.Unverified
  • Known CVEs could not be checked: this artifact ships no SBOM or dependency manifest, so there is no dependency list to read.Unverified
  • Install-script risk not yet assessed.Unverified
  • Dependency health could not be checked: this artifact ships no SBOM or dependency manifest, so there is no dependency list to read.Unverified
Provenance & Transparency48
  • Source repository is publicly reachable at the declared URL. View diagnostics → Pass
  • Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
  • Clear OSI-approved license (MIT).Pass
  • Actively maintained (last published 101 days ago).Pass
  • Publishes a security disclosure policy (SECURITY.md).Pass
Schema Quality & AI Usability54
  • AI-judged instruction clarity (good).Pass
  • Context-footprint check failed: tool/resource definitions use about 7645 tokens (~201/item across 38 items; 38 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management100
  • No destabilizing schema changes in the last 30 days.Pass
Tool Coverage91
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 74% of tool parameters carry a description.Partial
Tool Safety75
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • 0 of 6 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "annotation_remove_annotations" implies "remove" and declares no destructiveHint at all, which the MCP spec reads as destructive by default. See how to fix → Fail
  • An AI judge read all 38 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass

Unverified: 1 category

A category scored 0 because we could not verify it: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 1 Nov 26 0
    • Stability: 0.97 → pass security
  • 31 Oct 26 0
    • Stability: pass → 0.97 functional
  • 24 Oct 26 0
    • Stability: 0.97 → pass security
  • 23 Oct 26 0
    • Stability: pass → 0.97 functional
  • 17 Oct 26 0
    • Stability: 0.97 → pass security
  • 16 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 93 to 97. That category is still filling its 30-day observation window: 28 days of observed history at the previous scan, 29 at this one. The score rises as the window fills, whether or not the server changes.

  • 14 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 87 to 90. That category is still filling its 30-day observation window: 26 days of observed history at the previous scan, 27 at this one. The score rises as the window fills, whether or not the server changes.

  • 12 Oct 26 −2
    • Stability: pass → 0.83 functional
Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 4 Nov 2026 · Analysed oci/ghcr.io/groupdocs-total/total-net-mcp:26.7.3

Provenance No attestation

The registry publishes no build provenance for this version, so there is nothing to verify.

Result No attestation
Ecosystem oci
Reason No attestation published

Background: How many MCP packages publish verified provenance →

MCP tools · 38 exposed · ~7,645 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
annotation_add_annotation ~285

[GroupDocs.Annotation] Adds an annotation to a document and saves the annotated file as '<name>_annotated.<ext>'. Supported types: textfield, area, point, arrow, highlight, underline, strikeout. Supports PDF, DOCX, XLSX, PPTX, and 50+ more document and image formats. Call this tool whenever the user asks to annotate, comment, highlight, underline, strikeout, or mark up a document. Do NOT pre-check whether files exist — pass the filename the user provided directly. The tool resolves files from storage and returns an error with available files if a name is not found. Returns a saved-path message ('Added <type> annotation to <file> on page <n>') with the download URL or storage path. On failure, the response text starts with 'Annotation failed for' followed by the underlying exception type, message, and inner-exception chain.

NameTypeReqDescription
fileobjectyes–
pageinteger–Page number (1-based)
passwordstring|null–Password for protected documents
textstringyesAnnotation text or comment
typestringyesAnnotation type: textfield, area, point, arrow, highlight, underline, strikeout
xinteger–X position (document coordinates)
yinteger–Y position (document coordinates)

No output schema declared.

No examples provided.

annotation_add_reply ~218

[GroupDocs.Annotation] Adds a reply to an existing annotation and saves the result back to storage. Supports PDF, DOCX, XLSX, PPTX, and 50+ more document and image formats. Call get_annotations first to retrieve the target annotation 'id'. Call this tool whenever the user asks to reply to an annotation, add a comment thread, or respond to a review note. Do NOT pre-check whether files exist — pass the filename the user provided directly. Returns a saved-path message ('Added reply to annotation <id> in <file>'). On failure, the response text starts with 'Reply add failed for' followed by the underlying exception type, message, and inner-exception chain.

NameTypeReqDescription
annotationIdintegeryesAnnotation ID to reply to (from get_annotations)
commentstringyesReply comment text
fileobjectyes–
passwordstring|null–Password for protected documents
userNamestring–Name of the user posting the reply. Defaults to 'mcp-user'.

No output schema declared.

No examples provided.

annotation_export_annotations ~166

[GroupDocs.Annotation] Extracts annotations from a document and saves them as an XML file (suitable for re-import via import_annotations). Supports PDF, DOCX, XLSX, PPTX, and 50+ more document and image formats. Call this tool whenever the user asks to export, extract, serialize, or save annotations to XML. Do NOT pre-check whether files exist — pass the filename the user provided directly. Returns a saved-path message ('Exported N annotation(s) from <file> to <name>.annotations.xml'). On failure, the response text starts with 'Annotation export failed for' followed by the underlying exception type, message, and inner-exception chain.

NameTypeReqDescription
fileobjectyes–
passwordstring|null–Password for protected documents

No output schema declared.

No examples provided.

annotation_get_annotations ~188

[GroupDocs.Annotation] Lists all annotations in a document as JSON. Supports PDF, DOCX, XLSX, PPTX, and 50+ more document and image formats. Each entry includes 'id' (use this with remove_annotations / update_annotation / add_reply), 'type', 'message', 'page' (1-based), bounding box, user, and replies. Call this tool first whenever the user asks to list, show, inspect, or review annotations or comments. Do NOT pre-check whether files exist — pass the filename the user provided directly. Returns a JSON object with `found` (count) and `annotations` (array). On failure, the response text starts with 'Annotation lookup failed for' followed by the underlying exception type, message, and inner-exception chain.

NameTypeReqDescription
fileobjectyes–
passwordstring|null–Password for protected documents

No output schema declared.

No examples provided.

annotation_import_annotations ~219

[GroupDocs.Annotation] Imports annotations from another source (an XML annotations file or an annotated document) and saves the merged document back to storage. Supports PDF, DOCX, XLSX, PPTX, and 50+ more document and image formats for the target. Source must be either an XML file produced by export_annotations, or another annotated document of the same engine format. Call this tool whenever the user asks to import, merge, or apply annotations from one document to another. Do NOT pre-check whether files exist — pass the filenames the user provided directly. Returns a saved-path message ('Imported annotations from <source> into <file>'). On failure, the response text starts with 'Annotation import failed for' followed by the underlying exception type, message, and inner-exception chain.

NameTypeReqDescription
fileobjectyes–
passwordstring|null–Password for protected target documents
sourceobjectyesSource file containing annotations to import — an XML file (.xml) or an annotated document (.pdf, .docx, etc.).

No output schema declared.

No examples provided.

annotation_remove_annotations ~204

[GroupDocs.Annotation] Removes annotations from a document by ID and saves the result back to storage. Supports PDF, DOCX, XLSX, PPTX, and 50+ more document and image formats. Call get_annotations first to retrieve annotation IDs, then pass them here. Omit 'ids' to remove every annotation in the document. Call this tool whenever the user asks to delete, remove, or clear annotations. Do NOT pre-check whether files exist — pass the filename the user provided directly. Returns a saved-path message ('Removed N annotation(s) from <file>'). On failure, the response text starts with 'Annotation removal failed for' followed by the underlying exception type, message, and inner-exception chain.

NameTypeReqDescription
fileobjectyes–
idsstring|null–Comma-separated annotation IDs to remove, e.g. '1,3,5'. Omit to remove all.
passwordstring|null–Password for protected documents

No output schema declared.

No examples provided.

annotation_remove_replies ~254

[GroupDocs.Annotation] Removes replies from annotations and saves the result back to storage. Supports PDF, DOCX, XLSX, PPTX, and 50+ more document and image formats. Filter mode: pass 'replyIds' (comma-separated) to remove by reply ID, OR pass 'userName' to remove all replies from one user. Pass neither to remove ALL replies in the document. Call this tool whenever the user asks to delete a reply, remove a comment thread, or clear replies from one author. Do NOT pre-check whether files exist — pass the filename the user provided directly. Returns a saved-path message ('Removed N reply / replies from <file>'). On failure, the response text starts with 'Reply removal failed for' followed by the underlying exception type, message, and inner-exception chain.

NameTypeReqDescription
fileobjectyes–
passwordstring|null–Password for protected documents
replyIdsstring|null–Comma-separated reply IDs to remove, e.g. '12,34'. Omit to fall back to userName / remove-all.
userNamestring|null–Remove all replies authored by this user name. Mutually exclusive with replyIds.

No output schema declared.

No examples provided.

annotation_update_annotation ~287

[GroupDocs.Annotation] Updates an existing annotation's message and/or bounding box, then saves the result back to storage. Supports PDF, DOCX, XLSX, PPTX, and 50+ more document and image formats. Call get_annotations first to retrieve the annotation 'id' and current values. Pass any subset of message/x/y/width/height — omitted parameters keep their current value. Call this tool whenever the user asks to edit, modify, move, or resize an existing annotation. Do NOT pre-check whether files exist — pass the filename the user provided directly. Returns a saved-path message ('Updated annotation <id> in <file>'). On failure, the response text starts with 'Annotation update failed for' followed by the underlying exception type, message, and inner-exception chain.

NameTypeReqDescription
fileobjectyes–
heightinteger|null–New height. Omit to keep current.
idintegeryesAnnotation ID to update (from get_annotations)
messagestring|null–New message/comment text. Omit to keep current.
passwordstring|null–Password for protected documents
widthinteger|null–New width. Omit to keep current.
xinteger|null–New X position. Omit to keep current.
yinteger|null–New Y position. Omit to keep current.

No output schema declared.

No examples provided.

comparison_compare ~193

[GroupDocs.Comparison] Compares two documents and highlights the differences between them. Call this tool immediately whenever the user asks to compare, diff, or check differences between two files. Do NOT pre-check whether files exist — just pass the filenames the user provided. The tool resolves files from storage and returns an error with available files if a name is not found. Returns a change count summary and saves the marked-up result document to storage.

NameTypeReqDescription
sourceFileobjectyesSource (original) document — provide the filename as given by the user, e.g. 'source.pdf'
sourcePasswordstring|null–Password for source document, if password-protected
targetFileobjectyesTarget (modified) document to compare against — provide the filename as given by the user, e.g. 'target.pdf'
targetPasswordstring|null–Password for target document, if password-protected

No output schema declared.

No examples provided.

conversion_convert ~165

[GroupDocs.Conversion] Converts a document to a different format and saves the result to storage. Supports PDF, DOCX, XLSX, PPTX, HTML, PNG, JPG, and 50+ more formats. Call this tool immediately whenever the user asks to convert, change format, export, or save as a different file type. Do NOT pre-check whether files exist — just pass the filenames the user provided. The tool resolves files from storage and returns an error with available files if a name is not found.

NameTypeReqDescription
fileobjectyes–
formatstringyesTarget format: pdf, docx, xlsx, pptx, html, png, jpg, csv, txt, rtf
passwordstring|null–Password for protected documents

No output schema declared.

No examples provided.

conversion_get_supported_formats ~166

[GroupDocs.Conversion] Lists every output format the document can be converted TO via ConversionConvert. Returns the source format plus the full list of viable target extensions (pdf, docx, xlsx, pptx, html, jpg, png, …). Use BEFORE ConversionConvert when the user asks 'what can I convert this to?' or to validate a target extension is supported. Do NOT pre-check whether files exist — pass the filename the user provided directly. Returns a JSON object with `source` (extension), `count`, and `targets` (array of supported target extensions). On failure, the response text starts with 'Supported-formats lookup failed for' followed by the underlying exception type, message, and inner-exception chain.

NameTypeReqDescription
fileobjectyes–

No output schema declared.

No examples provided.

get_document_info ~197

Returns basic information about ANY document: file type, page count, and size as JSON. Backed by GroupDocs.Parser — supports 170+ formats including PDF, DOCX, XLSX, PPTX, ODT, JPEG, PNG, TIFF, CAD, EPUB, EML, MSG, and more. Use this as the first call when the user asks 'what is this file?' or 'how many pages?' before invoking format-specific tools. Do NOT pre-check whether files exist — pass the filename the user provided directly. Returns a JSON object with `fileName`, `fileType` (extension), `fileTypeName` (human-readable), `pageCount`, `size`. On failure, the response text starts with 'Document-info lookup failed for' followed by the underlying exception type, message, and inner-exception chain.

NameTypeReqDescription
fileobjectyes–
passwordstring|null–Password for protected documents

No output schema declared.

No examples provided.

get_document_page_image ~266

Renders one or more document pages as PNG images and returns them INLINE so AI clients can display them directly. Backed by GroupDocs.Viewer — supports 170+ formats including PDF, DOCX, XLSX, PPTX, ODT, JPEG, PNG, TIFF, CAD, EPUB, and more. Pass 'pages' as a comma-separated list (e.g. '1,3,5') or a range ('1-3'); omit to render only page 1. Use whenever the user asks to preview, show, render, view, or visualise document pages. Maximum 5 pages per call to stay under MCP client message size limits; batch further pages in additional calls. Do NOT pre-check whether files exist — pass the filename the user provided directly. Returns a CallToolResult with one TextContentBlock summary followed by one ImageContentBlock per rendered page. On failure, the response contains a single TextContentBlock starting with 'Preview generation failed for' and IsError=true.

NameTypeReqDescription
fileobjectyes–
pagesstring|null–Pages to render, e.g. '1,3,5' or '1-3'. Omit for page 1 only.
passwordstring|null–Password for protected documents

No output schema declared.

No examples provided.

markdown_compose_from_markdown ~193

[GroupDocs.Markdown] Composes a document (DOCX, PDF, HTML, RTF, ODT, etc.) FROM Markdown. Provide the Markdown either as inline text ('markdown' parameter) OR as a file from storage ('sourceFile' parameter — pointing to an existing .md). The target format is inferred from the extension of 'outputFileName'. Call this tool whenever the user asks to export, render, compose, or convert Markdown to a document format like Word, PDF, or HTML.

NameTypeReqDescription
markdownstring|null–Inline Markdown text. Leave empty when passing 'sourceFile' instead.
outputFileNamestringyesOutput filename whose extension determines the target format, e.g. 'report.docx', 'readme.pdf', 'notes.html'
sourceFileobject|null–Source Markdown file from storage (used when 'markdown' is not provided)

No output schema declared.

No examples provided.

markdown_convert_to_markdown ~369

[GroupDocs.Markdown] Converts a document to clean, structured Markdown (.md). Supports PDF, DOCX/DOC/RTF/ODT, XLSX/XLS/ODS/CSV/TSV, EPUB, MOBI, TXT, CHM and other formats. By default, images are embedded as base64 data URIs so the output is fully self-contained. Use 'images' to control image handling: 'base64' (default), 'file' (save images alongside the .md and reference by path), or 'skip' (omit images — text-only). Use 'pages' to limit output to specific 1-based pages or worksheets. The generated Markdown is saved to storage AND the content is returned inline. Call this tool immediately whenever the user asks to convert a document to Markdown, export as MD, or extract as Markdown. Do NOT pre-check whether files exist — just pass the filename the user provided. The tool resolves files from storage and returns an error with available files if a name is not found.

NameTypeReqDescription
fileobjectyes–
flavorstring–Markdown dialect: 'github' (default) or 'commonmark'
frontMatterboolean–Include YAML front matter (title, author, format, page count) at the top of the output
imagesstring–Image handling: 'base64' (default — embed as data URIs, self-contained), 'file' (save images alongside .md), or 'skip' (text-only, no images)
pagesstring|null–Comma-separated 1-based page or worksheet numbers to convert, e.g. '1,3,5'. Omit for the whole document.
passwordstring|null–Password for protected documents

No output schema declared.

No examples provided.

merger_merge ~147

[GroupDocs.Merger] Merges 2–4 documents into a single file and saves the result to storage. Supports PDF, DOCX, XLSX, PPTX and more. Call this tool immediately whenever the user asks to merge, combine, or join documents together. Do NOT pre-check whether files exist — just pass the filenames the user provided. The tool resolves files from storage and returns an error with available files if a name is not found.

NameTypeReqDescription
file1objectyesFirst document
file2objectyesSecond document
file3object|null–Third document (optional)
file4object|null–Fourth document (optional)

No output schema declared.

No examples provided.

merger_split ~139

[GroupDocs.Merger] Splits a document into separate files by extracting specific pages, saving each as an individual document to storage. Call this tool immediately whenever the user asks to split, extract pages, or separate a document into parts. Do NOT pre-check whether files exist — just pass the filename the user provided. The tool resolves files from storage and returns an error with available files if a name is not found.

NameTypeReqDescription
fileobjectyes–
pagesstringyesPage numbers to extract as separate documents (1-based), e.g. '3,6,8'
passwordstring|null–Password for protected documents

No output schema declared.

No examples provided.

metadata_read_metadata ~116

[GroupDocs.Metadata] Reads all metadata properties from a document (author, title, creation date, custom properties) and returns them as JSON. Call this tool immediately whenever the user asks to read metadata, show document properties, or get author/title/date info. Do NOT pre-check whether files exist — just pass the filename the user provided. The tool resolves files from storage and returns an error with available files if a name is not found.

NameTypeReqDescription
fileobjectyes–
passwordstring|null–Password for protected documents

No output schema declared.

No examples provided.

metadata_remove_metadata ~105

[GroupDocs.Metadata] Removes all metadata from a document and saves the cleaned file to storage. Call this tool immediately whenever the user asks to remove metadata, strip properties, or clean a document before sharing. Do NOT pre-check whether files exist — just pass the filename the user provided. The tool resolves files from storage and returns an error with available files if a name is not found.

NameTypeReqDescription
fileobjectyes–
passwordstring|null–Password for protected documents

No output schema declared.

No examples provided.

parser_extract_barcodes ~174

[GroupDocs.Parser] Extracts all barcodes and QR codes from a document and returns their decoded values and type names as JSON. Detects Code128, QR Code, PDF417, DataMatrix, EAN-13, EAN-8, UPC, Aztec, and many more symbologies. Call this tool immediately whenever the user asks to read, scan, or extract barcodes or QR codes from a document. Do NOT pre-check whether files exist — just pass the filename the user provided. The tool resolves files from storage and returns an error with available files if a name is not found.

NameTypeReqDescription
fileobjectyes–
pageinteger|null–Page number to scan (1-based). Omit for all pages.
passwordstring|null–Password for protected documents

No output schema declared.

No examples provided.

parser_extract_images ~139

[GroupDocs.Parser] Extracts all images from a document and saves them to storage. Returns a list of saved image file paths or download URLs. Call this tool immediately whenever the user asks to extract images, get images, or save images from a document. Do NOT pre-check whether files exist — just pass the filename the user provided. The tool resolves files from storage and returns an error with available files if a name is not found.

NameTypeReqDescription
fileobjectyes–
pageinteger|null–Page number to extract images from (1-based). Omit for all pages.
passwordstring|null–Password for protected documents

No output schema declared.

No examples provided.

parser_extract_metadata ~114

[GroupDocs.Parser] Extracts metadata from a document file (author, title, creation date, page count, etc.) and returns it as JSON. Call this tool immediately whenever the user asks to extract metadata or get document properties from a file. Do NOT pre-check whether files exist — just pass the filename the user provided. The tool resolves files from storage and returns an error with available files if a name is not found.

NameTypeReqDescription
fileobjectyes–
passwordstring|null–Password for protected documents

No output schema declared.

No examples provided.

parser_extract_tables ~206

[GroupDocs.Parser] Extracts tables from a document and returns them as Markdown (default) or JSON. Markdown tables render instantly in VS Code, GitHub, and AI chat — use this format to visually review table data right in the response. Use format='json' to get a structured array of rows for programmatic processing or further manipulation. Call this tool immediately whenever the user asks to extract, read, or view tables from a document. Do NOT pre-check whether files exist — just pass the filename the user provided. The tool resolves files from storage and returns an error with available files if a name is not found.

NameTypeReqDescription
fileobjectyes–
formatstring–Output format: 'markdown' (default — renders in IDE and chat) or 'json' (structured data)
pageinteger|null–Page number to extract tables from (1-based). Omit for all pages.
passwordstring|null–Password for protected documents

No output schema declared.

No examples provided.

parser_extract_text ~161

[GroupDocs.Parser] Extracts plain text from a document file. Supports PDF, DOCX, XLSX, PPTX, TXT, HTML, CSV, EML, MSG, RTF, ODT, EPUB, and 50+ more formats. Call this tool immediately whenever the user asks to extract text, read text, or get the content of a document. Do NOT pre-check whether files exist — just pass the filename the user provided. The tool resolves files from storage and returns an error with available files if a name is not found.

NameTypeReqDescription
fileobjectyes–
pageinteger|null–Page number to extract from (1-based). Omit for all pages.
passwordstring|null–Password for protected documents

No output schema declared.

No examples provided.

redaction_erase_metadata ~232

[GroupDocs.Redaction] Erases metadata fields from a document (author, title, company, keywords, dates, etc.) and saves the cleaned file to storage. Use to remove personally identifiable or confidential information embedded in document properties before sharing. Call this tool whenever the user asks to erase, strip, clean, or remove metadata from a document. Accepted fields (comma-separated): All, Author, Title, Subject, Category, Keywords, Description, Creator, Producer, CreatedTime, LastPrinted, LastSavedTime, TotalEditingTime, NameOfApplication, Manager, Company, ContentStatus, Version, Revision, HyperlinkBase, ContentType, Template. Default is All. Do NOT pre-check whether files exist — just pass the filename the user provided. The tool resolves files from storage and returns an error with available files if a name is not found.

NameTypeReqDescription
fieldsstring–Comma-separated metadata fields to erase (default: 'All'). E.g. 'Author,Company,CreatedTime'
fileobjectyes–
passwordstring|null–Password for protected documents

No output schema declared.

No examples provided.

redaction_redact_annotations ~206

[GroupDocs.Redaction] Redacts or deletes annotations (comments, sticky notes, highlights) in a document and saves the result to storage. Can replace matching annotation text with a placeholder, or delete annotations entirely. Call this tool whenever the user asks to redact, remove, hide, or clean up comments or annotations in a document. Do NOT pre-check whether files exist — just pass the filename the user provided. The tool resolves files from storage and returns an error with available files if a name is not found.

NameTypeReqDescription
deleteAllboolean–When true, deletes matched annotations entirely instead of replacing their text (default: false)
fileobjectyes–
passwordstring|null–Password for protected documents
patternstring|null–Regex pattern to match annotations. Omit to target all annotations.
replacementstring–Replacement text for matched annotation content. Ignored when deleteAll is true (default: '[REDACTED]')

No output schema declared.

No examples provided.

redaction_redact_image_area ~256

[GroupDocs.Redaction] Covers a rectangular area of a document page with a solid-color box, permanently hiding image content (e.g. faces, signatures, stamps). Coordinates are in pixels from the top-left corner of the page. Call this tool whenever the user asks to hide, cover, or black out an image area or region in a document. Do NOT pre-check whether files exist — just pass the filename the user provided. The tool resolves files from storage and returns an error with available files if a name is not found.

NameTypeReqDescription
colorstring–Fill color for the redaction box — named color (e.g. 'Black', 'Red') or hex (e.g. '#FF0000'). Default: 'Black'
fileobjectyes–
heightintegeryesHeight (pixels) of the area to redact
passwordstring|null–Password for protected documents
widthintegeryesWidth (pixels) of the area to redact
xintegeryesX coordinate (pixels) of the top-left corner of the area to redact
yintegeryesY coordinate (pixels) of the top-left corner of the area to redact

No output schema declared.

No examples provided.

redaction_redact_text ~188

[GroupDocs.Redaction] Redacts text matching a regex pattern from a document and saves the redacted file to storage. Use to permanently hide sensitive data like SSNs, emails, phone numbers, or any custom pattern. Call this tool immediately whenever the user asks to redact, hide, remove, or black out text in a document. Do NOT pre-check whether files exist — just pass the filename the user provided. The tool resolves files from storage and returns an error with available files if a name is not found.

NameTypeReqDescription
fileobjectyes–
passwordstring|null–Password for protected documents
patternstringyesRegex pattern to match text for redaction, e.g. '\d{3}-\d{2}-\d{4}' for SSN
replacementstring–Replacement text (default: '[REDACTED]')

No output schema declared.

No examples provided.

signature_search_barcodes ~261

[GroupDocs.Signature] Searches a document for barcode signatures (Code39, Code128, EAN, QR-adjacent 1D barcodes, etc.) and returns each barcode's decoded text value, page, position, and — when returnImage is true — the barcode graphic as a base64-encoded PNG. Supports PDF, DOCX, XLSX, PPTX, and 30+ more document formats. Optionally filters results to barcodes whose text contains a specific string. Do NOT pre-check whether the file exists — pass the filename the user provided directly. Returns a JSON object with `found` (count) and `signatures` (array with `page`, `type`, `text`, position, dimensions, and optional `imageBase64`). On failure, the response text starts with 'Barcode search failed for' followed by the underlying exception type, message, and inner-exception chain.

NameTypeReqDescription
fileobjectyes–
passwordstring|null–Password for protected documents.
returnImageboolean–Include the barcode graphic as a base64 PNG in the response.
textstring|null–Return only barcodes whose decoded text contains this string. Omit to return all barcodes.

No output schema declared.

No examples provided.

signature_search_digital_signatures ~182

[GroupDocs.Signature] Searches a document for digital certificate signatures and returns details for each: signer name, issuer, certificate serial number, validity period, sign timestamp, validity status, and any comments or reason attached to the signature. Supports PDF and Office documents (DOCX, XLSX, PPTX). Do NOT pre-check whether the file exists — pass the filename the user provided directly. Returns a JSON object with `found` (count) and `signatures` (array with `signTime`, `isValid`, `comments`, `thumbprint`, and a nested `certificate` object). On failure, the response text starts with 'Digital signature search failed for' followed by the underlying exception type, message, and inner-exception chain.

NameTypeReqDescription
fileobjectyes–
passwordstring|null–Password for protected documents.

No output schema declared.

No examples provided.

signature_search_image_signatures ~182

[GroupDocs.Signature] Searches a document for embedded image signatures (logo, stamp image, picture overlays) and returns each image's page, position, size, and content as a base64-encoded PNG ready for display. Supports PDF, DOCX, XLSX, PPTX, and 30+ more document formats. Do NOT pre-check whether the file exists — pass the filename the user provided directly. Returns a JSON object with `found` (count) and `signatures` (array with `index`, `page`, position, dimensions, `sizeBytes`, and `imageBase64`). On failure, the response text starts with 'Image signature search failed for' followed by the underlying exception type, message, and inner-exception chain.

NameTypeReqDescription
fileobjectyes–
passwordstring|null–Password for protected documents.

No output schema declared.

No examples provided.

signature_search_qr_codes ~244

[GroupDocs.Signature] Searches a document for QR code signatures and returns each QR code's decoded text, page, position, and — when returnImage is true — the QR code graphic as a base64-encoded PNG. Supports PDF, DOCX, XLSX, PPTX, and 30+ more document formats. Optionally filters results to QR codes whose decoded text contains a specific string. Do NOT pre-check whether the file exists — pass the filename the user provided directly. Returns a JSON object with `found` (count) and `signatures` (array with `page`, `type`, `text`, position, dimensions, and optional `imageBase64`). On failure, the response text starts with 'QR code search failed for' followed by the underlying exception type, message, and inner-exception chain.

NameTypeReqDescription
fileobjectyes–
passwordstring|null–Password for protected documents.
returnImageboolean–Include the QR code graphic as a base64 PNG in the response.
textstring|null–Return only QR codes whose decoded text contains this string. Omit to return all QR codes.

No output schema declared.

No examples provided.

signature_search_text_signatures ~240

[GroupDocs.Signature] Searches a document for embedded text signatures (stamps, labels, native text annotations) and returns each signature's text content, page, position, and implementation type. Supports PDF, DOCX, XLSX, PPTX, and 30+ more document formats. Optionally filters to signatures whose text contains a specific string. Note: this searches for signature objects — to search for arbitrary text inside document content use a text-extraction tool instead. Do NOT pre-check whether the file exists — pass the filename the user provided directly. Returns a JSON object with `found` (count) and `signatures` (array with `page`, `text`, `implementation`, `left`, `top`, `width`, `height` per signature). On failure, the response text starts with 'Text signature search failed for' followed by the underlying exception type, message, and inner-exception chain.

NameTypeReqDescription
fileobjectyes–
passwordstring|null–Password for protected documents.
textstring|null–Return only text signatures whose content contains this string. Omit to return all text signatures.

No output schema declared.

No examples provided.

signature_sign ~251

[GroupDocs.Signature] Signs a document with a text, QR code, barcode, or digital certificate signature and saves the signed file to storage. Supports PDF, DOCX, XLSX, PPTX, and 30+ more document formats. Call this tool immediately whenever the user asks to sign a document, add a signature, or apply a digital signature. Do NOT pre-check whether files exist — just pass the filenames the user provided. The tool resolves files from storage and returns an error with available files if a name is not found. Returns a saved-path message ('Signed <file> with <type> signature') and the download URL or storage path. On failure, the response text starts with 'Signing failed for' followed by the underlying exception type, message, and inner-exception chain.

NameTypeReqDescription
certificateobject|null–Digital certificate file (for type 'digital')
certificatePasswordstring|null–Certificate password
fileobjectyes–
passwordstring|null–Password for protected documents
textstring|null–Signature text (for text/qrcode/barcode types)
typestringyesSignature type: text, qrcode, barcode, digital

No output schema declared.

No examples provided.

signature_verify ~221

[GroupDocs.Signature] Verifies signatures in a document and returns the result (valid/invalid, counts) as JSON. Supports text, QR code, barcode, and digital signatures. Supports PDF, DOCX, XLSX, PPTX, and 30+ more document formats. Call this tool immediately whenever the user asks to verify a signature, check if a document is signed, or validate a signature. Do NOT pre-check whether files exist — just pass the filename the user provided. The tool resolves files from storage and returns an error with available files if a name is not found. Returns a JSON object with `isValid`, `succeeded` (count), and `failed` (count) fields. On failure, the response text starts with 'Verification failed for' followed by the underlying exception type, message, and inner-exception chain.

NameTypeReqDescription
fileobjectyes–
passwordstring|null–Password for protected documents
typestring–Signature type to verify: text, qrcode, barcode, digital, all

No output schema declared.

No examples provided.

watermark_add_watermark ~157

[GroupDocs.Watermark] Adds a text watermark to a document and saves the watermarked file to storage. Call this tool immediately whenever the user asks to add a watermark, stamp text onto a document, or mark a document as draft/confidential. Do NOT pre-check whether files exist — just pass the filename the user provided. The tool resolves files from storage and returns an error with available files if a name is not found.

NameTypeReqDescription
fileobjectyes–
fontSizeinteger–Font size (default 36)
passwordstring|null–Password for protected documents
rotationinteger–Rotation angle in degrees (default -45)
textstringyesWatermark text to add

No output schema declared.

No examples provided.

watermark_remove_watermarks ~232

[GroupDocs.Watermark] Removes watermarks from a document and saves the cleaned file to storage as '<name>_unwatermarked.<ext>'. Supports PDF, DOCX, XLSX, PPTX, and 50+ more document and image formats. Filter mode: pass 'text' to remove only watermarks whose text contains this string; omit to remove ALL watermarks found by Search(). Call this tool whenever the user asks to remove a watermark, strip watermarks, clean / unstamp a document, or remove a specific tagged watermark. Do NOT pre-check whether files exist — pass the filename the user provided directly. Returns a saved-path message ('Removed N watermark(s) from <file>'). On failure, the response text starts with 'Watermark removal failed for' followed by the underlying exception type, message, and inner-exception chain.

NameTypeReqDescription
fileobjectyes–
passwordstring|null–Password for protected documents
textstring|null–Remove only watermarks whose text contains this string (case-insensitive). Omit to remove every watermark in the document.

No output schema declared.

No examples provided.

watermark_search_watermarks ~122

[GroupDocs.Watermark] Searches for watermarks in a document and returns their details (type, text, position, size) as JSON. Call this tool immediately whenever the user asks to search for watermarks, find watermarks, or check if a document has watermarks. Do NOT pre-check whether files exist — just pass the filename the user provided. The tool resolves files from storage and returns an error with available files if a name is not found.

NameTypeReqDescription
fileobjectyes–
passwordstring|null–Password for protected documents

No output schema declared.

No examples provided.

Install

How do I install the io.github.groupdocs-total/groupdocs-total-mcp server?

io.github.groupdocs-total/groupdocs-total-mcp runs locally as a container image, launched with docker run --rm -i -e GROUPDOCS_MCP_STORAGE_PATH -e GROUPDOCS_MCP_OUTPUT_PATH -e GROUPDOCS_LICENSE_PATH ghcr.io/groupdocs-total/total-net-mcp:26.7.3. Ready-made configuration for Claude, Cursor, VS Code, Codex and 3 more is on this page, copied from each client's own documentation.

oci · ghcr.io/groupdocs-total/total-net-mcp:26.7.3

# add to Claude Code
claude mcp add groupdocs-total-groupdocs-total-mcp -- docker run --rm -i -e GROUPDOCS_MCP_STORAGE_PATH -e GROUPDOCS_MCP_OUTPUT_PATH -e GROUPDOCS_LICENSE_PATH ghcr.io/groupdocs-total/total-net-mcp:26.7.3

This image reads GROUPDOCS_MCP_STORAGE_PATH, GROUPDOCS_MCP_OUTPUT_PATH and GROUPDOCS_LICENSE_PATH. Set them in your client's env block for this server; docker run -e passes each one through to the container.

Common questions

What is the io.github.groupdocs-total/groupdocs-total-mcp server?

io.github.groupdocs-total/groupdocs-total-mcp is listed in the public MCP registry as io.github.groupdocs-total/groupdocs-total-mcp. MCP server for GroupDocs.Total, annotate, sign, convert, watermark, parse, redact documents via AI. This page covers its container image (ghcr.io/groupdocs-total/total-net-mcp:26.7.3).

Is the io.github.groupdocs-total/groupdocs-total-mcp server safe to use?

io.github.groupdocs-total/groupdocs-total-mcp scores 49 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the io.github.groupdocs-total/groupdocs-total-mcp server expose?

io.github.groupdocs-total/groupdocs-total-mcp exposes 38 tools: signature_search_image_signatures, signature_search_digital_signatures, annotation_remove_annotations, metadata_read_metadata, annotation_update_annotation, and 33 more. Their descriptions and schemas cost roughly 7,645 tokens of context every time the server is loaded.

Is the io.github.groupdocs-total/groupdocs-total-mcp server still maintained?

io.github.groupdocs-total/groupdocs-total-mcp is still listed as active in the MCP registry. We last reached this channel on 4 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

What licence is the io.github.groupdocs-total/groupdocs-total-mcp server under?

io.github.groupdocs-total/groupdocs-total-mcp declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.