omapdf-mcp
omapdf
Preview.app для Linux — но вашим агентом можно управлять.
omapdf — это агент-нативный PDF-инструмент: быстрый GTK4 редактор для чтения, аннотирования и подписания; скриптуемый CLI; MCP-сервер для ИИ-агентов; и интеграция с Omarchy, которая связывает их все с операционной системой. Под капотом один движок операций — всё, что человек может сделать вручную, агент может сделать по инструкции, и наоборот.
omapdf edit lease.pdf # the editor
omapdf sign lease.pdf --page 4 --at 120,540 --date -o signed.pdf
# …or just tell your agent: "fill out this lease, highlight anything
# unusual, and get it ready for my signature"Почему
Рабочий процесс «кто-то прислал мне PDF по почте, мне нужно выделить два места, подписать и отправить обратно» — это killer-фича macOS Preview, а в Linux нет лёгкого аналога. И никто нигде не относится к ИИ-агентам как к полноправным пользователям PDF. omapdf делает и то и другое с одной архитектурой:
Related MCP server: PDF Manipulation MCP Server
Единый API операций, каждый клиент тонкий
Каждое действие — выделение, комментарий, заполнение поля, штамп подписи, рисование чернилами — это небольшая JSON-операция. Редактирование документа — это список таких операций. Редактор, CLI и MCP-сервер проходят через один и тот же движок:
human agent
│ │
┌─────┴─────┐ ┌────────┴────────┐
│ editor │ │ MCP server / │
│ (GTK4) │ │ Claude skill │
└─────┬─────┘ └────────┬────────┘
│ ops (JSON) │
└──────────────┬─────────────────┘
┌───────┴───────┐
│ op engine │ validate → resolve → apply → report
│ (PyMuPDF) │
└───────┬───────┘
document.pdfКаждая применённая операция возвращает свою разрешённую геометрию, так что любая сторона может показать другой, что именно и где изменилось. Всё записанное — это стандартная PDF-аннотация — пользователи Acrobat, Preview и Evince видят ваши заметки и выделения как обычные комментарии.
Редактор (omapdf edit)
Нативный редактор GTK4, быстрый как Preview, спроектирован для Omarchy, но переносим на обычный GTK:
Инструменты (набор векторных иконок, нарисованных от руки): выбор/перетаскивание, перо с палитрой цветов по повторному нажатию, маркер, текст, стикеры, размещение подписи, штампы «зелёная галочка» и «красный крест»
Модель-призрак: всё, что вы размещаете, является перетаскиваемым, подвижным ожидающим элементом, пока Save не пропечёт его через движок операций — и отмена пересекает границу сохранения: Ctrl+Z после сохранения откатывает файл и воскрешает сохранённые элементы как редактируемые призраки
Удобства чтения: боковая панель миниатюр (F9), масштаб по ширине, отслеживающий живое окно просмотра, пресеты масштаба + Ctrl+колесо, поиск по всему документу (Ctrl+F) с циклическим перебором совпадений, навигация по страницам с помощью Up/Down, PgUp/PgDn, Home/End, Ctrl+G переход к странице
Комментарии открываются по клику: щёлкните любую сохранённую аннотацию, чтобы прочитать её текст — включая комментарии, оставленные агентами или другими PDF-приложениями
Предложения агента как призраки:
omapdf edit doc.pdf --ops proposal.jsonзагружает dry-run операции агента как выбранные, перетаскиваемые оверлеи — подвиньте, затем Save. Агент предлагает, человек подтверждает.Спросите своего агента (✦): введите вопрос, и он откроет агента по умолчанию вашей ОС (
omarchy agent prompt) с прикреплённым документом. Редактор следит за файлом и перезагружается, когда агент сохраняет изменения.Поделиться (нативно, без фальшивого листа общего доступа): вложение в письмо, LocalSend, копирование файла (или его zip-архива) прямо в буфер обмена, показать в папке — с опциональным переключателем «сначала сплющить копию»
Празднование сохранения включено. Увидите.
CLI
omapdf read doc.pdf # structured JSON: text+bboxes, fields, annots
omapdf read doc.pdf --text-only # just the words
omapdf fields form.pdf # fillable fields with names and rects
omapdf snapshot doc.pdf --page 2 --grid 50 # page PNG with a labeled
# coordinate grid — agents read placement
# coordinates straight off the image
omapdf annotate doc.pdf --page 2 --match "termination clause"
omapdf note doc.pdf --page 2 --at 400,300 --text "negotiate this"
omapdf fill form.pdf --field tenant_name "Peter Bergin" --field rent "1800"
omapdf apply doc.pdf --ops edits.json # atomic batch of ops
omapdf sig draw # draw your signature once (GTK window)
omapdf sig add ~/sig.png --name work # …or import an image
omapdf sign doc.pdf --page 4 --at 120,540 --date -o signed.pdf
omapdf flatten doc.pdf -o final.pdf # bake everything in for any viewer
omapdf open doc.pdf # opens the omapdf editorКаждая команда редактирования принимает -o (по умолчанию: на месте), --dry-run и --json (каждая операция возвращает свою разрешённую геометрию). Координаты — это пункты PDF, начало координат — верхний левый угол, страницы с 1 — идентично тому, что сообщает read. Словарь операций описан в docs/ops.md.
Агенты
claude mcp add omapdf -- omapdf-mcpИнструменты MCP: read_pdf, list_form_fields, apply_ops, highlight, add_note, fill_field, place_signature (по умолчанию dry-run — подтверждение перед чернилами), list_signatures, flatten_pdf.
Навык Claude Code в skill/ — это полное руководство PDF-ассистента: рецепты для рецензирования и выделения, заполнения форм, подписания, редактирования, чек-листов, извлечения с цитированием страниц — построено вокруг лестницы точности: текстовые якоря → снимок сетки (посмотрите на страницу) → dry-run → визуальная проверка записанного результата → передайте перетаскиваемый призрак человеку, когда важен вкус.
Установка
git clone https://github.com/pbergin11/omapdf && cd omapdf
python -m venv --system-site-packages .venv # system gi for the GTK editor
.venv/bin/pip install -e '.[mcp]'
ln -s "$PWD/.venv/bin/omapdf" ~/.local/bin/omapdf
ln -s "$PWD/.venv/bin/omapdf-mcp" ~/.local/bin/omapdf-mcp
ln -s "$PWD/bin/omapdf-pick" ~/.local/bin/omapdf-pickТребуется Python ≥ 3.11, PyMuPDF и (для редактора и sig draw) PyGObject + GTK4 из вашего дистрибутива. Упаковка для Arch в packaging/PKGBUILD.
Сделайте omapdf обработчиком PDF в вашей системе:
cp share/omapdf.desktop ~/.local/share/applications/
xdg-mime default omapdf.desktop application/pdfИнтеграция с Omarchy
Виджет верхней панели (
shell-plugin/): PDF-пилюля — нажмите для меню недавних PDF, выберите один, он откроется в редакторе (ln -s .../shell-plugin/omapdf.bar ~/.config/omarchy/plugins/omapdf.bar, затемomarchy bar put omapdf.bar --section right)Ask-agent использует
omarchy agent prompt, поэтому запускает того агента по умолчанию, которого выбрал пользователь (omarchy default agent), в нативном окне агента Omarchy; диктовка Voxtype работает в поле вопроса, как в любом текстовом полеУпаковано в духе omasnap: сфокусированный, одноцелевой нативный инструмент
Статус и дорожная карта
Работает сегодня: движок операций, CLI, MCP-сервер + навык, хранилище подписей и окно рисования, полный редактор, виджет панели, цикл запроса/наблюдения агента, тесты. Смотрите docs/roadmap.md о том, что дальше — главное: автоматическое обнаружение строки подписи (sign --auto), удаление/редактирование аннотаций сохранённых элементов, страница сводки комментариев, криптографическое (PAdES) подписание через pyHanko.
Лицензия
AGPL-3.0-or-later (соответствует нашей зависимости PyMuPDF). См. LICENSE.
This server cannot be deployed
Maintenance
Related MCP Connectors
- PDFLeanOAuthcom.pdflean
PDF tools for AI agents: validate, extract, merge, split, compress, OCR, sign and redact.
Deterministic PDF tools for AI agents: inspect fields, fill forms, merge PDFs, invoices.
Generate and read PDFs for AI agents: a generate_pdf and a read_pdf tool, priced per document.
13 stateless PDF tools for AI agents: merge, split, rotate, compress, watermark, redact, flatten, repair, add page numbers and fill PDF forms. Files are processed in memory and nothing is stored. Part of FreeDailyPro's 211+ MCP tools; trial key with 20,000 calls/month at freedailypro.com/developers.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceEnables AI agents and users to process documents through natural language, supporting PDF operations like text extraction, redaction, splitting, form filling, annotations, and content search.60 npm62MIT
- AlicenseBqualityDmaintenanceEnables PDF manipulation including text, images, annotations, form fields, page operations, and metadata through natural language.16MIT
- AlicenseAqualityDmaintenanceEnables PDF processing and analysis including text extraction, metadata retrieval, search, page manipulation, splitting/merging, conversion to images, and form handling.10MIT
- FlicenseNot gradedqualityCmaintenanceEnables AI agents to perform 13 PDF operations (merge, split, compress, watermark, encrypt, and more) on local files via MCP.3-