Puedes pedir a un LLM o agente de IA que extraiga datos de documentos y que la respuesta provenga de un motor de documentos, no de la lectura del modelo de un archivo pegado. Con el servidor GroupDocs.Parser.Mcp ejecutándose localmente en un contenedor Docker, una sola solicitud devuelve el texto, una tabla, las imágenes incrustadas o el valor de un código de barras:
¿Qué dice invoice.pdf y qué contiene su tabla?
La versión paso a paso con configuración y solución de problemas está en la documentación: How to extract document data with AI agents using MCP.
¿Por qué un agente de IA necesita una herramienta de extracción?
Un modelo de chat solo conoce lo que se coloca en su ventana de contexto. Pegas un PDF en un chat y el modelo trabaja con el texto que el cliente logró aplanar, por lo que las columnas se colapsan, los escaneos aparecen vacíos y nadie puede saber cuál de los dos ocurrió. Un servidor de extracción mueve ese paso fuera del modelo: el agente llama a una herramienta, un motor de documentos lee el archivo dentro del contenedor y el agente recibe el resultado. El modelo entonces hace lo que mejor sabe hacer, que es razonar sobre los valores que se le entregan.
GroupDocs.Parser.Mcp expone siete herramientas a clientes compatibles con MCP como Claude Desktop, Claude Code, Cursor, VS Code con GitHub Copilot y Windsurf. Cinco extraen datos (extract_text, extract_tables, extract_images, extract_barcodes, extract_metadata), una inspecciona (get_document_info) y una informa del licenciamiento (get_license_status).
Forma 1: Preguntar por el valor y dejar que el agente elija la herramienta
Formula la solicitud como una pregunta sobre el documento. El agente asigna la pregunta a una herramienta.
| Pregunta | Herramienta que llama el agente |
|---|---|
| “¿Qué dice?” | extract_text |
| “¿Qué hay en la tabla?” | extract_tables |
| “¿Quién lo escribió y cuándo?” | extract_metadata |
| “Guarda las figuras.” | extract_images |
| “¿Qué codifica el código de barras?” | extract_barcodes |
extract_text admite PDF, DOCX, XLSX, PPTX, TXT, HTML, CSV, EML, MSG, RTF, ODT, EPUB y más de 50 formatos adicionales, por lo que la misma solicitud funciona tanto en un correo electrónico como en una hoja de cálculo. Las salidas muy grandes se truncan con un marcador, así que para un informe extenso solicita página por página:
Extrae el texto de este informe de 40 páginas página por página y resume cada sección.
Ejemplo de sesión (abreviado):
You: What does invoice.pdf say, and what is in its table?
Agent: [calls extract_text, extract_tables]
Invoice 2026-0412 from Northwind Supplies, dated 3 October.
The table has 3 rows (item, quantity, amount); the amounts add up to 1,240.00.
Forma 2: Verificar la capa de texto antes de confiar en un resultado vacío
Un PDF creado digitalmente lleva una capa de texto; un escaneo no. En una página escaneada extract_text devuelve poco o nada, lo cual es una declaración correcta sobre el archivo. Haz que el agente pruebe esto antes de extraer:
¿Cuántas páginas tiene y tiene texto extraíble?
get_document_info devuelve el nombre del archivo, tipo, número de páginas y tamaño sin modificar nada, y una llamada de una página a extract_text muestra si existe texto. Dos llamadas baratas separan “este archivo está vacío” de “este archivo es una imagen”. No hay paso de OCR en este servidor, por lo que las palabras impresas en un escaneo permanecen como píxeles. Los códigos son la excepción, y la Forma 3 los cubre.
Forma 3: Extraer lo que la extracción de texto no puede alcanzar
Tablas, imágenes y códigos de barras tienen cada una una herramienta dedicada, porque aplanarlos a texto pierde lo que los hace útiles.
extract_tablesdevuelve tablas Markdown que se renderizan en el chat, o filas JSON cuando pasasformat: "json".extract_imagesguarda cada imagen incrustada en la carpeta de salida como<basename>_image<N>.<ext>.extract_barcodesdecodifica Code128, QR Code, PDF417, DataMatrix, EAN-13, EAN-8, UPC, Aztec y más, incluso en páginas escaneadas, porque los modelos del motor detectan códigos en la imagen rasterizada.
Extrae los ítems de línea de invoice.pdf como JSON, luego guarda las imágenes de la página 1.
¿Necesita el agente extracción o conversión?
Son trabajos diferentes, y elegir el servidor equivocado genera confusión.
| Lo que deseas | Servidor |
|---|---|
| Valores de un documento: texto, una tabla, un código de barras, propiedades | GroupDocs.Parser.Mcp |
| El documento en otro formato, con el diseño preservado | GroupDocs.Conversion.Mcp |
| Markdown limpio de todo el documento para RAG | GroupDocs.Markdown.Mcp |
| Metadatos editados o eliminados, no solo leídos | GroupDocs.Metadata.Mcp |
Muchas canalizaciones usan dos servidores: convertir para ingestión, parsear para extracción.
Ejecutarlo localmente con Docker
Este servidor se distribuye solo como una imagen Docker. El motor incorpora alrededor de 234 MB de modelos ONNX, lo que supera el límite de 250 MB de un paquete NuGet, por lo que no hay comando dnx. Monta una carpeta de documentos como /data:
docker run --rm -i -v $(pwd)/documents:/data \
ghcr.io/groupdocs-parser/parser-net-mcp:latest
Tu cliente de IA inicia el contenedor como proceso hijo sobre stdio. No hay puertos de entrada, y los documentos permanecen en la máquina. La configuración por cliente para Claude Desktop, Claude Code, VS Code, Cursor, Windsurf, Cline y Codex está en Register in AI clients.
¿Cuáles son los límites?
- Modo de evaluación. Sin una licencia, la extracción está limitada; los límites exactos están en la página de licencias de la biblioteca. Pide al agente que ejecute
get_license_statusprimero y trata la salida sin licencia como una prueba rápida, no como una lectura completa. - Sin OCR. El texto en un escaneo no puede extraerse.
- Solo Docker. Necesitas Docker instalado; la imagen es grande, así que descárgala una sola vez.
FAQ
¿Puedo extraer texto de un PDF con Claude localmente, sin subirlo?
Sí. El servidor se ejecuta en un contenedor en tu máquina y Claude Desktop se comunica con él a través de stdio, por lo que el archivo se lee desde la carpeta montada y no se envía a un servicio de extracción.
¿Por qué el agente no devuelve nada para algunos PDFs?
Probablemente el archivo sea un escaneo sin capa de texto. Pide al agente que ejecute get_document_info y una llamada de una página a extract_text para confirmarlo, luego usa extract_barcodes para códigos o una herramienta OCR para palabras.
¿Existe un comando dnx para GroupDocs.Parser.Mcp?
No. Este producto es solo Docker, por lo que cada instalación usa docker run o una entrada de cliente MCP que lanza Docker.
Profundizar
- Documentación, guía canónica: How to extract document data with AI agents using MCP
- Centro de documentación: GroupDocs.Parser MCP Server
- Próximo: Tables out of PDFs, into JSON, without an LLM guessing the cells
- Próximo: Enforce consistent data capture with automated extraction workflows using MCP
- Próximo: Scan-to-record automation with AI agents
- Modelo on‑premise y de seguridad: 3 architectures for AI document processing, and the one that keeps files inside your network
- Preguntas: GroupDocs Parser forum
- Fuente: GroupDocs.Parser.Mcp on GitHub