Ви можете попросити LLM або AI‑агента витягнути дані з документів і отримати відповідь від документального движка, а не від читання моделі вставленого файлу. За допомогою сервера GroupDocs.Parser.Mcp, що працює локально в Docker‑контейнері, один запит повертає текст, таблицю, вбудовані зображення або значення штрих‑коду:

Що говорить invoice.pdf і що міститься в його таблиці?

Крок‑за‑кроком з конфігурацією та усуненням проблем можна ознайомитися в документації: Як витягнути дані документу за допомогою AI‑агентів, використовуючи MCP.

Чому AI‑агенту потрібен інструмент витягування?

Чат‑модель знає лише те, що розміщено у її вікні контексту. Якщо вставити PDF у чат, модель працює лише з тим текстом, який клієнт встиг «розплющити», тому колонки можуть зникнути, скани залишитися порожніми, і ніхто не зможе сказати, що саме сталося. Сервер витягування переносить цей крок поза модель: агент викликає інструмент, документальний движок читає файл всередині контейнера, а агент отримує результат. Потім модель робить те, що вона вміє найкраще — розмірковує над отриманими значеннями.

GroupDocs.Parser.Mcp надає сім інструментів клієнтам, сумісним з MCP, таким як Claude Desktop, Claude Code, Cursor, VS Code з GitHub Copilot та Windsurf. П’ять інструментів витягують дані (extract_text, extract_tables, extract_images, extract_barcodes, extract_metadata), один — перевіряє (get_document_info), і один — повідомляє про ліцензування (get_license_status).

Спосіб 1: Запитати значення і дозволити агенту вибрати інструмент

Сформулюйте запит як питання про документ. Агент зіставляє питання з інструментом.

Ви запитуєте Інструмент, який викликає агент
«Що в ньому сказано?» extract_text
«Що міститься в таблиці?» extract_tables
«Хто її написав і коли?» extract_metadata
«Збережи зображення.» extract_images
«Що кодує штрих‑код?» extract_barcodes

extract_text підтримує PDF, DOCX, XLSX, PPTX, TXT, HTML, CSV, EML, MSG, RTF, ODT, EPUB та понад 50 інших форматів, тому той самий запит працює і з електронною поштою, і з електронною таблицею. Дуже великі виводи обрізаються маркером, тому для довгих звітів запитуйте по сторінках:

Витягни текст цього 40‑сторінкового звіту по сторінках і підсумуй кожен розділ.

Приклад сесії (скорочений):

You:    What does invoice.pdf say, and what is in its table?
Agent:  [calls extract_text, extract_tables]
        Invoice 2026-0412 from Northwind Supplies, dated 3 October.
        The table has 3 rows (item, quantity, amount); the amounts add up to 1,240.00.

Спосіб 2: Перевірити текстовий шар перед тим, як довіряти порожньому результату

PDF, створений у цифровому вигляді, містить текстовий шар; скан — ні. На сканованій сторінці extract_text повертає мало або нічого, що є коректним описом файлу. Змусьте агента спочатку протестувати це перед витягуванням:

Скільки це сторінок і чи містить він витягуваний текст?

get_document_info повертає назву файлу, тип, кількість сторінок і розмір без будь‑яких змін, а односторінковий виклик extract_text показує, чи існує текст. Два недорогих виклики розрізняють «цей файл порожній» і «цей файл — зображення». У цьому сервері немає кроку OCR, тому надруковані слова у скані залишаються пікселями. Коди — виняток, і про них розповідає Спосіб 3.

Спосіб 3: Витягнути те, чого не може досягти текстове витягування

Таблиці, зображення та штрих‑коди мають окремі інструменти, бо їх перетворення у текст втрачає їхню корисність.

  • extract_tables повертає таблиці у форматі Markdown, які відображаються в чаті, або рядки JSON, якщо передати format: "json".
  • extract_images зберігає кожне вбудоване зображення у вихідну папку як <basename>_image<N>.<ext>.
  • extract_barcodes розкодує Code128, QR Code, PDF417, DataMatrix, EAN‑13, EAN‑8, UPC, Aztec та інші, включно зі сканованими сторінками, оскільки моделі движка виявляють коди у растровому зображенні.

Витягни позиції рядків з invoice.pdf у форматі JSON, а потім збережи зображення зі сторінки 1.

Чи потрібен агенту інструмент витягування чи конвертації?

Це різні завдання, і вибір неправильного сервера призводить до плутанини.

Вам потрібно Сервер
Значення з документа: текст, таблиця, штрих‑код, властивості GroupDocs.Parser.Mcp
Документ у іншому форматі, збережено макет GroupDocs.Conversion.Mcp
Чистий Markdown усього документа для RAG GroupDocs.Markdown.Mcp
Метадані, які потрібно редагувати або видалити, а не лише читати GroupDocs.Metadata.Mcp

Багато конвеєрів використовують два сервери: конвертація для завантаження, парсинг для витягування.

Запустити локально за допомогою Docker

Цей сервер постачається лише як Docker‑образ. Движок вбудовує близько 234 МБ моделей ONNX, що перевищує ліміт у 250 МБ для NuGet‑пакету, тому команди dnx немає. Підключіть папку з документами як /data:

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

Ваш AI‑клієнт запускає контейнер як дочірній процес через stdio. Вхідних портів немає, і документи залишаються на вашій машині. Конфігурація для кожного клієнта (Claude Desktop, Claude Code, VS Code, Cursor, Windsurf, Cline та Codex) знаходиться в розділі Реєстрація в AI‑клієнтах.

Які обмеження?

  • Режим оцінки. Без ліцензії витягування обмежене; точні обмеження зазначені на сторінці бібліотеки ліцензування. Попросіть агента спочатку виконати get_license_status і розглядайте результат без ліцензії як тест, а не як повне читання.
  • Немає OCR. Текст у скані не може бути витягнутий.
  • Лише Docker. Потрібен встановлений Docker; образ великий, тому його варто завантажити один раз.

FAQ

Чи можу я витягнути текст з PDF за допомогою Claude локально, без завантаження?
Так. Сервер працює в контейнері на вашій машині, а Claude Desktop спілкується з ним через stdio, тому файл читається з підключеної папки і не надсилається до сервісу витягування.

Чому агент не повертає нічого для деяких PDF?
Швидше за все, це скан без текстового шару. Попросіть агента виконати get_document_info і односторінковий виклик extract_text для підтвердження, потім використайте extract_barcodes для кодів або OCR‑інструмент для слів.

Чи існує команда dnx для GroupDocs.Parser.Mcp?
Ні. Цей продукт доступний лише через Docker, тому кожна інсталяція використовує docker run або запис у клієнті MCP, який запускає Docker.

Поглибити знання