MCP PDF
📄 MCP PDF
Un servidor FastMCP para el procesamiento de PDF
47 herramientas para extracción de texto, OCR, tablas, formularios, anotaciones, markdown↔PDF y más
Funciona muy bien con MCP Office Tools
Qué hace
MCP PDF extrae contenido de archivos PDF utilizando múltiples bibliotecas con mecanismos de respaldo automáticos. Si un método falla, intenta con otro.
Capacidades principales:
Extracción de texto mediante PyMuPDF, pdfplumber o pypdf (respaldo automático)
Extracción de tablas mediante Camelot, pdfplumber o Tabula (respaldo automático)
OCR para documentos escaneados mediante Tesseract
Gestión de formularios - extraer, rellenar y crear formularios PDF
Ensamblaje de documentos - combinar, dividir, reordenar páginas
Anotaciones - notas adhesivas, resaltados, sellos
Gráficos vectoriales - extraer a SVG para esquemas y dibujos técnicos
Conversión de formato - PDF ↔ Markdown (PDF→MD mediante PyMuPDF, MD→PDF mediante pandoc)
Related MCP server: PDF MCP Flow
Inicio rápido
# Run from PyPI (one-shot, no permanent install)
uvx mcp-pdf
# Add to Claude Code — note the `--` separator before uvx
claude mcp add pdf-tools -- uvx mcp-pdf
# Include the markdown_to_pdf tool (requires pandoc on host)
claude mcp add pdf-tools -- uvx --from "mcp-pdf[markdown]" mcp-pdf
uvxalmacena en caché las instalaciones de herramientas de forma agresiva. Después de actualizar a una nueva versión, fuerce una actualización conuvx --refresh mcp-pdf(ouvx --refresh --from "mcp-pdf[markdown]" mcp-pdfsi está utilizando extras).
git clone https://github.com/rsp2k/mcp-pdf
cd mcp-pdf
uv sync
# System dependencies (Ubuntu/Debian)
sudo apt-get install tesseract-ocr tesseract-ocr-eng poppler-utils ghostscript
# For markdown_to_pdf — pick one PDF-engine route:
sudo apt-get install pandoc tectonic # recommended (small)
# or: sudo apt-get install pandoc texlive-xetex texlive-latex-extra # full TeX
# or: sudo apt-get install pandoc && pip install weasyprint # skip TeX
# Verify
uv run python examples/verify_installation.pyHerramientas
Extracción de contenido
Herramienta | Qué hace |
| Extrae texto de páginas PDF con fragmentación automática para archivos grandes |
| Extrae tablas a JSON, CSV o Markdown |
| Extrae imágenes incrustadas |
| Obtiene todos los hipervínculos con filtrado por página |
| Realiza OCR en documentos escaneados usando Tesseract |
| Exporta gráficos vectoriales a SVG (esquemas, gráficos, dibujos) |
Conversión de formato
Herramienta | Qué hace |
| Convierte PDF a markdown preservando la estructura; extrae imágenes y vectores SVG al disco |
| Convierte archivos |
markdown_to_pdf requiere: pip install mcp-pdf[markdown] además del binario pandoc y al menos un motor de PDF (xelatex, pdflatex, tectonic, weasyprint o wkhtmltopdf) en el PATH. La herramienta detecta automáticamente qué hay disponible y utiliza el de mayor calidad. Pase pdf_engine= para anular o extra_args= para opciones de pandoc sin procesar.
Análisis de documentos
Herramienta | Qué hace |
| Obtiene título, autor, fecha de creación, número de páginas, etc. |
| Extrae la tabla de contenido y los marcadores |
| Detecta columnas, encabezados, pies de página |
| Comprueba si el PDF necesita OCR |
| Compara dos PDF por texto, estructura o metadatos |
| Comprueba si hay corrupción u oportunidades de optimización |
| Informa sobre cifrado, permisos y firmas |
Formularios
Herramienta | Qué hace |
| Obtiene nombres y valores de campos de formulario |
| Rellena campos de formulario desde JSON |
| Crea nuevos formularios con campos de texto, casillas de verificación, menús desplegables |
| Añade campos a PDF existentes |
Formularios de permiso (basados en coordenadas)
Para PDF escaneados o formularios sin campos interactivos. Dibuja texto en coordenadas (x, y).
Herramienta | Qué hace |
| Rellena cualquier PDF dibujando en coordenadas (funciona con formularios escaneados) |
| Obtiene definiciones de campo para validación o generación de interfaz |
| Comprueba los datos contra el esquema de campo antes de rellenar |
| Genera un PDF que muestra los límites de los campos (depuración) |
| Inserta páginas de imagen/texto con referencias "Ver página X" |
Requiere: pip install mcp-pdf[forms] (añade la dependencia reportlab)
Ensamblaje de documentos
Herramienta | Qué hace |
| Combina múltiples PDF con preservación de marcadores |
| Divide por rangos de páginas |
| Divide en límites de capítulo/sección |
| Reorganiza páginas en un orden personalizado |
Anotaciones
Herramienta | Qué hace |
| Añade anotaciones de comentarios |
| Resalta regiones de texto |
| Añade sellos de Aprobado/Borrador/Confidencial |
| Exporta anotaciones a JSON |
Cómo funcionan los respaldos
El servidor intenta utilizar múltiples bibliotecas para cada operación:
Extracción de texto:
PyMuPDF (más rápido)
pdfplumber (mejor para diseños complejos)
pypdf (más compatible)
Extracción de tablas:
Camelot (mejor precisión, requiere Ghostscript)
pdfplumber (sin dependencias)
Tabula (requiere Java)
Si un PDF falla con una biblioteca, se intenta automáticamente con la siguiente.
Gestión de tokens
Los PDF grandes pueden exceder los límites de respuesta de MCP. El servidor maneja esto:
Fragmentación automática divide documentos grandes en grupos de páginas
Límites de filas de tabla evitan que tablas enormes saturen las respuestas
Modo resumen devuelve la estructura sin el contenido completo
# Get first 10 pages
result = await extract_text("huge.pdf", pages="1-10")
# Limit table rows
tables = await extract_tables("data.pdf", max_rows_per_table=50)
# Structure only
tables = await extract_tables("data.pdf", summary_only=True)Procesamiento de URL
Los PDF se pueden obtener directamente desde URL HTTPS:
result = await extract_text("https://example.com/report.pdf")Los archivos se almacenan en caché localmente para operaciones posteriores.
Dependencias del sistema
Algunas funciones requieren paquetes del sistema:
Característica | Dependencia |
OCR |
|
Tablas Camelot |
|
Tablas Tabula |
|
PDF a imágenes |
|
|
|
Elección de un motor PDF para markdown_to_pdf
Pandoc convierte markdown → HTML o LaTeX → PDF. La ruta LaTeX produce la salida más pulida pero necesita una instalación de TeX. Compensaciones:
Motor | Tamaño en disco | Notas |
| ~30 MB | Recomendado para instalaciones nuevas. Binario estático único. Descarga paquetes LaTeX bajo demanda — sin instalación masiva inicial. |
| ~500 MB | Mejor salida una vez instalado. Úselo si ya ejecuta TeX. El paquete |
| ~200 MB | A menudo falla. Espere |
| ~40 MB | Python puro ( |
| ~40 MB | Herramienta antigua de HTML a PDF. Adecuada pero menos mantenida activamente. |
Ubuntu/Debian:
sudo apt-get install tesseract-ocr tesseract-ocr-eng poppler-utils ghostscript default-jre-headless
# For markdown_to_pdf — pick one engine route:
# Option A — tectonic (smallest, downloads packages on demand)
sudo apt-get install pandoc
# tectonic isn't in apt — install via cargo or download static binary:
# https://tectonic-typesetting.github.io/en-US/install.html
# Option B — full TeX (best quality, large download)
sudo apt-get install pandoc texlive-xetex texlive-latex-extra texlive-fonts-extra
# Option C — weasyprint (skip TeX entirely)
sudo apt-get install pandoc
pip install weasyprintArch Linux:
sudo pacman -S tesseract tesseract-data-eng poppler ghostscript jre-openjdk-headless
# For markdown_to_pdf — pick one engine route:
# Option A — tectonic (recommended for new installs, in official repo)
sudo pacman -S pandoc tectonic
# Option B — full TeX (best output, ~500 MB)
sudo pacman -S pandoc texlive-xetex texlive-latexextra texlive-fontsextra
# Option C — weasyprint (skip TeX)
sudo pacman -S pandoc
pip install weasyprint # or: uv pip install weasyprint
# Option D — wkhtmltopdf (from AUR)
yay -S wkhtmltopdf-staticmacOS (Homebrew):
brew install tesseract poppler ghostscript
# For markdown_to_pdf — pick one engine route:
# Option A — tectonic (recommended)
brew install pandoc tectonic
# Option B — full TeX (mactex-no-gui includes the latex-extra equivalent)
brew install pandoc
brew install --cask mactex-no-gui
# Option C — weasyprint
brew install pandoc weasyprintExtras opcionales
La instalación base se mantiene ligera. Las dependencias pesadas o de nicho están bloqueadas detrás de extras:
Extra | Añade | Cuándo instalar |
|
| Herramientas de creación de formularios ( |
|
| Extracción de tablas de mayor precisión (también necesita Java + Ghostscript) |
|
| Herramienta |
| Todo lo anterior | Quiere todo |
Configuración
Variables de entorno opcionales:
Variable | Propósito |
| Directorios separados por dos puntos para la salida de archivos |
| Directorio temporal para procesamiento (predeterminado: |
| Ubicación de los datos de idioma de Tesseract |
Desarrollo
# Run tests
uv run pytest
# With coverage
uv run pytest --cov=mcp_pdf
# Format
uv run black src/ tests/
# Lint
uv run ruff check src/ tests/Licencia
MIT
This server cannot be installed
Maintenance
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
- AlicenseNot gradedqualityDmaintenanceEnables comprehensive PDF processing including text extraction, image extraction, and OCR capabilities for reading text within images across multiple languages.12MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI-driven PDF document processing including PDF to Markdown conversion, intelligent text and table extraction, image extraction, format conversion between PDF/Word/Markdown, batch processing, and fuzzy search - optimized for LLM context and RAG workflows.2MIT
- AlicenseNot gradedqualityDmaintenanceProvides intelligent OCR and PDF processing capabilities that automatically detect whether PDFs contain digital text or scanned images and apply appropriate extraction methods. Supports text extraction, OCR processing, structure analysis, and batch operations.MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI applications to read and process PDF files with intelligent file search, text extraction, image processing, and optional OCR support for scanned documents.MIT
Related MCP Connectors
Turn any PDF into structured JSON via AI + OCR: invoices, bank statements, contracts.
PDF accessibility checks (veraPDF PDF/UA-1), auto-fix and Markdown conversion. EU-hosted.
Convert PDF bank statements into structured transactions, accounts, and balances.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/rsp2k/mcp-pdf'
If you have feedback or need assistance with the MCP directory API, please join our Discord server