PDF Splitter
Proporciona acceso aleatorio al contenido de PDF, permitiendo la extracción selectiva de páginas y contenido para reducir los costos de lectura.
Documentación
Servidor MCP de PDF Splitter
Un servidor de Model Context Protocol (MCP) que proporciona acceso aleatorio a contenidos de PDF, reduciendo los costos totales de lectura al permitir la extracción selectiva de páginas y contenido.
Requisitos previos
Instalar Bun (requerido para todos los métodos de instalación):
# Linux/macOS
curl -fsSL https://bun.sh/install | bash
# Windows
powershell -c "irm bun.sh/install.ps1 | iex"
Inicio rápido: ¡Instalación con un solo comando!
Para Claude Code:
bunx espresso3389/pdf-splitter-mcp install claudecode
Para Gemini CLI:
bunx espresso3389/pdf-splitter-mcp install geminicli
¡Eso es todo! El instalador configurará todo automáticamente por ti.
Nota para actualizar el paquete
Debido a que bunx almacena en caché el paquete descargado en tu directorio temporal, si deseas actualizar el paquete de forma forzada, debes eliminar la caché por ti mismo antes de bunx:
# Linux/macOS
rm -rf /tmp/bunx-*-@espresso3389/pdf-splitter-mcp
# Windows
powershell -c "rm -Recurse -Force $env:TEMP/bunx-*-@espresso3389/pdf-splitter-mcp"
Instalación manual (opcional)
Si prefieres instalar localmente:
- Clonar y configurar
# Clone or download this project to your computer
# Then navigate to the project directory
cd /path/to/pdf-splitter-mcp
bun install
- Configurar tu herramienta de IA:
Para Claude Code:
claude mcp add pdf-splitter -- bun run /full/path/to/pdf-splitter-mcp/src/index.ts
Para Gemini CLI:
{
"mcpServers": {
"pdf-splitter": {
"command": "bun",
"args": ["run", "/full/path/to/pdf-splitter-mcp/src/index.ts"]
}
}
}
¡Reinicia tu herramienta de IA y comienza a usarla!
Ejemplo de conversación:
You: Load the PDF at /Users/me/documents/report.pdf
AI: [uses load_pdf tool] PDF loaded! ID: abc123, 50 pages
You: Show me page 10
AI: [uses extract_page tool] Here's page 10 content...
You: Search for "revenue" in the PDF
AI: [uses search_pdf tool] Found "revenue" on pages 3, 10, and 25...
You: Search for email addresses using regex
AI: [uses search_pdf tool with regex] Found matches for pattern "\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b" on pages 5, 12...
You: Render page 10 as a high-quality image
AI: [uses render_page tool with dpi=300] Here's page 10 rendered at 300 DPI as a PNG image...
You: Create thumbnails of all pages
AI: [uses render_pages tool with dpi=72] Generated thumbnails for all 50 pages...
You: Save page 10 as a high-quality image to /tmp/page10.png
AI: [uses render_page tool with dpi=300 and outputPath="/tmp/page10.png"] Page 10 rendered and saved to: /tmp/page10.png
You: Extract all images from the PDF and save them to /tmp/images/
AI: [uses extract_images tool with outputPath="/tmp/images/page_{page}_img_{index}.png"] Saved 15 images. First image saved to: /tmp/images/page_1_img_0.png
Características
- Cargar PDF: Cargar archivos PDF desde el sistema de archivos local o URLs en memoria
- Extraer página: Extraer contenido de texto de páginas específicas
- Extraer rango: Extraer texto de un rango de páginas
- Buscar en PDF: Buscar texto dentro del PDF (admite texto plano y expresiones regulares, sensible o insensible a mayúsculas/minúsculas)
- Obtener información del PDF: Recuperar metadatos e información sobre el PDF cargado
- Listar PDFs cargados: Ver todos los PDFs actualmente cargados
- Extraer esquema: Extraer el esquema/índice del documento con números de página
- Listar imágenes: Listar todas las imágenes en el PDF con metadatos (página, dimensiones, formato)
- Extraer imágenes: Extraer imágenes como datos codificados en base64 (PNG/JPEG)
- Extraer imagen: Extraer una imagen específica por página e índice
- Renderizar página: Renderizar una página de PDF como imagen a cualquier DPI (PNG/JPEG)
- Renderizar páginas: Renderizar múltiples páginas de PDF como imágenes con procesamiento por lotes
Comandos CLI
El PDF Splitter MCP proporciona varios comandos útiles:
# Show help and usage
bunx @espresso3389/pdf-splitter-mcp
# Install for Claude Code
bunx @espresso3389/pdf-splitter-mcp install claudecode
# Install for Gemini CLI
bunx @espresso3389/pdf-splitter-mcp install geminicli
# Run the MCP server directly
bunx @espresso3389/pdf-splitter-mcp serve
Herramientas disponibles
-
load_pdf
- Cargar un archivo PDF en memoria (admite URLs)
- Parámetros:
path(cadena - ruta local o URL) - Devuelve: ID del PDF y número de páginas
-
extract_page
- Extraer contenido de una página específica
- Parámetros:
pdfId(cadena),pageNumber(número, indexado desde 1) - Devuelve: Contenido de la página como texto
-
extract_range
- Extraer contenido de un rango de páginas
- Parámetros:
pdfId(cadena),startPage(número),endPage(número) - Devuelve: Contenido combinado del rango de páginas
-
search_pdf
- Buscar texto dentro del PDF
- Parámetros:
pdfId(cadena),query(cadena),caseSensitive(booleano, opcional) - Devuelve: Resultados de búsqueda con números de página y contexto
-
get_pdf_info
- Obtener metadatos sobre un PDF cargado
- Parámetros:
pdfId(cadena) - Devuelve: Información del PDF incluyendo metadatos
-
list_loaded_pdfs
- Listar todos los PDFs actualmente cargados
- Devuelve: Matriz de PDFs cargados con sus IDs y números de páginas
-
extract_outline
- Extraer esquema/TOC del documento con números de página
- Parámetros:
pdfId(cadena) - Devuelve: Esquema formateado con referencias de página
-
list_images
- Listar todas las imágenes en el PDF con metadatos
- Parámetros:
pdfId(cadena) - Devuelve: Matriz de información de imágenes (página, índice, dimensiones, formato)
-
extract_images
- Extraer imágenes del PDF como datos codificados en base64
- Parámetros:
pdfId(cadena)pageNumbers(matriz de números, opcional)dpi(número, opcional, predeterminado: 96)outputPath(cadena, opcional - guardar imágenes en archivos en lugar de devolver base64)
- Devuelve: Matriz de imágenes con datos base64 (o guarda en archivos si se proporciona outputPath)
- Patrón de outputPath: Usa
{page}para el número de página y{index}para el índice de imagen (por ejemplo,/path/page_{page}_img_{index}.png)
-
extract_image
- Extraer una imagen específica del PDF
- Parámetros:
pdfId(cadena)pageNumber(número)imageIndex(número)dpi(número, opcional, predeterminado: 96)outputPath(cadena, opcional - guardar imagen en archivo en lugar de devolver base64)
- Devuelve: Imagen única con datos base64 (o guarda en archivo si se proporciona outputPath)
-
render_page
- Renderizar una página de PDF como imagen a un DPI especificado
- Parámetros:
pdfId(cadena)pageNumber(número, indexado desde 1)dpi(número, opcional, predeterminado: 96)format(cadena, opcional, "png" o "jpeg", predeterminado: "png")outputPath(cadena, opcional - guardar imagen en archivo en lugar de devolver base64)
- Devuelve: Imagen de página renderizada con datos base64, dimensiones y formato (o guarda en archivo si se proporciona outputPath)
-
render_pages
- Renderizar múltiples páginas de PDF como imágenes
- Parámetros:
pdfId(cadena)pageNumbers(matriz de números, opcional - renderiza todas las páginas si no se proporciona)dpi(número, opcional, predeterminado: 96)format(cadena, opcional, "png" o "jpeg", predeterminado: "png")outputPath(cadena, opcional - guardar imágenes en archivos en lugar de devolver base64)
- Devuelve: Matriz de imágenes de páginas renderizadas con datos base64 (o guarda en archivos si se proporciona outputPath)
- Patrón de outputPath: Usa
{page}para el número de página (por ejemplo,/path/page_{page}.png)
Configuración del cliente MCP
Agrega esto a tu configuración del cliente MCP:
{
"mcpServers": {
"pdf-splitter": {
"command": "bun",
"args": ["run", "/path/to/pdf-splitter-mcp/src/index.ts"]
}
}
}
Desarrollo
# Run in development mode with hot reload
bun run dev
# Build for production
bun run build
# Run production build
bun run start
Beneficios
- Uso reducido de tokens: Solo extrae las páginas que necesitas en lugar de procesar PDFs completos
- Procesamiento más rápido: Acceso aleatorio a secciones específicas sin lectura secuencial
- Eficiencia de memoria: Los PDFs se analizan una vez y se mantienen en memoria para acceso rápido
- Capacidad de búsqueda: Encuentra contenido específico en documentos grandes rápidamente
- Procesamiento visual: Renderiza páginas como imágenes para OCR, análisis visual o generación de miniaturas
- Salida flexible: Soporte para diferentes configuraciones de DPI y formatos de imagen (PNG/JPEG)
Casos de uso comunes
Análisis de documentos
- Extraer páginas o secciones específicas para análisis detallado
- Buscar patrones, palabras clave o datos en documentos grandes
- Extraer tablas de contenido y navegar documentos complejos
Procesamiento de imágenes
- Extraer imágenes incrustadas de PDFs para procesamiento separado
- Renderizar páginas como imágenes de alta calidad para OCR o análisis visual
- Crear vistas previas en miniatura de páginas PDF
- Convertir páginas PDF a imágenes para visualización web
Investigación y desarrollo
- Procesar artículos técnicos y extraer secciones específicas
- Buscar citas, fórmulas o términos específicos
- Extraer figuras y diagramas de artículos de investigación
Automatización
- Procesar múltiples PDFs por lotes de forma programática
- Extraer datos de formularios o informes estandarizados
- Generar vistas previas de imágenes para sistemas de gestión de documentos