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
Клонируйте репозиторий:
git clone https://github.com/yourusername/PdfRagMcpServer.git cd PdfRagMcpServerУстановите uv, если у вас его еще нет:
curl -sS https://astral.sh/uv/install.sh | bashУстановите зависимости с помощью uv:
uv init . uv venv source .venv/bin/activate uv pip install -r backend/requirements.txtЗапустите приложение с помощью удобного скрипта:
uv run run.pyДоступ к веб-интерфейсу по адресу http://localhost:8000
Использование с курсором
Перейдите в Настройки -> Настройки курсора -> MCP -> Добавить новый глобальный сервер MCP, вставьте ниже в файл Cursor ~/.cursor/mcp.json. Для получения дополнительной информации см. документацию Cursor MCP.
Вы также можете изменить localhost на IP-адрес хоста, на котором вы развернули службу. После добавления этой конфигурации в mcp json вы увидите, что сервер mcp отображается на странице конфигурации Cursor mcp, включите его, чтобы включить сервер:
Создание фронтенда (для разработчиков)
Если вам необходимо перестроить интерфейс, у вас есть два варианта:
Вариант 1: использование предоставленного скрипта (рекомендуется)
Этот скрипт автоматически:
Установка зависимостей интерфейса
Создание интерфейса
Скопируйте вывод сборки в статический каталог бэкэнда.
Вариант 2: Ручной процесс сборки
После создания интерфейса вы можете запустить приложение с помощью скрипта run.py.
Простая настройка производства
Для производственной среды, где статические файлы уже созданы:
Поместите готовый фронтенд в каталог
backend/static
Запустите сервер:
cd backend uv pip install -r requirements.txt python -m app.main
Настройка разработки (отдельные службы)
Если вы хотите запустить службы отдельно для разработки:
Бэкэнд
Перейдите в каталог бэкэнда:
cd backendУстановите зависимости с помощью uv:
uv pip install -r requirements.txtЗапустите внутренний сервер:
python -m uvicorn app.main:app --host 0.0.0.0 --port 8000 --reload
Внешний интерфейс
Перейдите в каталог интерфейса:
cd frontendУстановите зависимости:
npm installЗапустите сервер разработки:
npm run dev
Использование
Загрузка документов
Доступ к веб-интерфейсу по адресу http://localhost:8000
Нажмите «Загрузить новый PDF» и выберите PDF-файл.
Система обработает файл, показывая прогресс в режиме реального времени.
После обработки документ будет доступен для поиска.
Поиск документов
Используйте функцию поиска в веб-интерфейсе
Или интегрируйте с Cursor, используя протокол MCP
Интеграция MCP с курсором
Открытый курсор
Перейдите в Настройки → ИИ и MCP.
Добавьте пользовательский сервер MCP с URL-адресом:
http://localhost:8000/mcp/v1
Сохраните настройки
Теперь вы можете запрашивать информацию из базы знаний PDF-файлов непосредственно из Курсора
Поиск неисправностей
Проблемы с подключением
Убедитесь, что порт 8000 не используется другими приложениями.
Проверьте правильность работы соединения WebSocket.
Убедитесь, что ваш браузер поддерживает WebSockets
Проблемы с обработкой
Проверьте, содержит ли ваш PDF-файл извлекаемый текст (некоторые отсканированные PDF-файлы могут не содержать извлекаемый текст)
Убедитесь, что система имеет достаточные ресурсы (память и процессор)
Проверьте внутренние журналы на наличие подробных сообщений об ошибках.
Структура проекта
Внося вклад
Вклады приветствуются! Пожалуйста, не стесняйтесь отправлять запрос на включение.
Лицензия
Данный проект лицензирован по лицензии MIT — подробности см. в файле LICENSE.
This server cannot be installed
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Система базы знаний документов, которая позволяет пользователям загружать PDF-файлы и выполнять семантические запросы к ним через веб-интерфейс или через протокол контекста модели, обеспечивая интеграцию с инструментами ИИ, такими как Cursor.
Related MCP Servers
- -securityAlicense-qualityA 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 -7Apache 2.0
- -securityFlicense-qualityIntelligent knowledge base management tool that enables searching, browsing, and analyzing documents across multiple datasets with smart document analysis capabilities.Last updated -16
- -securityAlicense-qualityA Model Context Protocol server that enables intelligent document search and retrieval from PDF collections, providing semantic search capabilities powered by OpenAI embeddings and ChromaDB vector storage.Last updated -2MIT License
- -securityAlicense-qualityEnables interaction with BookStack knowledge management systems through the BookStack API. Supports searching, reading, creating, and updating documentation content with secure authentication and dual transport modes for flexible deployment.Last updated -MIT License