Můžete nechat AI agenta podívat se na stránku dokumentu místo toho, aby četl textový výpis. Server GroupDocs.Viewer.Mcp vykreslí libovolnou stránku PDF, Word, Excel nebo PowerPoint souboru jako PNG a vrátí ji agentovi, a to lokálně na vašem počítači:
Kolik stránek má soubor report.pdf? Pak mi ukaž poslední.
Postupná verze s konfigurací a řešením problémů je v dokumentaci: How to let an AI agent see document pages.
Proč selhává extrakce textu u reálných dokumentů?
Extraktor textu vrací znaky ve čtecím pořadí. Nevrací sloupcový graf mezi dvěma odstavci, razítko „APPROVED“ v rohu, rozložení sloupců cenové tabulky ani stránku, která je naskenovaná a neobsahuje žádné znaky. Agent pracující s tímto výstupem odpovídá sebejistě o dokumentu, který viděl jen z poloviny, a chybějící polovina je obvykle ta část, na kterou se ptáte.
Oprava není lepší prompt. Jde o jiný vstup: stránku jako obrázek, předanou modelu, který přijímá vstup ve formě obrázku.
Špatný přístup: posílat vše přes extraktor textu
Obvyklý výchozí postup je převést dokument na text, vložit text do kontextového okna a klást otázky. Funguje pro prose. Selže ve čtyřech ohledech, které můžete ověřit na libovolném svém dokumentu:
- Rozložení zmizí, takže otázka „je celková částka ve pravém sloupci?“ nemůže být zodpovězena.
- Čísla v grafech a diagramech zmizí, protože jsou kreslená, nepsaná.
- Razítka, podpisy a ručně psaný text zmizí.
- Naskenovaný PDF neobsahuje žádný text.
Model nemůže opravit informace, které byly ztraceny ještě před tím, než dokument viděl.
Správný přístup: vykreslit stránku PDF jako obrázek pro LLM
render_page vykreslí jednu stránku jako PNG, vrátí obrázek inline agentovi a uloží kopii do výstupní složky jako <name>_page<N>.png. Server podporuje více než 170 formátů, včetně PDF, DOCX, XLSX, PPTX, ODT, RTF, HTML, EML a MSG. Model s vizuálními schopnostmi pak vidí stránku tak, jak byste ji viděli vy.
Agent by neměl hádat čísla stránek, proto kombinuje render_page s get_view_info, který vrací typ souboru, počet stránek a velikost každé stránky, aniž by cokoli vykresloval. Třetí nástroj, get_license_status, hlásí aktivní licenční režim.
Jak spustím server pro Claude, Cursor nebo Copilot?
Docker image je samostatný:
docker run --rm -i -v $(pwd)/documents:/data \
ghcr.io/groupdocs-viewer/viewer-net-mcp:latest
S nainstalovaným .NET 10 SDK můžete spustit stejný server bez Dockeru pomocí dnx GroupDocs.Viewer.Mcp --yes. Zaregistrujte jej v Claude Desktop, Claude Code, Cursor, VS Code s GitHub Copilot, Windsurf a dalších klientech; stránka hubu uvádí přesnou konfiguraci pro každý případ. Klient spustí server jako podřízený proces a komunikuje s ním přes standardní vstup a výstup, takže není potřeba žádný vstupní port ani zabezpečený endpoint.
Ukázková relace
Jedná se o ilustraci postavenou na zdokumentovaném chování obou nástrojů, ne o zachycený screenshot.
You: How many pages does report.pdf have? Then show me the last one.
Agent: [calls get_view_info on report.pdf]
report.pdf is a PDF with 2 pages, both 162 x 792 points (US Letter).
[calls render_page with page = 2]
Page 2 of 'report.pdf' Saved to: <output folder>/report_page2.png
Here is what page 2 shows: ...
Obrázek se zobrazí inline v klientech, které jej podporují. Textová odpověď je popis agenta toho, co na stránce vidí.
Co rozhodne agent a co dělá engine?
Agent rozhodne, která stránka odpovídá na otázku a co se má modelu o ní zeptat. Engine provádí část, která musí být přesná: otevření souboru, stránkování podle toho, jak dokument stránkuje, a vytvoření PNG. Model už nikdy nemusí hádat rozložení stránky, protože dostane vykreslenou stránku.
Upřímná omezení
- Evaluační režim. Bez licence mají vykreslené stránky evaluační vodoznak a serverový proces otevře maximálně 15 dokumentů. Vodoznak může zakrýt detail, na který se ptáte. Zeptejte se agenta „Je server Viewer licencovaný?“, aby zavolal
get_license_statusdříve, než se spolehnete na výstup. - Pouze PNG. Výstup je PNG obrázek; není k dispozici žádná volba formátu.
- Žádná kontrola čísla stránky.
render_pageneodmítne číslo stránky mimo rozsah. Nejprve zkontrolujte počet pomocíget_view_info. - Model musí přijímat obrázky. U modelu, který pracuje jen s textem, agent stále získá cestu k uloženému souboru, ale nedokáže vám říct, co je na stránce.
- Obrázky jsou velké. Každá stránka je inline PNG, často několik stovek kilobajtů. Vykreslete jen stránky, které úloha potřebuje, ne celý soubor.
- Jedna věc opustí stroj. Vykreslený obrázek jde agentovi a odtud k použitému modelu. Lokálně hostovaný model vše ponechá na stroji.
FAQ
Může Claude vidět moji PDF stránku a její rozložení? Ano, pokud je PDF stránka vykreslena do obrázku a model Claude, který používáte, přijímá vstup ve formě obrázku. render_page vytvoří tento obrázek lokálně a vrátí jej klientovi.
Musím dokument kamkoli nahrávat, aby se vykreslil? Server čte soubor ze složky, kterou připojíte, a zapíše obrázek vedle něj; dokument není serverem nahráván. Obrázek stránky jde modelu vašeho agenta.
Funguje to i pro Excel a PowerPoint, ne jen pro PDF? Ano. PowerPoint vykresluje jeden obrázek na snímek a listy Excelu jsou rozděleny na stránky, přičemž počet je viditelný přes get_view_info.
Jděte hlouběji
- Dokumentace, kanonický návod: How to let an AI agent see document pages
- Dokumentační hub: GroupDocs.Viewer MCP Server
- Další: 3 questions an AI agent should ask a document before rendering it
- Další: Automate screenshot-grade page images for reports with MCP
- Další: When the answer is in the chart: AI agents reading diagrams and scans via MCP
- On-premise a bezpečnostní model: 3 architectures for AI document processing, and the one that keeps files inside your network
- Otázky: GroupDocs Viewer forum
- Zdroj: GroupDocs.Viewer.Mcp on GitHub