Skip to main content
Glama

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 Reader 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.

A
license - permissive license
Not graded
quality - not tested
A
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Enables PDF processing and analysis including text extraction, metadata retrieval, search, page manipulation, splitting/merging, conversion to images, and form handling.
    10
    MIT

View all related MCP servers

Related MCP Connectors

  • Generate PDFs from templates via AI chat. Works with Claude, ChatGPT, Cursor, and any MCP client.

  • Detect, review and fill existing PDF forms from JSON or Excel; reuse saved templates

  • Turn a description into a shareable, editable PDF — invoices, certificates, reports, resumes.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/pbergin11/omapdf'

If you have feedback or need assistance with the MCP directory API, please join our Discord server