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-сервер

Мощная система базы знаний документов, которая использует обработку PDF, векторное хранилище и MCP (Model Context Protocol) для предоставления возможностей семантического поиска для документов PDF. Эта система позволяет загружать, обрабатывать и запрашивать документы PDF через современный веб-интерфейс или через протокол MCP для интеграции с инструментами ИИ, такими как Cursor.

Функции

  • Загрузка и обработка PDF-документов : загрузка PDF-файлов и автоматическое извлечение, разбиение на части и векторизация контента.
  • Статус обработки в реальном времени : обновление статуса в реальном времени на основе WebSocket во время обработки документа.
  • Семантический поиск : векторный семантический поиск по всем обработанным документам.
  • Поддержка протокола MCP : интеграция с инструментами ИИ, такими как Cursor, с использованием протокола контекста модели
  • Современный веб-интерфейс : интерфейс React/Chakra UI для управления документами и создания запросов
  • Быстрое управление зависимостями : использует uv для эффективного управления зависимостями Python

Архитектура системы

Система состоит из:

  • FastAPI Backend : обрабатывает запросы API, обрабатывает PDF-файлы и хранит векторные данные.
  • React Frontend : предоставляет удобный интерфейс для управления документами.
  • Векторная база данных : хранит вложения для семантического поиска
  • Сервер WebSocket : предоставляет обновления в режиме реального времени по обработке документов.
  • MCP Server : предоставляет базу знаний клиентам, совместимым с MCP.

Быстрый старт

Предпосылки

  • Python 3.8 или более поздняя версия
  • uv - Быстрый установщик и распознаватель пакетов Python
  • Гит
  • Курсор (опционально, для интеграции MCP)

Быстрая установка и запуск с помощью uv и run.py

  1. Клонируйте репозиторий:
    git clone https://github.com/yourusername/PdfRagMcpServer.git cd PdfRagMcpServer
  2. Установите uv, если у вас его еще нет:
    curl -sS https://astral.sh/uv/install.sh | bash
  3. Установите зависимости с помощью uv:
    uv init . uv venv source .venv/bin/activate uv pip install -r backend/requirements.txt
  4. Запустите приложение с помощью удобного скрипта:
    uv run run.py
  5. Доступ к веб-интерфейсу по адресу http://localhost:8000
  6. Использование с курсором

Перейдите в Настройки -> Настройки курсора -> MCP -> Добавить новый глобальный сервер MCP, вставьте ниже в файл Cursor ~/.cursor/mcp.json. Для получения дополнительной информации см. документацию Cursor MCP.

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

Вы также можете изменить localhost на IP-адрес хоста, на котором вы развернули службу. После добавления этой конфигурации в mcp json вы увидите, что сервер mcp отображается на странице конфигурации Cursor mcp, включите его, чтобы включить сервер:

Создание фронтенда (для разработчиков)

Если вам необходимо перестроить интерфейс, у вас есть два варианта:

Вариант 1: использование предоставленного скрипта (рекомендуется)
# Make the script executable if needed chmod +x build_frontend.py # Run the script ./build_frontend.py

Этот скрипт автоматически:

  • Установка зависимостей интерфейса
  • Создание интерфейса
  • Скопируйте вывод сборки в статический каталог бэкэнда.
Вариант 2: Ручной процесс сборки
# 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/

После создания интерфейса вы можете запустить приложение с помощью скрипта run.py.

Простая настройка производства

Для производственной среды, где статические файлы уже созданы:

  1. Поместите готовый фронтенд в каталог backend/static
  2. Запустите сервер:
    cd backend uv pip install -r requirements.txt python -m app.main

Настройка разработки (отдельные службы)

Если вы хотите запустить службы отдельно для разработки:

Бэкэнд
  1. Перейдите в каталог бэкэнда:
    cd backend
  2. Установите зависимости с помощью uv:
    uv pip install -r requirements.txt
  3. Запустите внутренний сервер:
    python -m uvicorn app.main:app --host 0.0.0.0 --port 8000 --reload
Внешний интерфейс
  1. Перейдите в каталог интерфейса:
    cd frontend
  2. Установите зависимости:
    npm install
  3. Запустите сервер разработки:
    npm run dev

Использование

Загрузка документов

  1. Доступ к веб-интерфейсу по адресу http://localhost:8000
  2. Нажмите «Загрузить новый PDF» и выберите PDF-файл.
  3. Система обработает файл, показывая прогресс в режиме реального времени.
  4. После обработки документ будет доступен для поиска.

Поиск документов

  1. Используйте функцию поиска в веб-интерфейсе
  2. Или интегрируйте с Cursor, используя протокол MCP

Интеграция MCP с курсором

  1. Открытый курсор
  2. Перейдите в Настройки → ИИ и MCP.
  3. Добавьте пользовательский сервер MCP с URL-адресом: http://localhost:8000/mcp/v1
  4. Сохраните настройки
  5. Теперь вы можете запрашивать информацию из базы знаний PDF-файлов непосредственно из Курсора

Поиск неисправностей

Проблемы с подключением

  • Убедитесь, что порт 8000 не используется другими приложениями.
  • Проверьте правильность работы соединения WebSocket.
  • Убедитесь, что ваш браузер поддерживает WebSockets

Проблемы с обработкой

  • Проверьте, содержит ли ваш PDF-файл извлекаемый текст (некоторые отсканированные PDF-файлы могут не содержать извлекаемый текст)
  • Убедитесь, что система имеет достаточные ресурсы (память и процессор)
  • Проверьте внутренние журналы на наличие подробных сообщений об ошибках.

Структура проекта

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

Внося вклад

Вклады приветствуются! Пожалуйста, не стесняйтесь отправлять запрос на включение.

Лицензия

Данный проект лицензирован по лицензии MIT — подробности см. в файле LICENSE.

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

Система базы знаний документов, которая позволяет пользователям загружать PDF-файлы и выполнять семантические запросы к ним через веб-интерфейс или через протокол контекста модели, обеспечивая интеграцию с инструментами ИИ, такими как Cursor.

  1. Функции
    1. Архитектура системы
      1. Быстрый старт
        1. Предпосылки
        2. Быстрая установка и запуск с помощью uv и run.py
        3. Создание фронтенда (для разработчиков)
        4. Простая настройка производства
        5. Настройка разработки (отдельные службы)
      2. Использование
        1. Загрузка документов
        2. Поиск документов
        3. Интеграция MCP с курсором
      3. Поиск неисправностей
        1. Проблемы с подключением
        2. Проблемы с обработкой
      4. Структура проекта
        1. Внося вклад
          1. Лицензия

            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