Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者提供的说明(英文原文)
MCP server for GroupDocs.Total — annotate, sign, convert, watermark, parse, redact documents via AI.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
GROUPDOCS_MCP_STORAGE_PATH, GROUPDOCS_MCP_OUTPUT_PATH, GROUPDOCS_LICENSE_PATH你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json
{
"mcpServers": {
"groupdocs-total": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"GROUPDOCS_MCP_STORAGE_PATH",
"-e",
"GROUPDOCS_MCP_OUTPUT_PATH",
"-e",
"GROUPDOCS_LICENSE_PATH",
"ghcr.io/groupdocs-total/total-net-mcp:26.7.3"
],
"env": {
"GROUPDOCS_MCP_STORAGE_PATH": "your-value",
"GROUPDOCS_MCP_OUTPUT_PATH": "your-value",
"GROUPDOCS_LICENSE_PATH": "your-value"
}
}
}
}在终端中运行这条命令
claude mcp add groupdocs-total --env GROUPDOCS_MCP_STORAGE_PATH=your-value --env GROUPDOCS_MCP_OUTPUT_PATH=your-value --env GROUPDOCS_LICENSE_PATH=your-value -- docker run -i --rm -e GROUPDOCS_MCP_STORAGE_PATH -e GROUPDOCS_MCP_OUTPUT_PATH -e GROUPDOCS_LICENSE_PATH ghcr.io/groupdocs-total/total-net-mcp:26.7.3运行前请先填写空着的值。
粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"groupdocs-total": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"GROUPDOCS_MCP_STORAGE_PATH",
"-e",
"GROUPDOCS_MCP_OUTPUT_PATH",
"-e",
"GROUPDOCS_LICENSE_PATH",
"ghcr.io/groupdocs-total/total-net-mcp:26.7.3"
],
"env": {
"GROUPDOCS_MCP_STORAGE_PATH": "your-value",
"GROUPDOCS_MCP_OUTPUT_PATH": "your-value",
"GROUPDOCS_LICENSE_PATH": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"groupdocs-total": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"GROUPDOCS_MCP_STORAGE_PATH",
"-e",
"GROUPDOCS_MCP_OUTPUT_PATH",
"-e",
"GROUPDOCS_LICENSE_PATH",
"ghcr.io/groupdocs-total/total-net-mcp:26.7.3"
],
"env": {
"GROUPDOCS_MCP_STORAGE_PATH": "your-value",
"GROUPDOCS_MCP_OUTPUT_PATH": "your-value",
"GROUPDOCS_LICENSE_PATH": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。
你的选择通过 Cookie 保存在这台设备上,无需账户。
这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月7日
注册名称已通过 GitHub 账户 groupdocs-total 验证,该账户拥有此仓库
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
它在你的电脑上运行,没有互联网端点
在你的电脑上运行,改用本地设置
它在你的电脑上运行;我们只能读取互联网端点的工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
GitHub 仓库最后更新于–,最新版本(26.7.3)于3个月前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Docker。
同一分类中有:Spec Driven Development, Remote Desktop Commander, FlyDocs
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Spec-driven development workflow: your agent works issues, sessions and the status lifecycle.
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
Unified MCP server that exposes the full GroupDocs.Total document-processing toolset — annotation, comparison, conversion, markdown, merging, metadata, parsing, redaction, signing, watermarking, plus cross-product document inspection and page preview — as AI-callable tools for Claude, Cursor, GitHub Copilot, and other MCP agents. Designed to be used standalone — attaching the individual product MCPs (GroupDocs.Annotation.Mcp, GroupDocs.Signature.Mcp, …) alongside is unnecessary and would duplicate tools.
One-click installs pre-fill every supported setting: edit the placeholder host path in
the volume mount after install; an empty GROUPDOCS_LICENSE_PATH runs in evaluation mode.
More clients - ready-made configs for Claude Code, Codex CLI, Visual Studio 2022,
Cursor, Windsurf, Cline, and JetBrains Rider live in
install/generated/.
This product ships via Docker (GHCR) only. GroupDocs.Total bundles every engine (including Parser's embedded ONNX models), so the packed tool far exceeds NuGet.org's 250 MB limit - so dnx and dotnet tool install are not available for it. When upstream ships a slimmer engine that packs under the limit, the standard NuGet flow returns (see the revert notes in .github/workflows/publish_prod.yml).
docker run --rm -i \
-v $(pwd)/documents:/data \ ghcr.io/groupdocs-total/total-net-mcp:latest
Images are multi-arch (linux/amd64 + linux/arm64), tagged latest plus an immutable version tag per release (e.g. :26.9.0). To pin, replace :latest with the version tag - recommended for shared configs and CI.
Tools follow {Product}{Verb}{Noun} PascalCase to disambiguate across domains. Cross-product tools stay short.
| Tool | Description |
|---|---|
GetDocumentInfo | File type, page count, size as JSON for any document (170+ formats via Parser engine) |
GetDocumentPageImage | Render up to 5 pages as inline PNG images (Viewer engine, 170+ formats) |
| Tool | Description |
|---|---|
AnnotationAddAnnotation | Add textfield / area / point / arrow / highlight / underline / strikeout annotation |
AnnotationGetAnnotations | List all annotations as JSON (id, type, message, page, box, user, replies) |
AnnotationUpdateAnnotation | Modify an existing annotation's message and/or bounding box by id |
AnnotationRemoveAnnotations | Remove annotations by id list, or all |
AnnotationAddReply | Add a reply / comment thread to an existing annotation |
AnnotationRemoveReplies | Remove replies by id, by user name, or all |
AnnotationImportAnnotations | Import annotations from XML or another annotated document |
AnnotationExportAnnotations | Extract annotations to XML (re-importable via Import) |
| Tool | Description |
|---|---|
SignatureSign | Sign with text / qrcode / barcode / digital certificate signature |
SignatureVerify | Verify signatures, return JSON validity report |
SignatureSearchTextSignatures | Find embedded text signatures with optional substring filter |
SignatureSearchBarcodes | Find barcode signatures with optional decoded-text filter |
SignatureSearchQrCodes | Find QR code signatures with optional decoded-text filter |
SignatureSearchDigitalSignatures | Find digital certificate signatures (signer, issuer, validity) |
SignatureSearchImageSignatures | Find embedded image signatures, return as base64 PNGs |
| Tool | Description |
|---|---|
ComparisonCompare | Compare two documents, produce annotated diff document |
ConversionConvert | Convert between PDF, Office, image, HTML, and 50+ more formats |
ConversionGetSupportedFormats | List every output format the document can be converted TO |
MarkdownConvertToMarkdown | Convert PDF / Office / EPUB / MOBI to clean Markdown |
MarkdownComposeFromMarkdown | Compose DOCX / PDF / HTML from Markdown source |
| Tool | Description |
|---|---|
MergerMerge | Combine up to 4 documents into one (PDF / Office / HTML / images) |
MergerSplit | Split a document into separate files by page numbers |
MetadataReadMetadata | Read all metadata properties (author, title, EXIF, XMP, IPTC, custom) as JSON |
MetadataRemoveMetadata | Strip all metadata and save a clean copy |
| Tool | Description |
|---|---|
ParserExtractText | Extract plain text (page-by-page or whole document) |
ParserExtractImages | Extract embedded images and save them to storage |
ParserExtractTables | Extract tables as Markdown or JSON |
ParserExtractMetadata | Extract metadata fields (separate from MetadataReadMetadata; Parser-format-aware) |
ParserExtractBarcodes | Find and decode embedded barcodes in document pages |
RedactionRedactText | Redact text matching a regex with a replacement string |
RedactionRedactImageArea | Black out a rectangular region of a document page |
RedactionRedactAnnotations | Redact or delete annotations matching a regex |
RedactionEraseMetadata | Strip metadata via the Redaction engine (handles formats Metadata can't) |
WatermarkAddWatermark | Add a text watermark with configurable font, rotation, opacity |
WatermarkSearchWatermarks | List existing watermarks (type, text, position, page) as JSON |
WatermarkRemoveWatermarks | Remove watermarks by text filter or all |
The MCP server itself is MIT; the underlying GroupDocs engines require a license for production use. Without one the server runs in evaluation mode:
To lift the limits, mount your GroupDocs.Total.lic into the container and point GROUPDOCS_LICENSE_PATH at it (see the Claude Desktop example above):
| Variable | Description | Default |
|---|---|---|
GROUPDOCS_MCP_STORAGE_PATH | Base folder for input and output files | current directory |
GROUPDOCS_MCP_OUTPUT_PATH | *(Optional)* separate folder for output files | GROUPDOCS_MCP_STORAGE_PATH |
GROUPDOCS_LICENSE_PATH | Path to GroupDocs license file | (evaluation mode) |
{
"mcpServers": { "groupdocs-total": { "command": "docker", "args": ["run", "--rm", "-i", "-v", "/path/to/documents:/data", "ghcr.io/groupdocs-total/total-net-mcp:latest"] } } }
To use a license, add `"-v", "/path/to/license-folder:/license", "-e",
"GROUPDOCS_LICENSE_PATH=/license/GroupDocs.Total.lic"` before the image name.
To pin a version, replace
:latestwith the release tag.
Use the Install in VS Code button above, or add to .vscode/mcp.json (also in install/generated/vscode-mcp.json):
{
"inputs": [ { "type": "promptString", "id": "storage_path", "description": "Base folder for input and output files.", "password": false } ], "servers": { "groupdocs-total": { "command": "docker", "args": ["run", "--rm", "-i", "-v", "${input:storage_path}:/data", "ghcr.io/groupdocs-total/total-net-mcp:latest"] } } }
cd docker
docker compose up
Edit docker/docker-compose.yml to point volumes at your local documents folder.
MIT — see LICENSE