pdfmux — извлечение текста из PDF с самопроверкой
pdfmux
Извлечение PDF с самопроверкой: нечитаемые страницы получают пометку и не пропадают молча, плюс MCP-сервер для Claude
- 86 ★ репозитория
- Последний коммит
- MIT
Расширенный доступ
Почему такой уровень
- Сервер читает ваши PDF и пишет результат на диск
- При подключении облачной модели для резервного извлечения текст страниц уходит провайдеру
Установка
- Работает в
Ручная установка
claude mcp add pdfmux -- npx -y pdfmux-mcpMCP-сервер. Движок ставится отдельно: `pip install pdfmux`.
Доступ и проверки
Как мы проверяемРасширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.
- Сервер читает ваши PDF и пишет результат на диск
- При подключении облачной модели для резервного извлечения текст страниц уходит провайдеру
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
pdfmux превращает PDF в Markdown, JSON или куски для RAG и сам проверяет результат. Для каждой страницы он выбирает один из семи встроенных извлекателей: PyMuPDF для цифрового текста, RapidOCR для сканов, Docling для таблиц, Marker для научных статей, Surya, OpenDataLoader и Mistral OCR. Пустые страницы, перепутанные колонки и сломанные таблицы он перезапускает более сильным движком, а что прочитать не вышло, помечает. Команда `pdfmux verify` проверяет и чужие извлечения, например Docling, LlamaParse или Mistral OCR: она сверяет результат с исходным PDF и показывает, какие страницы молча пропали. Для сложных случаев подключается своя модель по YAML: Gemini, Claude, GPT-4o, Ollama или Mistral, ключи остаются вашими. MCP-сервер `pdfmux-mcp` отдает агенту инструменты `convert_pdf`, `analyze_pdf`, `extract_structured`, `extract_streaming`, `get_pdf_metadata` и `batch_convert`, седьмой инструмент проверяет извлечение.
Для кого. Разработчикам RAG-конвейеров и всем, кто отдает агентам PDF с таблицами и сканами и не хочет получать тихо потерянные страницы.
Подходит, если
- Каталог из сотен PDF содержит сканы, и пустые страницы мешают поиску
- Таблицы из отчета должны попасть в Markdown без разрушения структуры
- Вы сравниваете платный извлекатель с бесплатным и хотите увидеть, какие страницы он потерял
- Агенту в Claude Desktop нужно прочитать PDF и выдать структурированный JSON
Не подходит, если
- Нужен только простой текст из цифрового PDF: хватит PyMuPDF без самопроверки
- На машине мало места: дополнительные движки весят сотни мегабайт, например RapidOCR около 200 МБ, Docling около 500 МБ
- Документ нельзя отдавать внешней модели: для резервного извлечения подключаются облачные модели по вашему ключу
Пример запроса к агенту
Извлеки таблицы из годового отчета в Markdown и скажи, какие страницы pdfmux не смог прочитать.MCP
- Транспорт
- stdio
- Авторизация
- не нужна
Ограничения
Базовая установка `pip install pdfmux` разбирает только цифровые PDF. Для сканов нужен `extra` `pdfmux[ocr]`, для таблиц `pdfmux[tables]`, для сложных макетов `pdfmux[opendataloader]` с Java 11 или новее. Резервный вызов моделей работает по вашему ключу Gemini, Claude, GPT-4o, Ollama или Mistral, и без него такие страницы остаются помеченными.
Автор называет метод принятия решений заявленным на патент. Часть чисел, например 97,9 процента TEDS у Docling и 96,6 процента по таблицам у Mistral OCR, относится к чужим движкам и взята из README. Для MCP-сервера нужен Node.js, а сам движок написан на Python.
Как отключить. Удалите сервер командой `claude mcp remove pdfmux`, а пакет `pip uninstall pdfmux`. Файлы конфигурации YAML с вашими ключами удалите отдельно.
Частые вопросы
Как подключить pdfmux к Claude Code?
Выполните `claude mcp add pdfmux -- npx -y pdfmux-mcp`. Сам движок ставится отдельно командой `pip install pdfmux`.
Чем pdfmux отличается от LlamaParse?
Он бесплатный, с лицензией MIT, работает локально и после извлечения проверяет страницы. Автор называет его открытой альтернативой LlamaParse.
Что делает команда pdfmux `verify`?
Сверяет результат любого извлекателя с исходным PDF и показывает страницы, которые он молча пропустил.
Нужен ли OCR для сканов?
Да, поставьте `pip install "pdfmux[ocr]"`. Без него страницы-сканы дают пустой текст. RapidOCR работает на процессоре и занимает около 200 МБ.
Есть ли загрузчики для LangChain и LlamaIndex?
Да, README дает отдельные пакеты и примеры, например `llama-index-readers-pdfmux`.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
MCP-серверыMCP PDF для больших документов: агент ищет по смыслу и по ключевым словам в одном файле или папке и читает только нужные страницы, таблицы и сканы
MCP PDF от ComPDF: агент конвертирует PDF и изображения в Word, Excel, Markdown и JSON, объединяет, режет, защищает и сравнивает файлы через облачный API
MCP-сервер на базе Docling: переводит PDF в структурированный документ, собирает новые документы и загружает их в RAG
MCP-сервер, который превращает PDF, DOCX, XLSX, PPTX, изображения, аудио, веб-страницы и расшифровки YouTube в Markdown
Строит переходные закладки в отсканированном PDF по странице оглавления и работает как MCP-сервер для Claude Desktop
Официальный MCP-сервер MinerU: PDF, Word, PowerPoint и изображения превращаются в Markdown с формулами и таблицами
Сравнение с похожими
Карточки с тем же главным запросом: чем они отличаются.
| Инструмент | Официальный | Авторизация | Звезды репозитория | Главное отличие |
|---|---|---|---|---|
| pdfmux — извлечение текста из PDF с самопроверкой (эта карточка) | нет | не нужна | 86 | |
| MarkItDown | да | не нужна | 195 008 | конвертирует форматы Microsoft Office в Markdown без проверки страниц |
| Docling | нет | 70 497 | один из движков, который pdfmux использует для таблиц | |
| MinerU | нет | 83 572 | отдельный разборщик PDF без слоя самопроверки |
Коротко о README
README представляет pdfmux как конвейер: маршрутизатор выбирает извлекатель по странице, аудит ловит сбои, перезапуск лечит их. Дальше идут установка с extras, режим сертификации `verify`, загрузчики для LangChain и LlamaIndex, MCP-сервер и настройка собственной модели через YAML.