Un LLM solo puede recuperar lo que la etapa de ingestión preservó, por lo que el primer trabajo de una canalización RAG es convertir archivos Word, PDF, Excel y e‑book a Markdown limpio. Con GroupDocs.Markdown.Mcp un agente de IA hace eso localmente, desde Claude Desktop, Claude Code, Cursor o cualquier otro cliente MCP, y los archivos nunca salen de su máquina:

Convertir cada PDF en esta carpeta a Markdown, imágenes como archivos, con front matter.

La versión paso a paso con configuración y solución de problemas está en la documentación: Cómo convertir documentos a Markdown para RAG con un agente de IA.

¿Por qué la mayoría de las canalizaciones RAG comienzan con el paso de conversión incorrecto?

El hábito habitual es tratar la conversión como una tubería: enviar los archivos al parser más cercano, aceptar cualquier texto que regrese y dedicar el esfuerzo a los embeddings. Eso invierte el orden de importancia. Un fragmentador divide por encabezados, una tabla que llega como una secuencia de valores de celdas no responde a ninguna pregunta, y un corpus subido a un parser de terceros es una divulgación que no planeaste. Cuando la recuperación es deficiente, la causa puede estar en el primer archivo que la canalización tocó.

Esta publicación propone tres correcciones: mantener el paso en tu propia máquina, elegir las opciones de salida de forma intencional y verificar el resultado en lugar de confiar en él.

¿Es un parser en la nube el lugar adecuado para la ingestión de documentos?

Para un corpus interno, generalmente no. La ingestión es la única etapa que ve cada documento que posees: políticas, listas de precios, análisis post‑mortem. Un servicio de parsing que los recibe a todos ha visto todo el archivo, no un solo archivo.

GroupDocs.Markdown.Mcp usa el transporte MCP stdio. Tu cliente de IA inicia el servidor como un proceso hijo, y la ruta de datos es agente, servidor local, sistema de archivos local. El servidor no tiene puertos entrantes, ni puntos finales externos y no tiene telemetría. Solo lo que el agente escribe en sus respuestas viaja al proveedor del modelo. La licencia por consumo es el único caso que necesita tráfico saliente: informa el uso, nunca el contenido del documento, y un archivo de licencia funciona sin conexión.

Inícialo con Docker:

docker run --rm -i -v $(pwd)/documents:/data \
  ghcr.io/groupdocs-markdown/markdown-net-mcp:latest

o, con el SDK .NET 10, dnx GroupDocs.Markdown.Mcp --yes. Apunta GROUPDOCS_MCP_STORAGE_PATH a la carpeta que contiene el corpus.

¿Qué servidor de GroupDocs convierte a Markdown: Markdown o Conversion?

Ambos pueden producir Markdown, y responden a preguntas diferentes.

Necesitas Usa
Markdown que conserva la estructura, con control sobre imágenes, sabor, selección de páginas y front matter GroupDocs.Markdown.Mcp (this server)
Markdown como uno de muchos destinos, o DOCX a PDF a XLSX en el mismo flujo de trabajo GroupDocs.Conversion.Mcp, que cubre más de 100 formatos en ambas direcciones

Si Markdown es el destino y su calidad importa, elige el motor dedicado. Si conviertes entre muchos formatos y Markdown es solo uno de ellos, elige el conversor general; su ruta PDF está cubierta en 3 formas de convertir PDFs a Markdown listo para LLM (y por qué lo local gana).

¿Qué hace que Markdown sea el mejor formato para la ingestión RAG?

Los encabezados sobreviven, las tablas siguen siendo tablas, las listas siguen siendo listas. Esas son las unidades con las que trabaja un fragmentador y un incrustador. El servidor convierte DOCX, DOC, RTF, ODT, XLSX, XLS, ODS, CSV, TSV, EPUB, MOBI, TXT, CHM y más de 20 formatos adicionales mediante una única herramienta, convert_to_markdown. Las fuentes de la familia Word se convierten de forma más limpia porque su estructura es explícita en el archivo. Las hojas de cálculo se convierten en tablas Markdown.

Tres opciones son importantes para un índice:

Opción Configuración para ingestión Razón
images "file", o "skip" solo para prosa El base64 predeterminado inserta un URI de datos de varios megabytes en medio de un fragmento
frontMatter true YAML con título, autor, formato y recuento de páginas se convierte en metadatos del fragmento, de modo que una respuesta pueda citar el título del documento y no el nombre del archivo
flavor "github" (predeterminado) o "commonmark" Coincidir con el parser que lee el resultado

Sesión de ejemplo (abreviada)

You:   Before converting anything: what is the license status of the markdown server?
Agent: get_license_status -> mode: licensed, engine GroupDocs.Markdown 26.3, server 26.9.0.
You:   Convert every PDF in this folder to Markdown, images as files, with front matter.
Agent: convert_to_markdown (images: "file", frontMatter: true) for each PDF.
       Saved one .md per document, with extracted images alongside.
You:   For each converted file, give me the source page count and the Markdown length.
Agent: get_document_info for each source, then the length of each saved .md.
       One 300-page file produced only 4 KB of Markdown: likely a scan.

¿Cómo reviso el corpus antes de indexarlo?

Trata la ejecución como no confiable hasta que la hayas revisado. Un prompt captura la mayoría de los fallos:

Para cada archivo convertido, dime el recuento de páginas de origen y la longitud del Markdown resultante.

get_document_info devuelve fileName, fileFormat, pageCount, title, author e isEncrypted sin convertir, por lo que el agente puede comparar el recuento de páginas con lo que escribió. Un manual de 300 páginas que se convirtió en 4 KB de Markdown es un escaneo o una ejecución truncada.

Los PDFs escaneados son un límite estricto. No tienen capa de texto, y este servidor no tiene paso de OCR; maneja esos archivos por separado.

Límites honestos: el tope de evaluación

Sin una licencia, el servidor se ejecuta en modo de evaluación, donde solo se procesan las primeras 3 páginas, con una marca de agua de evaluación en cada una. La salida es Markdown válido y nada informa que el resto se omitió, por lo que un índice construido de esta manera parece completo y está casi vacío. Haz que get_license_status sea la primera llamada de cada ejecución de ingestión.

Preguntas frecuentes

¿Cuál es el mejor formato para la ingestión RAG?

Markdown es una opción sólida porque los fragmentadores y los incrustadores manejan bien los encabezados, listas y tablas. Usa images: "file" y frontMatter: true para que los fragmentos no contengan base64 y mantengan sus metadatos de origen.

¿Puedo convertir Word a Markdown para un LLM sin subir los documentos?

Sí. GroupDocs.Markdown.Mcp se ejecuta como un proceso local sobre stdio, y el agente lee los archivos de la carpeta que configuraste.

¿Convierte un PDF a Markdown para una base de datos vectorial?

Convierte PDFs que tienen capa de texto, con encabezados, listas y tablas recuperadas cuando la fuente lo permite. Los PDFs escaneados no tienen texto para convertir, y no hay paso de OCR.

Profundiza