PDF Reader MCP Server

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Integrations

  • Runs as a containerized service with volume mounting capabilities to access local PDF files, allowing for isolated and portable deployment.

  • Provides tools for reading and extracting text from local PDF files stored in a mounted directory, with support for auto-detection of PDF encoding.

Servidor MCP del lector de PDF

Un servidor de Protocolo de Contexto de Modelo (MCP) que proporciona herramientas para leer y extraer texto de archivos PDF, admitiendo tanto archivos locales como URL.

Autor

Philip Van de Walker
Correo electrónico: philip.vandewalker@gmail.com
GitHub: https://github.com/trafflux

Características

  • Leer contenido de texto de archivos PDF locales
  • Leer contenido de texto de URLs de PDF
  • Manejo de errores para archivos PDF corruptos o no válidos
  • Montaje de volumen para acceder a archivos PDF locales
  • Detección automática de codificación PDF
  • Formato de salida JSON estandarizado

Instalación

  1. Clonar el repositorio:
git clone https://github.com/trafflux/pdf-reader-mcp.git cd pdf-reader-mcp
  1. Construya la imagen de Docker:
docker build -t mcp/pdf-reader .

Uso

Ejecución del servidor

Para ejecutar el servidor con acceso a archivos PDF locales:

docker run -i --rm -v /path/to/pdfs:/pdfs mcp/pdf-reader

Reemplace /path/to/pdfs con la ruta real a su directorio de archivos PDF.

Si no utiliza archivos PDF locales:

docker run -i --rm mcp/pdf-reader

Configuración de MCP

Añade a tu configuración de MCP:

{ "mcpServers": { "pdf-reader": { "command": "docker", "args": [ "run", "-i", "--rm", "-v", "/path/to/pdfs:/pdfs", "mcp/pdf-reader" ], "disabled": false, "autoApprove": [] } } }

Sin archivos PDF de archivo local:

{ "mcpServers": { "pdf-reader": { "command": "docker", "args": ["run", "-i", "--rm", "mcp/pdf-reader"], "disabled": false, "autoApprove": [] } } }

Herramientas disponibles

  1. read_local_pdf
    • Propósito: Leer el contenido de texto de un archivo PDF local
    • Aporte:
      { "path": "/pdfs/document.pdf" }
    • Producción:
      { "success": true, "data": { "text": "Extracted content..." } }
  2. read_pdf_url
    • Propósito: Leer el contenido de texto de una URL PDF
    • Aporte:
      { "url": "https://example.com/document.pdf" }
    • Producción:
      { "success": true, "data": { "text": "Extracted content..." } }

Manejo de errores

El servidor maneja varios casos de error con mensajes de error claros:

  • Archivos PDF no válidos o corruptos
  • Archivos faltantes
  • Solicitudes de URL fallidas
  • Problemas de permisos
  • Problemas de conectividad de red

Las respuestas de error siguen el formato:

{ "success": false, "error": "Detailed error message" }

Dependencias

  • Python 3.11+
  • PyPDF2: análisis de PDF y extracción de texto
  • solicitudes: cliente HTTP para obtener archivos PDF de URL
  • SDK de MCP: Implementación del protocolo de contexto del modelo

Estructura del proyecto

. ├── Dockerfile # Container configuration ├── README.md # This documentation ├── requirements.txt # Python dependencies └── src/ ├── __init__.py # Package initialization └── server.py # Main server implementation

Licencia

Copyright 2025 Philip Van de Walker

Con licencia Apache, versión 2.0 (la «Licencia»); no puede usar este archivo excepto de conformidad con la Licencia. Puede obtener una copia de la Licencia en

http://www.apache.org/licenses/LICENSE-2.0

Salvo que la legislación aplicable lo exija o se acuerde por escrito, el software distribuido bajo la Licencia se distribuye "TAL CUAL", SIN GARANTÍAS NI CONDICIONES DE NINGÚN TIPO, ni expresas ni implícitas. Consulte la Licencia para conocer el texto específico que rige los permisos y limitaciones de la misma.

Contribuyendo

¡Agradecemos sus contribuciones! No dude en enviar una solicitud de incorporación de cambios.

Contacto

Si tiene preguntas, problemas o contribuciones, comuníquese con Philip Van de Walker:

-
security - not tested
F
license - not found
-
quality - not tested

Proporciona herramientas para leer y extraer texto de archivos PDF, admitiendo tanto archivos locales como URL.

  1. Author
    1. Features
      1. Installation
        1. Usage
          1. Running the Server
          2. MCP Configuration
          3. Available Tools
        2. Error Handling
          1. Dependencies
            1. Project Structure
              1. License
                1. Contributing
                  1. Contact
                    ID: pyoz4hj6mj