An LLM kan alleen ophalen wat de ingestap bewaarde, dus de eerste taak van een RAG‑pipeline is het omzetten van Word-, PDF-, Excel- en e‑book‑bestanden naar schone Markdown. Met GroupDocs.Markdown.Mcp doet een AI‑agent dat lokaal, vanaf Claude Desktop, Claude Code, Cursor of elke andere MCP‑client, en de bestanden verlaten nooit uw machine:
Converteer elke PDF in deze map naar Markdown, afbeeldingen als bestanden, met front‑matter.
De stapsgewijze versie met configuratie en probleemoplossing staat in de documentatie: Hoe documenten te converteren naar Markdown voor RAG met een AI‑agent.
Waarom beginnen de meeste RAG‑pipelines met de verkeerde conversiestap?
De gebruikelijke gewoonte is om conversie te behandelen als pijpleiding: stuur de bestanden naar welke parser dan ook het dichtstbij is, accepteer welke tekst dan ook terugkomt, en besteed de moeite aan embeddings. Dat keert de volgorde van belangrijkheid om. Een chunker splitst op koppen, een tabel die als een stroom van celwaarden aankomt beantwoordt geen enkele vraag, en een corpus dat naar een parser van een derde partij wordt geüpload is een openbaarmaking die u niet had gepland. Wanneer ophalen slecht is, kan de oorzaak in het eerste bestand liggen dat de pipeline heeft aangeraakt.
Dit bericht pleit voor drie correcties: houd de stap op uw eigen machine, kies output‑opties bewust, en verifieer het resultaat in plaats van erop te vertrouwen.
Is een cloud‑parser de juiste plek voor document‑ingestie?
Voor een interne corpus, meestal niet. Ingestie is de enige fase die elk document dat u bezit ziet: beleidsdocumenten, prijslijsten, post‑mortems. Een parse‑service die ze allemaal ontvangt heeft het volledige archief gezien, niet één enkel bestand.
GroupDocs.Markdown.Mcp gebruikt het MCP stdio‑transport. Uw AI‑client start de server als een child‑process, en het datapad is agent, lokale server, lokaal bestandssysteem. De server heeft geen inkomende poorten, geen externe eindpunten en geen telemetrie. Alleen wat de agent schrijft in zijn antwoorden reist naar de modelprovider. Metered licensing is het enige geval dat uitgaand verkeer nodig heeft: het rapporteert gebruik, nooit documentinhoud, en een licentiebestand werkt offline.
Start het met Docker:
docker run --rm -i -v $(pwd)/documents:/data \
ghcr.io/groupdocs-markdown/markdown-net-mcp:latest
of, met de .NET 10 SDK, dnx GroupDocs.Markdown.Mcp --yes. Wijs GROUPDOCS_MCP_STORAGE_PATH naar de map die de corpus bevat.
Welke GroupDocs‑server converteert naar Markdown: Markdown of Conversion?
Beide kunnen Markdown produceren, en ze beantwoorden verschillende vragen.
| Wat u nodig heeft | Gebruik |
|---|---|
| Markdown die de structuur behoudt, met controle over afbeeldingen, flavor, paginaselectie en front‑matter | GroupDocs.Markdown.Mcp (deze server) |
| Markdown als een van de vele doelen, of DOCX naar PDF naar XLSX in dezelfde workflow | GroupDocs.Conversion.Mcp, dat meer dan 100 formaten in beide richtingen ondersteunt |
Als Markdown de bestemming is en de kwaliteit ervan belangrijk is, kies dan de toegewijde engine. Als u tussen veel formaten converteert en Markdown slechts één van hen is, kies dan de algemene converter; de PDF‑route wordt behandeld in 3 ways to turn PDFs into LLM-ready Markdown (and why local wins).
Wat maakt Markdown het beste formaat voor RAG‑ingestie?
Koppen blijven behouden, tabellen blijven tabellen, lijsten blijven lijsten. Dat zijn de eenheden waarmee een chunker en een embedder werken. De server converteert DOCX, DOC, RTF, ODT, XLSX, XLS, ODS, CSV, TSV, EPUB, MOBI, TXT, CHM en meer dan 20 andere formaten via één tool, convert_to_markdown. Bronnen uit de Word‑familie converteren het schoonst omdat hun structuur expliciet in het bestand staat. Werkblad‑sheets worden Markdown‑tabellen.
Drie opties zijn belangrijk voor een index:
| Optie | Instelling voor ingestie | Reden |
|---|---|---|
images |
"file", of "skip" voor alleen proza |
De standaard base64 plaatst een multi‑megabyte data‑URI in het midden van een chunk |
frontMatter |
true |
YAML met titel, auteur, formaat en paginatelling wordt chunk‑metadata, zodat een antwoord een documenttitel kan citeren en niet een bestandsnaam |
flavor |
"github" (standaard) of "commonmark" |
Stem overeen met de parser die het resultaat leest |
Voorbeeldsessie (verkort)
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.
Hoe controleer ik de corpus voordat ik deze indexeer?
Behandel de run als onbetrouwbaar totdat u ernaar heeft gekeken. Eén prompt vangt de meeste fouten:
Voor elk geconverteerd bestand, vertel me het aantal bronpagina’s en de resulterende Markdown‑lengte.
get_document_info retourneert fileName, fileFormat, pageCount, title, author en isEncrypted zonder te converteren, zodat de agent het paginacount kan vergelijken met wat hij schreef. Een handleiding van 300 pagina’s die 4 KB Markdown opleverde is een scan of een afgekorte run.
Gescannde PDF’s vormen een harde limiet. Ze hebben geen tekstlaag, en deze server heeft geen OCR‑stap; behandel die bestanden apart.
Eerlijke limieten: de evaluatie‑limiet
Zonder licentie draait de server in evaluatiemodus, waarbij alleen de eerste 3 pagina’s worden verwerkt, met een evaluatiewatermerk op elke pagina. De output is geldige Markdown en er wordt nergens gemeld dat de rest is overgeslagen, zodat een index die op deze manier is gebouwd compleet lijkt maar bijna leeg is. Maak get_license_status de eerste oproep van elke ingestierun.
FAQ
Wat is het beste formaat voor RAG‑ingestie?
Markdown is een sterke keuze omdat chunkers en embedders koppen, lijsten en tabellen goed verwerken. Gebruik images: "file" en frontMatter: true zodat chunks geen base64 bevatten en hun bron‑metadata behouden.
Kan ik Word naar Markdown converteren voor een LLM zonder de documenten te uploaden?
Ja. GroupDocs.Markdown.Mcp draait als een lokaal proces via stdio, en de agent leest de bestanden uit de map die u hebt geconfigureerd.
Zet het een PDF om naar Markdown voor een vector‑database?
Het converteert PDF’s die een tekstlaag hebben, met koppen, lijsten en tabellen die worden hersteld waar de bron dat toelaat. Gescande PDF’s hebben geen tekst om te converteren, en er is geen OCR‑stap.
Ga dieper
- Documentatie, canonieke handleiding: Hoe documenten te converteren naar Markdown voor RAG met een AI‑agent
- Documentatie‑hub: GroupDocs.Markdown MCP Server
- Volgende: 3 ways to pull just the section you need into Markdown with MCP
- Volgende: Automate a docs-as-code migration: the agent runs the conversion, you review
- Volgende: From documents to a static site: Hugo, Docusaurus or MkDocs via an AI agent
- On‑premise en beveiligingsmodel: 3 architectures for AI document processing, and the one that keeps files inside your network
- Vragen: GroupDocs Markdown forum
- Bron: GroupDocs.Markdown.Mcp on GitHub