PDF RAG MCP Server

by hyson666
2
  • Linux
  • Apple

Integrations

  • Powers the modern web interface with a React-based UI component library for document management and querying

  • Provides the backend framework that handles API requests, PDF processing, and vector storage operations

  • Supports version control for the project installation process

PDF RAG MCP Server

Ein leistungsstarkes Dokumenten-Wissensdatenbanksystem, das PDF-Verarbeitung, Vektorspeicherung und MCP (Model Context Protocol) nutzt, um semantische Suchfunktionen für PDF-Dokumente bereitzustellen. Mit diesem System können Sie PDF-Dokumente über eine moderne Weboberfläche oder über das MCP-Protokoll hochladen, verarbeiten und abfragen, um sie mit KI-Tools wie Cursor zu integrieren.

Merkmale

  • Hochladen und Verarbeiten von PDF-Dokumenten : Laden Sie PDFs hoch und extrahieren, zerlegen und vektorisieren Sie Inhalte automatisch
  • Echtzeit-Verarbeitungsstatus : WebSocket-basierte Echtzeit-Statusaktualisierungen während der Dokumentverarbeitung
  • Semantische Suche : Vektorbasierte semantische Suche über alle verarbeiteten Dokumente
  • MCP-Protokollunterstützung : Integration mit KI-Tools wie Cursor mithilfe des Model Context Protocol
  • Moderne Weboberfläche : React/Chakra-UI-Frontend für Dokumentenverwaltung und -abfragen
  • Schnelles Abhängigkeitsmanagement : Verwendet UV für effizientes Python-Abhängigkeitsmanagement

Systemarchitektur

Das System besteht aus:

  • FastAPI-Backend : Verarbeitet API-Anfragen, PDF-Verarbeitung und Vektorspeicherung
  • React Frontend : Bietet eine benutzerfreundliche Oberfläche zur Verwaltung von Dokumenten
  • Vektordatenbank : Speichert Einbettungen für die semantische Suche
  • WebSocket-Server : Bietet Echtzeit-Updates zur Dokumentenverarbeitung
  • MCP-Server : Stellt die Wissensdatenbank MCP-kompatiblen Clients zur Verfügung

Schnellstart

Voraussetzungen

  • Python 3.8 oder höher
  • uv - Schneller Python-Paketinstaller und -Resolver
  • Git
  • Cursor (optional, für MCP-Integration)

Schnelle Installation und Start mit uv und run.py

  1. Klonen Sie das Repository:
    git clone https://github.com/yourusername/PdfRagMcpServer.git cd PdfRagMcpServer
  2. Installieren Sie uv, falls Sie es noch nicht haben:
    curl -sS https://astral.sh/uv/install.sh | bash
  3. Installieren Sie Abhängigkeiten mit uv:
    uv init . uv venv source .venv/bin/activate uv pip install -r backend/requirements.txt
  4. Starten Sie die Anwendung mit dem praktischen Skript:
    uv run run.py
  5. Greifen Sie auf die Weboberfläche unter http://localhost:8000 zu
  6. Verwendung mit Cursor

Gehen Sie zu Einstellungen -> Cursor-Einstellungen -> MCP -> Neuen globalen MCP-Server hinzufügen und fügen Sie den folgenden Text in Ihre Cursor-Datei ~/.cursor/mcp.json ein. Weitere Informationen finden Sie in der Cursor-MCP-Dokumentation.

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

Sie können localhost auch in die Host-IP ändern, unter der Sie den Dienst bereitgestellt haben. Nachdem diese Konfiguration zum MCP-JSON hinzugefügt wurde, wird der MCP-Server auf der Cursor-MCP-Konfigurationsseite angezeigt. Aktivieren Sie ihn, um den Server zu aktivieren:

Erstellen des Frontends (für Entwickler)

Wenn Sie das Frontend neu erstellen müssen, haben Sie zwei Möglichkeiten:

Option 1: Verwenden des bereitgestellten Skripts (empfohlen)
# Make the script executable if needed chmod +x build_frontend.py # Run the script ./build_frontend.py

Dieses Skript führt automatisch Folgendes aus:

  • Installieren Sie Frontend-Abhängigkeiten
  • Erstellen Sie das Frontend
  • Kopieren Sie die Build-Ausgabe in das statische Verzeichnis des Backends
Option 2: Manueller Build-Prozess
# 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/

Nachdem Sie das Frontend erstellt haben, können Sie die Anwendung mit dem Skript run.py starten.

Einfaches Produktions-Setup

Für eine Produktionsumgebung, in der die statischen Dateien bereits erstellt wurden:

  1. Platzieren Sie Ihr vorgefertigtes Frontend im Verzeichnis backend/static
  2. Starten Sie den Server:
    cd backend uv pip install -r requirements.txt python -m app.main

