/ Directorio / Playground / pdf-reader-mcp
● Comunidad SylphxAI ⚡ Instantáneo

pdf-reader-mcp

por SylphxAI · SylphxAI/pdf-reader-mcp

Una herramienta, read_pdf, que extrae texto, imágenes y metadatos de PDF locales o remotos 5-10× más rápido mediante procesamiento paralelo de páginas.

pdf-reader-mcp (SylphxAI) es un MCP Node.js enfocado que expone una única herramienta para toda la extracción de PDF. Usa PDF.js con workers de páginas paralelas y preservación de diseño basada en coordenadas Y. Admite rutas locales y URL HTTP/HTTPS. Una cobertura de pruebas del 94% lo hace más seguro para pipelines de producción.

Por qué usarlo

Características clave

Demo en vivo

Cómo se ve en la práctica

pdf-reader.replay ▶ listo
0/0

Instalar

Elige tu cliente

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "pdf-reader": {
      "command": "npx",
      "args": [
        "-y",
        "pdf-reader-mcp"
      ],
      "_inferred": true
    }
  }
}

Abre Claude Desktop → Settings → Developer → Edit Config. Reinicia después de guardar.

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "pdf-reader": {
      "command": "npx",
      "args": [
        "-y",
        "pdf-reader-mcp"
      ],
      "_inferred": true
    }
  }
}

Cursor usa el mismo esquema mcpServers que Claude Desktop. La configuración del proyecto prevalece sobre la global.

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "pdf-reader": {
      "command": "npx",
      "args": [
        "-y",
        "pdf-reader-mcp"
      ],
      "_inferred": true
    }
  }
}

Haz clic en el icono MCP Servers de la barra lateral de Cline y luego en "Edit Configuration".

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "pdf-reader": {
      "command": "npx",
      "args": [
        "-y",
        "pdf-reader-mcp"
      ],
      "_inferred": true
    }
  }
}

Mismo formato que Claude Desktop. Reinicia Windsurf para aplicar.

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "pdf-reader",
      "command": "npx",
      "args": [
        "-y",
        "pdf-reader-mcp"
      ]
    }
  ]
}

Continue usa un array de objetos de servidor en lugar de un mapa.

~/.config/zed/settings.json
{
  "context_servers": {
    "pdf-reader": {
      "command": {
        "path": "npx",
        "args": [
          "-y",
          "pdf-reader-mcp"
        ]
      }
    }
  }
}

Añádelo a context_servers. Zed recarga en caliente al guardar.

claude mcp add pdf-reader -- npx -y pdf-reader-mcp

Un solo comando. Verifica con claude mcp list. Quita con claude mcp remove.

Casos de uso

Usos del mundo real: pdf-reader-mcp

Cómo revisar un PDF de contrato con Claude

👤 Operaciones legales, fundadores, gerentes de producto ⏱ ~20 min beginner

Cuándo usarlo: Necesitas entender qué hay en un contrato de 50 páginas e identificar cláusulas inusuales.

Flujo
  1. Leer el PDF completo
    Usa read_pdf en ./contracts/msa-acme.pdf. Extrae texto y metadatos.✓ Copiado
    → Texto completo + metadatos de autor/título/fecha
  2. Solicitar un resumen estructurado
    Resume: partes, plazo, términos de pago, propiedad intelectual, terminación, cláusulas inusuales. Cita la cláusula exacta para cada una.✓ Copiado
    → Resumen estructurado con citas
  3. Revisión de señales de alerta
    Comparado con un MSA SaaS estándar, ¿qué cláusulas son inusuales o riesgosas? Cita números de página.✓ Copiado
    → Lista priorizada de cosas a negociar

Resultado: Una revisión de 15 minutos en lugar de 2 horas — con citas.

Errores comunes
  • Los PDF escaneados devuelven texto vacío — pdf-reader necesita una capa de texto; ejecuta ocrmypdf input.pdf output.pdf primero

