Ви можете дозволити AI‑агенту переглянути сторінку документа замість того, щоб читати її текстовий дамп. Сервер GroupDocs.Viewer.Mcp рендерить будь‑яку сторінку PDF, Word, Excel або PowerPoint файлу у PNG і повертає її агенту, причому робить це локально на вашому комп’ютері:
Скільки сторінок у report.pdf? Потім покажи мені останню.
Крок‑за‑кроком версія з конфігурацією та усуненням проблем знаходиться в документації: Як дозволити AI‑агенту переглядати сторінки документів.
Чому вилучення тексту не працює на реальних документах?
Текстовий екстрактор повертає символи у порядку читання. Він не повертає стовпчикову діаграму між двома абзацами, штамп «APPROVED» у куті, колонкову розкладку таблиці цін або сторінку, яка є сканованою і не містить жодних символів. AI‑агент, що працює з цим виводом, впевнено відповідає щодо документа, який він бачив лише наполовину, а відсутня половина зазвичай є тією частиною, про яку ви запитували.
Вирішенням не є кращий підказка. Це інший вхід: сторінка у вигляді зображення, передана моделі, яка приймає зображення.
Неправильний підхід: пропускати все через текстовий екстрактор
Звичний за замовчуванням підхід — конвертувати документ у текст, вставляти текст у вікно контексту та ставити питання. Це працює для прозових текстів. Він ламається у чотирьох випадках, які ви можете перевірити на будь‑якому вашому документі:
- Розмітка зникає, тому питання «чи сума знаходиться у правій колонці?» не може бути відповідано.
- Фігури всередині діаграм та схем зникають, оскільки вони намальовані, а не надруковані.
- Штампи, підписи та рукописний текст зникають.
- Сканований PDF не містить тексту.
Модель не може відновити інформацію, яка була втрачена до того, як вона побачила документ.
Правильний підхід: рендерити сторінку PDF у зображення для LLM
render_page рендерить одну сторінку у PNG, повертає зображення інлайн агенту та зберігає копію у вашій вихідній папці як <name>_page<N>.png. Сервер підтримує понад 170 форматів, включаючи PDF, DOCX, XLSX, PPTX, ODT, RTF, HTML, EML та MSG. Модель, що підтримує зображення, тоді бачить сторінку так, як би ви її бачили.
Агент не повинен вгадувати номери сторінок, тому він поєднує render_page з get_view_info, який повертає тип файлу, кількість сторінок та розмір кожної сторінки без рендерингу. Третій інструмент, get_license_status, повідомляє про активний режим ліцензування.
Як запустити сервер для Claude, Cursor або Copilot?
Docker‑образ є самодостатнім:
docker run --rm -i -v $(pwd)/documents:/data \
ghcr.io/groupdocs-viewer/viewer-net-mcp:latest
Після встановлення .NET 10 SDK, dnx GroupDocs.Viewer.Mcp --yes запускає той самий сервер без Docker. Зареєструйте його у Claude Desktop, Claude Code, Cursor, VS Code з GitHub Copilot, Windsurf та інших клієнтів; сторінка hub містить точну конфігурацію для кожного. Клієнт запускає сервер як дочірній процес і спілкується з ним через стандартний ввід‑вивід, тому немає вхідного порту і кінцевої точки, яку треба захищати.
Приклад сеансу
Це ілюстрація, створена на основі задокументованої поведінки двох інструментів, а не захоплений скріншот.
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 612 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: ...
Зображення відображається інлайн у клієнтах, які його підтримують. Текстова відповідь — це опис агента того, що він бачить на сторінці.
Що вирішує агент, а що робить движок?
Агент вирішує, яка сторінка відповідає на питання, і що запитати модель щодо неї. Движок виконує ту частину, яка має бути точною: відкриває файл, розбиває його на сторінки так, як це робить документ, і створює PNG. Моделі ніколи не доводиться вгадувати розмітку сторінки, оскільки вона отримує вже відрендерену сторінку.
Чесні обмеження
- Режим оцінки. Без ліцензії відрендерені сторінки містять водяний знак оцінки, а процес сервера відкриває не більше 15 документів. Водяний знак може закривати саме ту деталь, про яку ви запитуєте. Запитайте у агента «Чи ліцензовано сервер переглядача?», щоб він викликав
get_license_statusперед тим, як ви покладетеся на його дані. - Тільки PNG. Вихід — це PNG‑зображення; варіант формату відсутній.
- Перевірка номера сторінки відсутня.
render_pageне відхиляє номер сторінки, що перевищує останню. Спочатку перевірте кількість за допомогоюget_view_info. - Модель повинна приймати зображення. Якщо модель працює лише з текстом, агент все одно отримує шлях до збереженого файлу, але не може сказати, що знаходиться на сторінці.
- Зображення великі. Кожна сторінка — це інлайн PNG, часто кілька сотень кілобайт. Рендерьте лише ті сторінки, які потрібні для завдання, а не весь файл.
- Один елемент залишає машину. Відрендерене зображення надходить агенту, а звідти — до будь‑якої моделі, яку він використовує. Локально розгорнута модель тримає все на машині.
FAQ
Чи може Claude бачити мою PDF‑сторінку та її розмітку? Так, якщо PDF‑сторінка рендериться у зображення, а модель Claude, яку ви використовуєте, приймає вхідні зображення. render_page створює це зображення локально і повертає його клієнту.
Чи потрібно завантажувати документ кудись для його рендерингу? Сервер читає файл з папки, яку ви підключаєте, і записує зображення поруч; документ не завантажується сервером. Однак зображення сторінки надходить до моделі вашого агента.
Чи працює це для Excel та PowerPoint, а не лише для PDF? Так. PowerPoint рендерить одне зображення на кожен слайд, а листи Excel розбиваються на сторінки, кількість яких можна побачити за допомогою get_view_info.
Поглибити
- Документація, канонічний посібник: Як дозволити AI‑агенту переглядати сторінки документів
- Центр документації: GroupDocs.Viewer MCP Server
- Далі: 3 questions an AI agent should ask a document before rendering it
- Далі: Automate screenshot-grade page images for reports with MCP
- Далі: When the answer is in the chart: AI agents reading diagrams and scans via MCP
- On-premise та модель безпеки: 3 architectures for AI document processing, and the one that keeps files inside your network
- Питання: GroupDocs Viewer forum
- Джерело: GroupDocs.Viewer.Mcp on GitHub