Skip to main content
Glama

PDF RAG MCP Server

by hyson666

Servidor PDF RAG MCP

Un potente sistema de base de conocimiento de documentos que aprovecha el procesamiento de PDF, el almacenamiento vectorial y MCP (Protocolo de Contexto de Modelo) para ofrecer funciones de búsqueda semántica para documentos PDF. Este sistema permite cargar, procesar y consultar documentos PDF a través de una moderna interfaz web o mediante el protocolo MCP para su integración con herramientas de IA como Cursor.

Características

  • Carga y procesamiento de documentos PDF : cargue archivos PDF y extraiga, fragmente y vectorice contenido automáticamente
  • Estado de procesamiento en tiempo real : actualizaciones de estado en tiempo real basadas en WebSocket durante el procesamiento de documentos
  • Búsqueda semántica : Búsqueda semántica basada en vectores en todos los documentos procesados
  • Compatibilidad con el protocolo MCP : se integra con herramientas de IA como Cursor mediante el protocolo de contexto de modelo
  • Interfaz web moderna : interfaz de usuario React/Chakra para gestión y consulta de documentos
  • Gestión rápida de dependencias : utiliza uv para una gestión eficiente de las dependencias de Python

Arquitectura del sistema

El sistema consta de:

  • Backend FastAPI : gestiona solicitudes de API, procesamiento de PDF y almacenamiento de vectores
  • React Frontend : proporciona una interfaz fácil de usar para administrar documentos.
  • Base de datos vectorial : almacena incrustaciones para búsqueda semántica
  • Servidor WebSocket : proporciona actualizaciones en tiempo real sobre el procesamiento de documentos
  • Servidor MCP : expone la base de conocimientos a clientes compatibles con MCP

Inicio rápido

Prerrequisitos

  • Python 3.8 o posterior
  • uv - Instalador y solucionador rápido de paquetes de Python
  • Git
  • Cursor (opcional, para integración con MCP)

Instalación y puesta en marcha rápida con uv y run.py

  1. Clonar el repositorio:
    git clone https://github.com/yourusername/PdfRagMcpServer.git cd PdfRagMcpServer
  2. Instala uv si aún no lo tienes:
    curl -sS https://astral.sh/uv/install.sh | bash
  3. Instalar dependencias usando uv:
    uv init . uv venv source .venv/bin/activate uv pip install -r backend/requirements.txt
  4. Inicie la aplicación con el siguiente script:
    uv run run.py
  5. Acceda a la interfaz web en http://localhost:8000
  6. Uso con cursor

Vaya a Configuración -> Configuración del Cursor -> MCP -> Agregar nuevo servidor MCP global y pegue la siguiente información en el archivo Cursor ~/.cursor/mcp.json. Consulte la documentación de Cursor MCP para obtener más información.

{ "mcpServers": { "pdf-rag": { "url": "http://localhost:7800/mcp" } } }

También puedes cambiar "localhost" a la IP del host donde implementaste el servicio. Después de agregar esta configuración al JSON de MCP, verás que el servidor MCP se muestra en la página de configuración de Cursor MCP. Actívalo para habilitarlo:

Construyendo el frontend (para desarrolladores)

Si necesita reconstruir el frontend, tiene dos opciones:

Opción 1: Utilizar el script proporcionado (recomendado)
# Make the script executable if needed chmod +x build_frontend.py # Run the script ./build_frontend.py

Este script automáticamente:

  • Instalar dependencias del frontend
  • Construir el frontend
  • Copiar la salida de la compilación al directorio estático del backend
Opción 2: Proceso de construcción manual
# Navigate to frontend directory cd frontend # Install dependencies npm install # Build the frontend npm run build # Create static directory if it doesn't exist mkdir -p ../backend/static # Copy build files cp -r dist/* ../backend/static/

Después de crear la interfaz, puede iniciar la aplicación utilizando el script run.py.

Configuración de producción sencilla

Para un entorno de producción donde ya se han creado los archivos estáticos:

  1. Coloque su frontend prediseñado en el directorio backend/static
  2. Iniciar el servidor:
    cd backend uv pip install -r requirements.txt python -m app.main

Configuración de desarrollo (servicios separados)

Si desea ejecutar los servicios por separado para el desarrollo:

Backend
  1. Navegue hasta el directorio backend:
    cd backend
  2. Instalar las dependencias con uv:
    uv pip install -r requirements.txt
  3. Ejecute el servidor backend:
    python -m uvicorn app.main:app --host 0.0.0.0 --port 8000 --reload