Resume una carpeta de PDF de investigación en una tabla resumen

👤 Analistas, investigadores ⏱ ~15 min beginner

Cuándo usarlo: Descargaste 30 documentos técnicos y necesitas una capa de lectura rápida antes de decidir qué leer profundamente.

Flujo
  1. Enumerar los PDF
    Lista todos los PDF en ./papers/. Para cada uno, extrae título y resumen.✓ Copiado
    → Tabla: nombre de archivo, título, resumen
  2. Clasificar y ordenar
    Clasifica cada documento en [relevante / tangencial / omitir]. Proporciona un 'por qué' de una línea.✓ Copiado
    → Lista de lectura priorizada

Resultado: Un orden de lectura basado en contenido, no en nombre de archivo.

Combinar con: filesystem

Extrae datos estructurados de PDF de facturas

👤 Equipos de finanzas y cuentas por pagar ⏱ ~20 min intermediate

Cuándo usarlo: Recibes facturas en PDF y quieres convertirlas a CSV o JSON para tus libros.

Flujo
  1. Extraer por factura
    Para cada PDF en ./inbox/, extrae: proveedor, número_factura, fecha, total, artículos_línea[]. Devuelve como matriz JSON.✓ Copiado
    → JSON estructurado por factura
  2. Marcar anomalías
    Destaca cualquier factura con totales >$10k o con artículos que no cierren✓ Copiado
    → Cola de revisión

Resultado: Clasificación automática de cuentas por pagar con intervención humana para flageos.

Combinar con: google-sheets

Combinaciones

Combínalo con otros MCPs para multiplicar por 10

pdf-reader + filesystem

Itera sobre una carpeta de PDF, escribe resúmenes al lado

Para cada PDF en ./papers/, escribe un resumen .md correspondiente en la misma carpeta.✓ Copiado
pdf-reader + google-sheets

Datos de facturas directamente en un libro mayor de Sheets

Extrae facturas de ./inbox/*.pdf y añade una fila por factura a mi hoja 'AP'.✓ Copiado

Herramientas

Lo que expone este MCP

HerramientaEntradasCuándo llamarCoste
read_pdf path: str (local o URL), options?: { pages?, include_images?, include_metadata? } Cualquier ingesta de PDF — una única herramienta maneja todas las operaciones Solo CPU local

Coste y límites

Lo que cuesta ejecutarlo

Cuota de API
Ninguno — se ejecuta localmente
Tokens por llamada
Un documento de 50 páginas es 20k-100k tokens
Monetario
Gratis
Consejo
Usa la opción pages para limitar la extracción a las primeras N páginas al prototipar

Seguridad

Permisos, secretos, alcance

Almacenamiento de credenciales: Ninguno
Salida de datos: Solo cuando se proporcionan URL HTTP; las rutas locales permanecen locales

Resolución de problemas

Errores comunes y soluciones

Texto vacío de un PDF válido

El PDF solo tiene imágenes. Ejecuta OCR primero: ocrmypdf in.pdf out.pdf, luego lee

Verificar: Verificar metadatos; si `producer` dice 'Scanner', está escaneado
Falta de memoria en PDF grandes

Pasa pages: [1, 50] para dividir; procesa en rangos

Texto garbled / orden de lectura incorrecto

Algunos PDF usan diseños no estándar. Intenta deshabilitar la preservación de diseño para el orden de stream sin procesar

Alternativas

pdf-reader-mcp vs otros

AlternativaCuándo usarlaContrapartida
mcp-server-pdf (simple)Dependencia mínima, está bien con procesamiento de un solo hilo más lentoMucho más lento en documentos grandes
LlamaParse APINecesitas comprensión de diseño de nivel LLM de formas/tablas complejasPago, en la nube, mejor en documentos desordenados

Más

Recursos

📖 Lee el README oficial en GitHub

🐙 Ver issues abiertas

🔍 Ver todos los 400+ servidores MCP y Skills