Un agente de IA no debe leer una tabla. Debe llamar a una herramienta que devuelva la tabla y luego hacer aritmética con las filas. Con GroupDocs.Parser.Mcp ejecutándose localmente en Docker, un cliente de IA como Claude Desktop o Cursor puede extraer tablas de archivos PDF, Word y Excel y recibirlas como JSON:
Extrae los artículos de invoice.pdf como JSON y totaliza la columna de importe.
La versión paso a paso con configuración y solución de problemas está en la documentación: Cómo extraer tablas de documentos a datos estructurados.
Qué sale mal cuando un modelo lee la tabla directamente?
El flujo de trabajo típico es pegar un PDF en un chat y solicitar la tabla. El modelo ve una secuencia aplanada de texto, infiere dónde estaban las columnas y escribe de nuevo las filas. Cada celda es entonces una predicción. Una columna omitida, una fila combinada o un decimal desplazado no generan un error; generan una tabla segura y bien formateada que está ligeramente equivocada. Para una lista de frutas eso no importa. Para los totales de facturas sí importa mucho.
El fallo es difícil de detectar porque la salida parece correcta. Nada en la respuesta del chat indica qué celdas se leyeron del archivo y cuáles se reconstruyeron.
¿Cuál es la alternativa a dejar que el modelo adivine?
Saque la lectura del modelo. La herramienta extract_tables detecta tablas con el motor de documentos y las devuelve como datos:
- Markdown por defecto, como secciones
### Table N (page N, R×C)que se renderizan directamente en el chat, VS Code y GitHub. - JSON con
format: "json", como un arreglo de objetos{ table, page, rows, columns, data }, dondedataes una cuadrícula de cadenas.
El modelo nunca transcribe una celda. Recibe data y trabaja con ella, por lo que su tarea se reduce a lo que hace de forma fiable: sumar, comparar, filtrar y explicar. La herramienta soporta PDF, DOCX, XLSX, PPTX y HTML, así que el mismo prompt cubre una factura de proveedor, un informe de Word y una hoja de cálculo.
¿Cómo obtener la tabla como JSON?
Indique el formato en el prompt.
Extrae los artículos como JSON y totaliza la columna de importe.
Example session (abridged)
You: Extract the line items from invoice-014.pdf as JSON and total the amount column.
Agent: [calls extract_tables with format "json"]
{"table": 1, "page": 1, "rows": 4, "columns": 3,
"data": [["Item", "Qty", "Amount"],
["Paper A4", "10", "48.00"],
["Toner", "2", "170.00"],
["Delivery", "1", "22.00"]]}
Total of the Amount column: 240.00 across 3 line items.
Como el agente conserva las filas, los siguientes pasos son preguntas habituales: cuál línea es la mayor, si el total coincide con la cifra impresa en el texto, escribir las filas a un CSV en la carpeta de salida. Cuando la aritmética importa, pida al agente que enumere las filas que sumó para que pueda verificarlas.
¿Cuándo deberías solicitar Markdown en lugar de JSON?
Utiliza Markdown cuando una persona leerá el resultado a continuación, y JSON cuando lo hará el código. Markdown es el valor predeterminado y es la forma más rápida de ver una tabla y juzgar si se encontró correctamente. Cambia a JSON para totales, verificaciones cruzadas y cualquier cosa que alimente una hoja de cálculo o una base de datos. Si sabes dónde está la tabla, restringe la llamada:
Extrae la tabla en la página 4.
El parámetro page restringe la detección a una página, lo que es más rápido y, bajo licencias con medición, más barato.
¿Qué casos aún requieren revisión humana?
Los límites honestos importan más con tablas que con texto plano.
- Los escaneos no tienen tablas que encontrar. Sin una capa de texto no hay estructura de tabla, y la extracción devuelve vacío. No hay OCR en este servidor.
- Los diseños complejos varían. Las celdas combinadas, tablas anidadas y tablas que continúan a través de páginas no siempre se conservan tan limpiamente como una cuadrícula simple. Realiza una verificación puntual de un documento antes de ejecutar doscientos.
- El modo de evaluación es limitado. Sin una licencia, la extracción está limitada; los límites exactos están en la página de licencias de la biblioteca. Pida al agente que llame a
get_license_statusantes de una ejecución real.
Instálalo con un solo comando
El servidor se distribuye solo como una imagen Docker, por lo que no existe el comando dnx. Regístrelo en Claude Code así, reemplazando la ruta con su carpeta de documentos:
claude mcp add groupdocs-parser -- docker run --rm -i \
-v /path/to/documents:/data ghcr.io/groupdocs-parser/parser-net-mcp:latest
Cursor, Claude Desktop, VS Code con GitHub Copilot, Windsurf, Cline y Codex usan el mismo contenedor con un archivo de configuración específico del cliente; cada uno está listado en Registrar en clientes de IA.
Preguntas frecuentes
¿Claude lee tablas PDF con precisión?
Eso depende del archivo y de cómo el cliente lo aplana, así que verifíquelo en lugar de asumir. Con extract_tables las filas provienen de la detección de tablas del motor de documentos, devueltas como una cuadrícula de cadenas, y Claude trabaja a partir de ellas.
¿Cómo extraigo una tabla de un PDF a Excel con IA?
Solicite la tabla como JSON, luego pida al agente que escriba las filas a un CSV en la carpeta de salida, que Excel abre. La conversión de filas a CSV es el paso del agente; los valores de las celdas provienen de la herramienta.
¿Puede extraer tablas de archivos Word y Excel localmente?
Sí. extract_tables maneja DOCX y XLSX además de PDF, y el contenedor lee los archivos de la carpeta que monte.
Profundiza
- Documentación, guía canónica: Cómo extraer tablas de documentos a datos estructurados
- Centro de documentación: GroupDocs.Parser MCP Server
- Referencia de herramienta:
extract_tablestool reference - Empieza aquí: 3 formas de extraer datos de documentos con agentes de IA y MCP (texto, tablas, imágenes)
- Relacionado: Imponer captura de datos consistente con flujos de extracción automatizados usando MCP
- Relacionado: Automatización de escaneo a registro con agentes de IA
- Modelo on-premise y de seguridad: 3 arquitecturas para procesamiento de documentos con IA, y la que mantiene los archivos dentro de su red
- Preguntas: GroupDocs Parser forum
- Fuente: GroupDocs.Parser.Mcp on GitHub