GroupDocs.Parser for .NET MCP server — extract text, tables, images, barcodes, and metadata from PDF, Word, Excel, PowerPoint, and image documents via AI agents.
- ✓Open-source license (MIT)
- ✓Actively maintained (<30d)
- ✓Clear description
- ✓Topics declared
- ✓Documented (README)
git clone https://github.com/groupdocs-parser/GroupDocs.Parser.McpResumen de MCP Servers
# GroupDocs.Parser MCP Server
MCP server that exposes [GroupDocs.Parser](https://products.groupdocs.com/parser) as AI-callable tools
for Claude, Cursor, GitHub Copilot, and other MCP agents.
[](https://github.com/orgs/groupdocs-parser/packages/container/package/parser-net-mcp)
[-6f42c1)](https://registry.modelcontextprotocol.io/v0/servers?search=io.github.groupdocs-parser/groupdocs-parser-mcp)
[](https://github.com/groupdocs-parser/GroupDocs.Parser.Mcp.Tests/actions/workflows/integration.yml)
[](LICENSE)
<!-- TODO(manual): record 30s demo per improvement-plan M1 -->
<!--  -->
## Installation
<!-- install-buttons:start - generated by install/generate-install-links.ps1; do not edit by hand -->
[](https://vscode.dev/redirect/mcp/install?name=groupdocs-parser&config=%7B%22command%22%3A%22docker%22%2C%22args%22%3A%5B%22run%22%2C%22--rm%22%2C%22-i%22%2C%22-v%22%2C%22%2Fpath%2Fto%2Fdocuments%3A%2Fdata%22%2C%22-e%22%2C%22GROUPDOCS_MCP_STORAGE_PATH%3D%2Fdata%22%2C%22-e%22%2C%22GROUPDOCS_MCP_OUTPUT_PATH%3D%2Fdata%22%2C%22-e%22%2C%22GROUPDOCS_LICENSE_PATH%3D%22%2C%22ghcr.io%2Fgroupdocs-parser%2Fparser-net-mcp%3Alatest%22%5D%7D) [](https://insiders.vscode.dev/redirect/mcp/install?name=groupdocs-parser&config=%7B%22command%22%3A%22docker%22%2C%22args%22%3A%5B%22run%22%2C%22--rm%22%2C%22-i%22%2C%22-v%22%2C%22%2Fpath%2Fto%2Fdocuments%3A%2Fdata%22%2C%22-e%22%2C%22GROUPDOCS_MCP_STORAGE_PATH%3D%2Fdata%22%2C%22-e%22%2C%22GROUPDOCS_MCP_OUTPUT_PATH%3D%2Fdata%22%2C%22-e%22%2C%22GROUPDOCS_LICENSE_PATH%3D%22%2C%22ghcr.io%2Fgroupdocs-parser%2Fparser-net-mcp%3Alatest%22%5D%7D&quality=insiders) [](https://cursor.com/en/install-mcp?name=groupdocs-parser&config=eyJjb21tYW5kIjoiZG9ja2VyIiwiYXJncyI6WyJydW4iLCItLXJtIiwiLWkiLCItdiIsIi9wYXRoL3RvL2RvY3VtZW50czovZGF0YSIsIi1lIiwiR1JPVVBET0NTX01DUF9TVE9SQUdFX1BBVEg9L2RhdGEiLCItZSIsIkdST1VQRE9DU19NQ1BfT1VUUFVUX1BBVEg9L2RhdGEiLCItZSIsIkdST1VQRE9DU19MSUNFTlNFX1BBVEg9IiwiZ2hjci5pby9ncm91cGRvY3MtcGFyc2VyL3BhcnNlci1uZXQtbWNwOmxhdGVzdCJdfQ%3D%3D) [](install/generated/codex.md) [](install/generated/windsurf.md)
> 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/`](install/generated/).
<!-- install-buttons:end -->
**This product ships via Docker (GHCR) only.** GroupDocs.Parser's managed DLL embeds ~234 MB of ONNX models, so the packed tool 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`).
```bash
docker run --rm -i \
-v $(pwd)/documents:/data \
ghcr.io/groupdocs-parser/parser-net-mcp:latest
```
Images are multi-arch (`linux/amd64` + `linux/arm64`), tagged `latest` plus an
immutable version tag per release (e.g. `:26.10.2`). To pin, replace `:latest`
with the version tag - recommended for shared configs and CI.
### Linux: run the container as your user
The image runs as a non-root user (uid 1654). On Linux a mounted folder keeps its host owner, so a
folder you own is **read-only** inside the container and `extract_images` cannot save its files — the
error ends with *"Fix: the server cannot write to the output folder"*. Add `--user` so the container
writes as you:
```bash
docker run --rm -i --user "$(id -u):$(id -g)" \
-v $(pwd)/documents:/data \
ghcr.io/groupdocs-parser/parser-net-mcp:latest
```
MCP client configs (JSON) do not run a shell, so put the numbers in directly — `id -u` and `id -g`
print them, typically `1000`: `"args": ["run", "--rm", "-i", "--user", "1000:1000", "-v", …]`.
Read-only tools (`extract_text`, `extract_tables`, `extract_metadata`, `extract_barcodes`,
`get_document_info`) work without it. Docker Desktop on Windows and macOS does not need this.
## Available MCP Tools
| Tool | Description |
|---|---|
| `extract_text` | Extracts plain text from a document (whole document or a single page). Truncates very large outputs. |
| `extract_images` | Extracts all embedded images and saves them to storage as `<basename>_image<N>.<ext>` files |
| `extract_metadata` | Extracts metadata (author, title, dates, custom properties, EXIF, XMP, IPTC) and returns it as JSON |
| `extract_tables` | Extracts tables from a document as Markdown (default — renders in chat) or structured JSON |
| `extract_barcodes` | Detects all barcodes / QR codes and returns their decoded values, types, and positions as JSON |
| `get_document_info` | Returns the file type, page count, and size of a document as JSON (without modifying it) |
| `get_license_status` | Reports the active licensing mode (evaluation / licensed / metered), the engine version, and — under metered — the consumed quantity and credit. Processes no document. |
All tools support PDF, DOCX, XLSX, PPTX, HTML, EPUB, MSG, EML, JPG, PNG, TIFF, and 50+ more document and image formats.
## Example prompts for AI agents
Copy any of these into Claude Desktop, Cursor, or GitHub Copilot Chat after the
server is connected.
1. **Get a document's structure**: *"How many pages does invoice.pdf have, and what format is it?"*
2. **Pull a text snippet**: *"Extract the text from page 2 of contract.docx."*
3. **Mine the metadata**: *"What's the author and creation date of report.xlsx?"*
4. **Read a structured table**: *"Pull the line items table out of invoice.pdf as Markdown."*
5. **Scan for barcodes**: *"Are there any QR codes in shipping-label.png? If so, what do they decode to?"*
## Licensing
**The MCP server itself is MIT; the underlying GroupDocs.Parser engine requires a license
for production use.** Without one the server runs in **evaluation mode**, and the limits bite
hard for extraction — the output looks valid and is silently incomplete:
- **Text extraction: only the first 1,600 characters and 20 lines per file**, and only the first
5 pages, sheets or slides. Formatted-text and structure extraction add a 20-row cap for
spreadsheets.
- **Metadata extraction: only 5 properties per file.**
- Only 100 files per session, and outputs carry evaluation marks.
- Full list: [evaluation limitations](https://docs.groupdocs.com/parser/net/evaluation-limitations-and-licensing/).
There are two ways to license the server.
**License file** — mount your `GroupDocs.Parser.lic` (or `GroupDocs.Total.lic`) into the container
and point `GROUPDOCS_LICENSE_PATH` at it, as in the Claude Desktop example above. Works offline.
**Metered (pay-per-use)** — set both `GROUPDOCS_METERED_PUBLIC_KEY` and
`GROUPDOCS_METERED_PRIVATE_KEY`. You are billed for what you actually process, which suits AI
agents well because their usage is bursty and hard to predict up front. If both a metered key pair
and a license file are configured, **metered wins** and the file is ignored.
> **Metered mode needs outbound connectivity.** Usage is reported to GroupDocs servers, so
> air-gapped or firewalled deployments must allow that egress — or use a license file instead.
Call the **`get_license_status`** tool at any time to see which mode is active, and — under
metered — the consumed quantity and remaining credit. It processes no document and changes
nothing, so it is the cheapest way to confirm a setup before a real run.
### Keeping the private key out of your config
The metered private key is a secret. MCP client configs are plain files on disk, and a
project-scoped `.mcp.json` is committed by convention, so prefer, in order:
1. **Set the variables in your OS environment and leave them out of the config entirely.** An
stdio MCP server inherits its client's environment, so this works in every client.
On macOS note that an app launched from Finder does not inherit shell exports — use
`launchctl setenv`, or launch the client from a terminal.
2. **Reference them indirectly** if your client supports it (Claude Code expands `${VAR}`;
VS Code uses `${env:VAR}` and `${input:...}`).
3. **A literal value in a user-scoped config** (for example `~/.claude.json`) is acceptable for a
single developer.
4. **Never** commit a literal key in a project-scoped `.mcp.json`.
For Docker, forward the values without writing them into any file — the names alone, so the keys
never appear in the command line:
```bash
docker run --rm -i \
-e GROUPDOCS_METERED_PUBLIC_KEY -e GROUPDOCS_METERED_PRIVATE_KEY \
-v /path/to/documents:/data \
ghcr.io/groupdocs-parser/parser-net-mcp:latest
```
- [Get a free 30-day temporary license](https://purchase.groupdocs.com/temporary-license/)
- [Purchase a license](https://purchase.groupdocs.com/pricing/parser/net) | [Product page](https://products.groupdocs.com/parser/net/)
## Configuration
| 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 (used by `extract_images`) | `GROUPDOCS_MCP_STORAGE_PATH` |
| `GROUPDOCS_LICENSE_PATH` | Path to a GroupLo que la gente pregunta sobre GroupDocs.Parser.Mcp
¿Qué es groupdocs-parser/GroupDocs.Parser.Mcp?
+
groupdocs-parser/GroupDocs.Parser.Mcp es mcp servers para el ecosistema de Claude AI. GroupDocs.Parser for .NET MCP server — extract text, tables, images, barcodes, and metadata from PDF, Word, Excel, PowerPoint, and image documents via AI agents. Tiene 0 estrellas en GitHub y su última actualización registrada es del 2026-10-15.
¿Cómo se instala GroupDocs.Parser.Mcp?
+
Puedes instalar GroupDocs.Parser.Mcp clonando el repositorio (https://github.com/groupdocs-parser/GroupDocs.Parser.Mcp) o siguiendo las instrucciones del README en GitHub. ClaudeWave también te ofrece bloques de instalación rápida en esta misma página.
¿Es seguro usar groupdocs-parser/GroupDocs.Parser.Mcp?
+
Nuestro agente de seguridad ha analizado groupdocs-parser/GroupDocs.Parser.Mcp y le ha asignado un Trust Score de 95/100 (tier: Verified). Revisa el desglose completo de comprobaciones superadas y flags en esta página.
¿Quién mantiene groupdocs-parser/GroupDocs.Parser.Mcp?
+
groupdocs-parser/GroupDocs.Parser.Mcp es mantenido por groupdocs-parser. La última actividad registrada en GitHub es del 2026-10-15, con 0 issues abiertos.
¿Hay alternativas a GroupDocs.Parser.Mcp?
+
Sí. En ClaudeWave puedes explorar mcp servers similares en /categories/mcp, ordenados por popularidad o actividad reciente.
Despliega GroupDocs.Parser.Mcp en tu cloud
Lleva este repo a producción en minutos. Cada plataforma genera su propio entorno con variables de entorno editables.
¿Mantienes este repo? Añade un badge a tu README
Pega el badge en tu README de GitHub para mostrar que está auditado por ClaudeWave. Cada badge enlaza de vuelta a esta página y muestra el Trust Score actual.
[](https://claudewave.com/repo/groupdocs-parser-groupdocs-parser-mcp)<a href="https://claudewave.com/repo/groupdocs-parser-groupdocs-parser-mcp"><img src="https://claudewave.com/api/badge/groupdocs-parser-groupdocs-parser-mcp" alt="Featured on ClaudeWave: groupdocs-parser/GroupDocs.Parser.Mcp" width="320" height="64" /></a>Más MCP Servers
Reverse engineer anything with agents, from app behavior down to native binaries.
Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.
User-friendly AI Interface (Supports Ollama, OpenAI API, ...)
An open-source AI agent that brings the power of Gemini directly into your terminal.
Real-time global intelligence dashboard. AI-powered news aggregation, geopolitical monitoring, and infrastructure tracking in a unified situational awareness interface
🕷️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl! Don't be shy, join here: https://discord.gg/EMgGbDceNQ and follow here for daily tips and tricks: https://x.com/Scrapling_dev