Wraps the GroupDocs.Redaction .NET library so Claude and other MCP clients can scrub sensitive data from documents on demand. Exposes five tools: RedactText for pattern matching, EraseMetadata for stripping author and company fields, RedactAnnotations for removing comments, RedactImageArea for drawing solid boxes over page regions, and GetDocumentInfo for inspecting file structure. Runs via dnx with no install step, as a global dotnet tool, or in Docker. Writes redacted files back to disk with a _redacted suffix. You'll need libgdiplus on Linux and macOS for image redaction unless you use the Docker image. Useful when you want AI agents to handle document sanitization without leaving the chat interface or piping files through external scripts.
MCP server that exposes GroupDocs.Redaction as AI-callable tools for Claude, Cursor, GitHub Copilot, and other MCP agents.
Requires .NET 10 SDK.
Run directly with dnx (recommended — no install step):
dnx GroupDocs.Redaction.Mcp --yes
Pulls the latest stable release on every invocation. To pin to a specific
version (recommended for shared configs and CI), append @<version>:
dnx GroupDocs.Redaction.Mcp@26.5.1 --yes
Or install as a global dotnet tool:
dotnet tool install -g GroupDocs.Redaction.Mcp
groupdocs-redaction-mcp
Or run via Docker:
docker run --rm -i \
-v $(pwd)/documents:/data \
ghcr.io/groupdocs-redaction/redaction-net-mcp:latest
The underlying GroupDocs engine uses System.Drawing (GDI+) for image-area
redaction (drawing solid-color boxes over page regions). When you run the server
natively (via dnx or the global dotnet tool) on Linux or macOS, install
the native libgdiplus library first:
| Platform | Setup |
|---|---|
| Windows | Nothing — GDI+ is built into the OS. |
| Linux | sudo apt-get install -y libgdiplus libfontconfig1 |
| macOS | brew install mono-libgdiplus |
| Docker | Nothing — the image already bundles libgdiplus. |
Skipping this on Linux/macOS surfaces as DllNotFoundException: libgdiplus in
the tool response. The simplest zero-setup option on Linux/macOS is the
Docker image.
| Tool | Description |
|---|---|
RedactText | Redact text matching a regex pattern in a document; saves result as <name>_redacted.<ext> |
EraseMetadata | Erase document metadata fields (author, title, company, dates, and other properties) |
RedactAnnotations | Replace or delete annotations and comments in a document |
RedactImageArea | Cover a rectangular page region with a solid-color box (pixel coordinates) |
GetDocumentInfo | Return file type, page count, size, and per-page dimensions as JSON (no modification) |
| 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-redaction": {
"type": "stdio",
"command": "dnx",
"args": ["GroupDocs.Redaction.Mcp", "--yes"],
"env": {
"GROUPDOCS_MCP_STORAGE_PATH": "/path/to/documents"
}
}
}
}
To pin to a specific version, replace
"GroupDocs.Redaction.Mcp"with"GroupDocs.Redaction.Mcp@26.5.1"inargs. Pinning is recommended for shared / committed configs to avoid surprise upgrades.
NuGet.org generates a ready-to-use mcp.json snippet on the package page.
Copy it directly into your .vscode/mcp.json.
Alternatively, add manually to .vscode/mcp.json:
{
"inputs": [
{
"type": "promptString",
"id": "storage_path",
"description": "Base folder for input and output files.",
"password": false
}
],
"servers": {
"groupdocs-redaction": {
"type": "stdio",
"command": "dnx",
"args": ["GroupDocs.Redaction.Mcp", "--yes"],
"env": {
"GROUPDOCS_MCP_STORAGE_PATH": "${input:storage_path}"
}
}
}
}
Same pinning rule as above — swap
"GroupDocs.Redaction.Mcp"for"GroupDocs.Redaction.Mcp@26.5.1"to lock to a specific release.
cd docker
docker compose up
Edit docker/docker-compose.yml to point volumes at your local documents folder.
Step-by-step deployment guides and a published-package integration test suite live in the companion repo GroupDocs.Redaction.Mcp.Tests:
dnx, global tool, pinned vs always-latestThat repo also exercises every advertised tool against the published NuGet artifact on Linux, macOS, and Windows in CI — so the snippets above are verified end-to-end on every release.
MIT — see LICENSE
GROUPDOCS_MCP_STORAGE_PATHGROUPDOCS_MCP_OUTPUT_PATHGROUPDOCS_LICENSE_PATH