Interfaz
  1. Navegue hasta el directorio del frontend:
    cd frontend
  2. Instalar las dependencias:
    npm install
  3. Ejecute el servidor de desarrollo:
    npm run dev

Uso

Carga de documentos

  1. Acceda a la interfaz web en http://localhost:8000
  2. Haga clic en "Cargar nuevo PDF" y seleccione un archivo PDF
  3. El sistema procesará el archivo, mostrando el progreso en tiempo real.
  4. Una vez procesado, el documento estará disponible para su búsqueda.

Búsqueda de documentos

  1. Utilice la función de búsqueda en la interfaz web
  2. O integrar con Cursor usando el protocolo MCP

Integración de MCP con Cursor

  1. Cursor abierto
  2. Vaya a Configuración → IA y MCP
  3. Agregar servidor MCP personalizado con URL: http://localhost:8000/mcp/v1
  4. Guardar la configuración
  5. Ahora puedes consultar tu base de conocimiento PDF directamente desde Cursor

Solución de problemas

Problemas de conexión

  • Verifique que el puerto 8000 no esté en uso por otras aplicaciones
  • Compruebe que la conexión WebSocket funciona correctamente
  • Asegúrese de que su navegador admita WebSockets

Problemas de procesamiento

  • Comprueba si tu PDF contiene texto extraíble (es posible que algunos PDF escaneados no lo contengan)
  • Asegúrese de que el sistema tenga suficientes recursos (memoria y CPU)
  • Consulte los registros del backend para ver mensajes de error detallados

Estructura del proyecto

PdfRagMcpServer/ ├── backend/ # FastAPI backend │ ├── app/ │ │ ├── __init__.py │ │ ├── main.py # Main FastAPI application │ │ ├── database.py # Database models │ │ ├── pdf_processor.py # PDF processing logic │ │ ├── vector_store.py # Vector database interface │ │ └── websocket.py # WebSocket handling │ ├── static/ # Static files for the web interface │ └── requirements.txt # Backend dependencies ├── frontend/ # React frontend │ ├── public/ │ ├── src/ │ │ ├── components/ # UI components │ │ ├── context/ # React context │ │ ├── pages/ # Page components │ │ └── App.jsx # Main application component │ ├── package.json # Frontend dependencies │ └── vite.config.js # Vite configuration ├── uploads/ # PDF file storage └── README.md # This documentation

Contribuyendo

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

Licencia

Este proyecto está licenciado bajo la licencia MIT: consulte el archivo de LICENCIA para obtener más detalles.

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

hybrid server

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

Un sistema de base de conocimiento de documentos que permite a los usuarios cargar archivos PDF y consultarlos semánticamente a través de una interfaz web o mediante el Protocolo de Contexto de Modelo, lo que permite la integración con herramientas de IA como Cursor.

  1. Características
    1. Arquitectura del sistema
      1. Inicio rápido
        1. Prerrequisitos
        2. Instalación y puesta en marcha rápida con uv y run.py
        3. Construyendo el frontend (para desarrolladores)
        4. Configuración de producción sencilla
        5. Configuración de desarrollo (servicios separados)
      2. Uso
        1. Carga de documentos
        2. Búsqueda de documentos
        3. Integración de MCP con Cursor
      3. Solución de problemas
        1. Problemas de conexión
        2. Problemas de procesamiento
      4. Estructura del proyecto
        1. Contribuyendo
          1. Licencia

            Related MCP Servers

            • A
              security
              A
              license
              A
              quality
              A powerful Model Context Protocol framework that extends Cursor IDE with tools for web content retrieval, PDF processing, and Word document parsing.
              Last updated -
              8
              9
              Python
              MIT License
              • Linux
              • Apple
            • -
              security
              -
              license
              -
              quality
              A Retrieval-Augmented Generation server that enables semantic PDF search with OCR capabilities, allowing users to query document content through any MCP client and receive intelligent answers.
              Last updated -
              1
              Python
              Apache 2.0
            • -
              security
              -
              license
              -
              quality
              A TypeScript-based document processing server that supports various document formats (.docx, .pdf, .xlsx) and integrates with Model Context Protocol SDK for efficient document context management.
              Last updated -
              TypeScript
              MIT License
            • -
              security
              A
              license
              -
              quality
              A Model Context Protocol (MCP) based server that efficiently manages PDF files, allowing AI coding tools like Cursor to read, summarize, and extract information from PDF datasheets to assist embedded development work.
              Last updated -
              Apache 2.0

            View all related MCP servers

            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/hyson666/pdf-rag-mcp-server'

            If you have feedback or need assistance with the MCP directory API, please join our Discord server