docling.rs — конвертер документов с MCP-сервером
docling.rs
Порт docling на Rust превращает PDF, Office, HTML и сканы в Markdown и JSON одним бинарником, с режимом MCP-сервера
- 135 ★ репозитория
- Последний коммит
- MIT
Расширенный доступ
Почему такой уровень
- Читает файлы из папки `--root` и при включенном флаге загружает документы по ссылкам
- Содержимое документов уходит в модель
Установка
- Работает в
Ручная установка
claude mcp add docling -- docling-rs mcp --root ~/DocumentsИз README, бинарник docling-rs должен быть установлен.
Доступ и проверки
Как мы проверяемРасширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.
- Читает файлы из папки `--root` и при включенном флаге загружает документы по ссылкам
- Содержимое документов уходит в модель
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
docling.rs превращает документы в Markdown, JSON docling и другие формы, удобные для языковой модели и конвейеров RAG. Это полный порт IBM docling на Rust: тот же вывод из одного статического бинарника, без Python и PyTorch. Поддерживаются PDF, форматы Office, HTML, сканы с распознаванием текста и аудио, а структура сохраняется: заголовки по порядку, таблицы как таблицы. Команда `docling-rs mcp` запускает MCP-сервер из того же бинарника. У агента три инструмента: `convert_to_markdown(uri)` с именем и контрактом как у MarkItDown, `convert(uri, to, options)` для других форматов вывода и `list_input_formats()`. Чтение локальных файлов ограничено папкой из `--root`, а загрузка по ссылкам включается флагом `--allow-url-fetch`. Есть и привычные способы: CLI, пакеты для Python и Node.js, крейт для Rust и образы Docker. Слой совместимости позволяет заменить импорт MarkItDown, Marker или MinerU на `docling_rs` и оставить свой код.
Для кого. Тем, кто готовит документы для RAG и агентов и хочет заменить Python-стек конвертации одним быстрым бинарником, в том числе вместо MarkItDown.
Подходит, если
- Агенту нужно читать PDF с таблицами и сканами, и ответ в Markdown должен сохранить структуру
- Используется `markitdown-mcp`, и хочется сменить только команду запуска, оставив имя инструмента
- Идет пакетная подготовка корпуса документов для индекса, а Python с PyTorch слишком тяжел
- В проекте на Node.js или Rust нужен конвертер как библиотека, без отдельного сервиса
Не подходит, если
- Нужен сервис для документов с мгновенной загрузкой по ссылкам без настройки: адреса выключены, пока не передан `--allow-url-fetch`
- Ваш стек полностью на Python docling с собственными моделями: выигрыш будет невелик
- Требуется редактировать документы: конвертер только читает и преобразует
Пример запроса к агенту
Конвертируй `~/Documents/report.pdf` в Markdown и сохрани таблицы, а затем перечисли заголовки второго уровня.MCP
- Транспорт
- stdio, http
- Авторизация
- не нужна
Ограничения
Локальные файлы MCP-сервер читает только внутри папки из `--root`, а загрузка по адресам выключена, пока не передан `--allow-url-fetch`. Модели для разметки страниц, таблиц и распознавания текста ставятся отдельным скриптом или идут в образе Docker, и установка через `curl` из README запускает сценарий из сети.
Проект заявляет совпадение вывода с Python docling и приводит замеры скорости и памяти, но числа авторские и сделаны на их тестовом наборе. Предварительные сборки есть для Linux x64 и arm64, s390x и macOS на arm64, на остальных платформах идет сборка из исходников. Последний коммит сделан в ноябре 2026 года.
Как отключить. Удалите сервер docling из конфигурации клиента командой `claude mcp remove docling` и снимите пакет или бинарник тем способом, которым ставили. Скачанные модели лежат в отдельной папке и удаляются вручную.
Частые вопросы
Как подключить docling.rs к Claude Code?
Командой `claude mcp add docling -- docling-rs mcp --root ~/Documents`, если бинарник уже стоит. Тот же сервер запускается из PyPI через `uvx docling-rs-mcp --root ~/Documents`.
Чем docling.rs отличается от Python docling?
Это порт на Rust с тем же выводом, одним статическим бинарником и без Python и PyTorch. По замерам авторов, PDF обрабатываются быстрее при меньшем объеме памяти, а Office и HTML намного быстрее.
Можно ли заменить MarkItDown?
Да: инструмент `convert_to_markdown(uri)` сохраняет имя и контракт, поэтому при настройке `markitdown-mcp` меняется только команда запуска. В Python достаточно заменить импорт на `docling_rs.markitdown`.
Как разрешить загрузку документов по ссылкам?
Запустить сервер с флагом `--allow-url-fetch`. Без него загружаются только локальные файлы внутри папки из `--root`.
Какие форматы поддерживаются?
PDF, форматы Office, HTML, сканы и аудио. Полный список выдает инструмент `list_input_formats`.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
MCP-серверыMCP-сервер на базе Docling: переводит PDF в структурированный документ, собирает новые документы и загружает их в RAG
Docling — CLI для смешанного архива: PDF, документы и таблицы можно привести к общему формату для поиска и ИИ.
Утилита Microsoft и MCP-сервер, которые переводят PDF, Word, Excel, PowerPoint, HTML и другие файлы в Markdown для модели
MCP-сервер, который превращает PDF, DOCX, XLSX, PPTX, изображения, аудио, веб-страницы и расшифровки YouTube в Markdown
MCP-сервер на базе pandoc: агент конвертирует Markdown, HTML, DOCX, LaTeX, EPUB, ODT и другие форматы друг в друга
Doc-Ops MCP конвертирует DOCX, Markdown, HTML и PDF между собой и ставит водяной знак или QR-код на готовые PDF.
Сравнение с похожими
Карточки с тем же главным запросом: чем они отличаются.
| Инструмент | Официальный | Авторизация | Звезды репозитория | Главное отличие |
|---|---|---|---|---|
| docling.rs — конвертер документов с MCP-сервером (эта карточка) | нет | не нужна | 135 | |
| Docling MCP | да | не нужна | 791 | сервер для Python docling, а здесь порт на Rust одним бинарником |
| MarkItDown | да | не нужна | 195 008 | тот же контракт `convert_to_markdown`, но с анализом разметки страниц, таблицами и распознаванием текста |
Коротко о README
README рассказывает о порте docling на Rust и его скорости, дает способы миграции с MarkItDown, Marker и MinerU заменой импорта, способы установки (скрипт, `cargo`, `pip`, `npm`, Docker), сравнения с замерами, раздел MCP-сервера и RAG-подсистему.