omapdf-mcp
omapdf
Preview.app para Linux — pero tu agente puede manejarlo.
omapdf es una herramienta PDF nativa para agentes: un editor GTK4 rápido para leer, anotar y firmar; una CLI programable; un servidor MCP para agentes de IA; y una integración con Omarchy que los une a todos con el sistema operativo. Un único motor de operaciones debajo: cualquier cosa que un humano pueda hacer a mano, un agente puede hacerla por instrucción, y viceversa.
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"Por qué
El flujo de trabajo de «alguien me envió un PDF por correo, necesito resaltar dos cosas, firmarlo y devolverlo» es la función estrella de macOS Preview — y Linux no tiene un equivalente ligero. Y nadie en ningún lugar trata a los agentes de IA como usuarios PDF de primera clase. omapdf hace ambas cosas, con una arquitectura:
Related MCP server: PDF Manipulation MCP Server
Una API de operaciones, cada cliente es delgado
Cada acción — resaltar, comentar, rellenar un campo, estampar una firma, dibujar tinta — es una pequeña operación JSON. Una edición de documento es una lista de ellas. El editor, la CLI y el servidor MCP pasan todos por el mismo motor:
human agent
│ │
┌─────┴─────┐ ┌────────┴────────┐
│ editor │ │ MCP server / │
│ (GTK4) │ │ Claude skill │
└─────┬─────┘ └────────┬────────┘
│ ops (JSON) │
└──────────────┬─────────────────┘
┌───────┴───────┐
│ op engine │ validate → resolve → apply → report
│ (PyMuPDF) │
└───────┬───────┘
document.pdfCada operación aplicada devuelve su geometría resuelta, para que cualquiera de los lados pueda mostrar al otro exactamente qué cambió y dónde. Todo lo escrito es una anotación PDF estándar — los usuarios de Acrobat, Preview y Evince ven tus notas y resaltados como comentarios normales.
El editor (omapdf edit)
Un editor GTK4 nativo, tan rápido como Preview, diseñado para Omarchy pero portable a GTK simple:
Herramientas (conjunto de iconos vectoriales dibujados a mano): seleccionar/arrastrar, lápiz con paleta de colores al tocar de nuevo, resaltador, texto, notas adhesivas, colocación de firmas, sellos de marca verde y cruz roja
Modelo fantasma: todo lo que colocas es un elemento pendiente arrastrable y ajustable hasta que Guardar lo procesa a través del motor de operaciones — y deshacer cruza el límite de guardado: Ctrl+Z después de guardar revierte el archivo y resucita los elementos guardados como fantasmas editables
Comodidades de lectura: barra lateral de miniaturas (F9), zoom de ajuste al ancho que sigue la ventana gráfica en vivo, ajustes preestablecidos de zoom + Ctrl+scroll, búsqueda en todo el documento (Ctrl+F) con ciclo de coincidencias, navegación de páginas con Arriba/Abajo, RePág/AvPág, Inicio/Fin, Ctrl+G ir a página
Los comentarios se abren al hacer clic: haz clic en cualquier anotación guardada para leer su texto — incluidos los comentarios dejados por agentes o por las aplicaciones PDF de otras personas
Propuestas de agentes como fantasmas:
omapdf edit doc.pdf --ops proposal.jsoncarga las operaciones de prueba de un agente como superposiciones seleccionables y arrastrables — ajusta y luego Guarda. El agente propone, el humano confirma.Pregunta a tu agente (✦): escribe una pregunta, abre el agente predeterminado de tu sistema operativo (
omarchy agent prompt) con el documento adjunto. El editor vigila el archivo y se recarga solo cuando el agente guarda cambios.Compartir (nativo, sin hoja de compartir falsa): adjuntar por correo, LocalSend, copiar el archivo (o un zip de él) directamente al portapapeles, mostrar en carpeta — con una opción opcional de aplanar-copiar-primero
Celebración de guardado incluida. Ya lo verás.
La 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 editorCada comando de edición acepta -o (por defecto: en el lugar), --dry-run y --json (cada operación devuelve su geometría resuelta). Las coordenadas son puntos PDF, origen arriba a la izquierda, páginas basadas en 1 — idénticas a lo que informa read. El vocabulario de operaciones se especifica en docs/ops.md.
Agentes
claude mcp add omapdf -- omapdf-mcpHerramientas MCP: read_pdf, list_form_fields, apply_ops, highlight, add_note, fill_field, place_signature (prueba por defecto — confirmar antes de la tinta), list_signatures, flatten_pdf.
La habilidad de Claude Code en skill/ es un manual completo de asistente PDF: recetas para revisar y resaltar, rellenar formularios, firmar, marcar en rojo, listas de verificación, extracción con citas de página — construido alrededor de una escalera de precisión: anclas de texto → instantánea de cuadrícula (mirar la página) → prueba → verificar el resultado escrito visualmente → entregar un fantasma arrastrable al humano cuando el gusto importa.
Instalación
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-pickRequiere Python ≥ 3.11, PyMuPDF y (para el editor y sig draw) PyGObject + GTK4 de tu distribución. Empaquetado de Arch en packaging/PKGBUILD.
Haz de omapdf tu manejador de PDF del sistema:
cp share/omapdf.desktop ~/.local/share/applications/
xdg-mime default omapdf.desktop application/pdfIntegración con Omarchy
Widget de barra superior (
shell-plugin/): una píldora PDF — haz clic para un menú de PDFs recientes, elige uno, se abre en el editor (ln -s .../shell-plugin/omapdf.bar ~/.config/omarchy/plugins/omapdf.bar, luegoomarchy bar put omapdf.bar --section right)Preguntar al agente usa
omarchy agent prompt, por lo que lanza el agente predeterminado que el usuario eligió (omarchy default agent), en la ventana de agente nativa de Omarchy; el dictado de Voxtype funciona en el cuadro de preguntas como cualquier campo de textoEmpaquetado con el espíritu de omasnap: una herramienta nativa enfocada y de un solo propósito
Estado y hoja de ruta
Funcionando hoy: motor de operaciones, CLI, servidor MCP + habilidad, almacén de firmas y ventana de dibujo, el editor completo, widget de barra, bucle de preguntar/vigilar del agente, pruebas. Consulta docs/roadmap.md para lo que viene — titulares: detección automática de línea de firma (sign --auto), eliminación/edición de anotaciones de elementos guardados, página de resumen de comentarios, firma criptográfica (PAdES) mediante pyHanko.
Licencia
AGPL-3.0-o-posterior (coincidiendo con nuestra dependencia de PyMuPDF). Consulta 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-