Для массового извлечения данных из документов с помощью AI‑агента запишите схему в подсказку, укажите агенту папку и потребуйте список исключений в конце. Сервер GroupDocs.Parser.Mcp выполняет чтение локально в Docker‑контейнере, поэтому каждый файл проходит через одинаковые инструменты извлечения и ни один документ не покидает машину. LLM определяет порядок работы; движок читает файлы.
Для каждого PDF в моей папке с документами: извлечь таблицы в формате JSON, подсчитать сумму в колонке amount и предоставить одну таблицу с именем файла, общей суммой и количеством страниц.
Пошаговая версия с настройками и устранением неполадок находится в документации: Как извлечь данные из папки с документами за один раз.
Почему ручное извлечение дает непоследовательные данные?
Когда люди копируют значения из документов по одному, каждый файл обрабатывается немного иначе: один человек включает налог, другой — нет, третий пропускает файл с необычной разметкой. Несоответствия остаются незаметными, пока не сравниваются итоги. Рабочий процесс устраняет это, делая правила явными и применяя их к каждому файлу одинаково. С агентом правила находятся в одной подсказке, а инструменты извлечения работают идентично для первого и двухсотого файла.
Как построить рабочий процесс?
Подмонтируйте папку в контейнер как /data, задайте GROUPDOCS_MCP_STORAGE_PATH=/data и дайте агенту следующие шаги.
- Проверьте лицензию. Подсказка: “Run get_license_status and tell me the mode.” Извлечение без лицензии ограничено, а частичное чтение папки дает тихо неверный набор данных.
- Триаж папки. Подсказка: “For each file, report format, page count and whether text extraction returns anything.”
get_document_infoпредоставляет тип, количество страниц и размер, а одностраничный вызовextract_textпоказывает, есть ли текст. - Исправьте схему. Подсказка: “For each readable file, extract the line-items table as JSON. Columns: item, quantity, amount. Total the amount column.” Для этого используется
extract_tables. - Соберите ошибки явно. Подсказка: “List every file that failed, was password-protected, or returned no table, with the reason.” Пакет, который сообщает только об успехах, скрывает исключения.
- Запишите результат. Подсказка: “Write one row per file to a CSV in the output folder.”
Файлы разрешаются по имени внутри контейнера, поэтому агент передаёт invoice-014.pdf, а не путь хоста.
Что решает агент, а что делает движок?
| Шаг | Что решает агент | Что делает движок |
|---|---|---|
| Триаж | Какие файлы извлекать | Сообщает тип, количество страниц и размер; extract_text показывает, есть ли текст |
| Захват | Какой инструмент нужен каждому файлу | Возвращает текст или строки таблицы из файла |
| Валидация | Совпадает ли итог с текстом | Ничего; агент сравнивает |
| Исключения | Какие файлы включить в список | Возвращает сообщение об ошибке для проблемного файла |
| Вывод | Формат CSV | Ничего; агент записывает его |
Разделение — это суть. Захват значений — детерминированная работа движка; оценка и сборка — задача агента.
Пример сеанса (сокращённый):
You: Check the license, triage the folder, then extract line items from every readable PDF and list the exceptions.
Agent: [calls get_license_status, get_document_info x12, extract_text, extract_tables x10]
License mode: evaluation. Results below are a smoke test.
12 files: 10 with a text layer, 1 scan, 1 password-protected.
Totals written for 10 files. Exceptions: scan-007.pdf (no text layer), hr-020.pdf (password required).
Что происходит с файлами, которые не подходят?
Скан не имеет текстового слоя, поэтому извлечение таблиц ничего не возвращает. Отложите такие файлы в сторону или позвольте агенту переключаться на extract_barcodes, когда на странице присутствует номер отслеживания или код заказа. Список «пройденных» одновременно служит инвентаризацией сканов в архиве. Файл, защищённый паролем, не проходит свой вызов, поэтому попросите агента сообщить о нём и продолжить; инструменты принимают аргумент password, если он у вас есть.
Как сделать большой запуск экономичным?
- Ограничьте по страницам, когда данные находятся в известном месте, например, на первой странице каждого счёта.
- Избегайте
extract_imagesв массовом режиме. Он создаёт файл для каждого изображения, а папка с иллюстрированными отчётами генерирует сотни файлов. - Следите за метered‑использованием. При метered‑лицензировании каждый вызов оплачивается по обработке, поэтому целенаправленный обход стоит дешевле, чем полный.
Каковы ограничения?
Без лицензии извлечение ограничено; точные ограничения указаны на странице лицензирования библиотеки. У сервера нет OCR, поэтому отсканированный текст нельзя захватить. Он поставляется только как Docker‑образ; команды dnx нет.
Как зарегистрировать сервер?
Минимальная ручная запись для Cursor, Claude Desktop или Windsurf с использованием путей контейнера из документации по конфигурации Parser:
{
"mcpServers": {
"groupdocs-parser": {
"command": "docker",
"args": ["run", "--rm", "-i",
"-v", "/path/to/documents:/data",
"-e", "GROUPDOCS_MCP_STORAGE_PATH=/data",
"ghcr.io/groupdocs-parser/parser-net-mcp:latest"]
}
}
}
FAQ
Можно ли обрабатывать папку со счетами с помощью AI без их загрузки?
Да. Контейнер читает смонтированную папку и общается с вашим клиентом через stdio, поэтому счета остаются на вашем компьютере.
Как выполнить пакетное извлечение текста из PDF‑ов локально?
Попросите агента пройтись по папке и вызвать extract_text для каждого файла, постранично для длинных документов, потому что очень большие выводы обрезаются маркером.
Может ли агент автоматизировать ввод данных из документов?
Он может собрать извлечённые строки в CSV или сводную таблицу. Просмотрите список исключений, прежде чем что‑то будет внесено в другую систему.
Углубиться
- Документация, канонический how‑to: Как извлечь данные из папки с документами за один раз
- Центр документации: GroupDocs.Parser MCP Server
- Начните здесь: 3 способа извлечения данных из документов с AI‑агентами и MCP (текст, таблицы, изображения)
- Связано: Таблицы из PDF в JSON без угадываний ячеек LLM
- Связано: Автоматизация скан‑в‑запись с AI‑агентами
- On‑premise и модель безопасности: 3 архитектуры AI‑обработки документов и та, что держит файлы внутри вашей сети
- Вопросы: Форум GroupDocs Parser
- Исходный код: GroupDocs.Parser.Mcp на GitHub