Вы можете попросить 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, созданный в цифровом виде, содержит текстовый слой; скан‑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, что делает NuGet‑пакет больше 250 МБ, поэтому команды 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‑клиентах.
Каковы ограничения?
- Evaluation mode. Без лицензии извлечение ограничено; точные ограничения указаны на странице лицензирования. Сначала попросите агента выполнить
get_license_statusи рассматривайте вывод без лицензии как пробный тест, а не полное чтение. - No OCR. Текст в скане нельзя извлечь.
- Docker only. Требуется установленный Docker; образ большой, поэтому загрузите его один раз.
Часто задаваемые вопросы
Можно ли извлечь текст из PDF с помощью Claude локально, без загрузки файла?
Да. Сервер работает в контейнере на вашем компьютере, а Claude Desktop общается с ним через stdio, поэтому файл читается из смонтированной папки и не отправляется в сервис извлечения.
Почему агент ничего не возвращает для некоторых PDF?
Файл, вероятно, является сканом без текстового слоя. Попросите агента выполнить get_document_info и одностраничный вызов extract_text для подтверждения, затем используйте extract_barcodes для кодов или OCR‑инструмент для слов.
Есть ли команда dnx для GroupDocs.Parser.Mcp?
Нет. Этот продукт доступен только через Docker, поэтому каждый запуск использует docker run или запись клиента MCP, которая запускает Docker.
Углубиться
- Документация, канонический how‑to: Как извлечь данные из документов с помощью AI‑агентов, используя MCP
- Центр документации: GroupDocs.Parser MCP Server
- Далее: Таблицы из PDF в JSON без угадываний ячеек LLM
- Далее: Обеспечьте согласованный захват данных с автоматизированными рабочими процессами извлечения с помощью MCP
- Далее: Автоматизация скан‑в‑запись с AI‑агентами
- Модель развертывания и безопасность: 3 архитектуры для AI‑обработки документов, и та, что держит файлы внутри вашей сети
- Вопросы: GroupDocs Parser forum
- Исходный код: GroupDocs.Parser.Mcp on GitHub