Entwicklungs-Setup (Separate Dienste)

Wenn Sie die Dienste für die Entwicklung separat ausführen möchten:

Backend
  1. Navigieren Sie zum Backend-Verzeichnis:
    cd backend
  2. Installieren Sie die Abhängigkeiten mit uv:
    uv pip install -r requirements.txt
  3. Führen Sie den Backend-Server aus:
    python -m uvicorn app.main:app --host 0.0.0.0 --port 8000 --reload
Frontend
  1. Navigieren Sie zum Frontend-Verzeichnis:
    cd frontend
  2. Installieren Sie die Abhängigkeiten:
    npm install
  3. Führen Sie den Entwicklungsserver aus:
    npm run dev

Verwendung

Hochladen von Dokumenten

  1. Greifen Sie auf die Weboberfläche unter http://localhost:8000 zu
  2. Klicken Sie auf „Neues PDF hochladen“ und wählen Sie eine PDF-Datei aus
  3. Das System verarbeitet die Datei und zeigt den Fortschritt in Echtzeit an
  4. Nach der Bearbeitung steht das Dokument zur Suche zur Verfügung

Dokumente suchen

  1. Verwenden Sie die Suchfunktion in der Weboberfläche
  2. Oder integrieren Sie Cursor mithilfe des MCP-Protokolls

MCP-Integration mit Cursor

  1. Cursor öffnen
  2. Gehen Sie zu Einstellungen → KI & MCP
  3. Fügen Sie einen benutzerdefinierten MCP-Server mit der URL hinzu: http://localhost:8000/mcp/v1
  4. Speichern Sie die Einstellungen
  5. Jetzt können Sie Ihre PDF-Wissensdatenbank direkt vom Cursor aus abfragen

Fehlerbehebung

Verbindungsprobleme

  • Stellen Sie sicher, dass Port 8000 nicht von anderen Anwendungen verwendet wird
  • Überprüfen Sie, ob die WebSocket-Verbindung ordnungsgemäß funktioniert
  • Stellen Sie sicher, dass Ihr Browser WebSockets unterstützt

Verarbeitungsprobleme

  • Überprüfen Sie, ob Ihr PDF extrahierbaren Text enthält (bei manchen gescannten PDFs ist dies möglicherweise nicht der Fall).
  • Stellen Sie sicher, dass das System über ausreichend Ressourcen (Speicher und CPU) verfügt.
  • Überprüfen Sie die Backend-Protokolle auf detaillierte Fehlermeldungen

Projektstruktur

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

Beitragen

Beiträge sind willkommen! Senden Sie gerne einen Pull Request.

Lizenz

Dieses Projekt ist unter der MIT-Lizenz lizenziert – Einzelheiten finden Sie in der Datei LICENSE.

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

Ein Dokumenten-Wissensdatenbanksystem, das es Benutzern ermöglicht, PDFs hochzuladen und sie über eine Weboberfläche oder über das Model Context Protocol semantisch abzufragen, was die Integration mit KI-Tools wie Cursor ermöglicht.

  1. Merkmale
    1. Systemarchitektur
      1. Schnellstart
        1. Voraussetzungen
        2. Schnelle Installation und Start mit uv und run.py
        3. Erstellen des Frontends (für Entwickler)
        4. Einfaches Produktions-Setup
        5. Entwicklungs-Setup (Separate Dienste)
      2. Verwendung
        1. Hochladen von Dokumenten
        2. Dokumente suchen
        3. MCP-Integration mit Cursor
      3. Fehlerbehebung
        1. Verbindungsprobleme
        2. Verarbeitungsprobleme
      4. Projektstruktur
        1. Beitragen
          1. Lizenz

            Related MCP Servers

            • A
              security
              F
              license
              A
              quality
              A Model Context Protocol server that enables AI models to interact with SourceSync.ai's knowledge management platform for managing documents, ingesting content from various sources, and performing semantic searches.
              Last updated -
              25
              14
              • Apple
              • Linux
            • A
              security
              A
              license
              A
              quality
              A Model Context Protocol implementation that enables AI assistants to interact with markdown documentation files, providing capabilities for document management, metadata handling, search, and documentation health analysis.
              Last updated -
              14
              346
              11
              TypeScript
              MIT License
              • Apple
              • Linux
            • 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
              8
              Python
              MIT License
              • Linux
              • Apple
            • A
              security
              A
              license
              A
              quality
              A Model Context Protocol server that enables AI assistants to create, read, edit, and format Microsoft Word documents through standardized tools and resources.
              Last updated -
              16
              88
              Python
              MIT License
              • Apple

            View all related MCP servers

            ID: t7pa9m5266