rag-pipeline
RAG Pipeline
Локальный конвейер извлечения с GPU-ускорением для научных статей — разбирает PDF с учетом структуры layout, получает реальные библиографические метаданные (DOI → CrossRef), создает гибридные dense + sparse эмбеддинги и хранит всё в Qdrant для гибридного поиска с реранкингом. Создан для запросов напрямую из Claude через MCP-сервер.
Зачем
Если просто складывать PDF в папку, они невидимы для поиска. Этот проект превращает кучу PDF во что-то доступное для запросов: правильные чанки с учетом разделов/абзацев (а не наивное разбиение по символам), готовые к цитированию метаданные, автоматически подтянутые из CrossRef, и гибридный dense+sparse поиск, чтобы работали и семантические запросы, и точное совпадение терминов — всё это доступно как MCP-инструменты, так что Claude может напрямую искать и загружать статьи.
Related MCP server: Personal Research Assistant MCP
Возможности
Разбор PDF с учетом layout через Docling — разбиение на чанки по абзацам/разделам вместо наивного деления по символам; для каждого чанка сохраняются номера страниц и заголовки разделов.
Настоящие библиографические метаданные — DOI извлекается с первой страницы с помощью регулярных выражений, полные данные цитирования (название, авторы, журнал, год, том/выпуск/страницы) получаются через CrossRef API; если DOI не найден, используются метаданные самого PDF.
Гибридные эмбеддинги — dense (
BAAI/bge-m3) + sparse (SPLADE,prithvida/Splade_PP_EN_v1) векторы для каждого чанка, хранятся вместе в Qdrant для гибридного поиска.Фоновая загрузка — воркер Redis + RQ, чтобы большие PDF не блокировали запрос; Docker-контейнер с GPU для эмбеддингов.
MCP-сервер с двумя инструментами для Claude —
search_papers(гибридный поиск с реранкингом) иingest_paper(добавление PDF прямо в индекс) — предназначен для работы как память о научных статьях, к которой Claude может обращаться напрямую.Полная контейнеризация — контейнеры Qdrant + Redis + API/воркер с GPU через
docker-compose.
Технологический стек
Python · Docling (разбор PDF) · sentence-transformers (dense-эмбеддинги BGE-M3) · fastembed (sparse-эмбеддинги SPLADE) · Qdrant (гибридный векторный поиск) · Redis + RQ (фоновая очередь задач) · FastAPI (планируемый слой API) · MCP (сервер Model Context Protocol для Claude) · Docker Compose, GPU-контейнер CUDA 12.9.
Статус
В разработке — пока не полностью связан в единый конвейер.
Уже работает: ingest.py запускается автономно из CLI — разбирает PDF, получает метаданные, создает эмбеддинги (dense + sparse) и загружает в Qdrant. Укажите запущенный экземпляр Qdrant — и всё работает.
Чего не хватает: main.py — сервис FastAPI, который должен предоставлять /search, /ingest и /health. Dockerfile копирует его, healthcheck в Docker Compose пингует его, RQ-воркер ожидает, что кто-то будет ставить для него задачи в очередь, а оба инструмента Claude в mcp_server.py обращаются к нему по HTTP на localhost:8000. Без него воркеру нечего обрабатывать, инструментам MCP не с чем общаться, а docker-compose up не соберется (на этапе сборки образа API/воркера копируется несуществующий файл).
В docker-compose.yml bind-монтирования по-прежнему указывают на путь Windows (S:\RAG-data\...) из более ранней настройки — измените их на нужное расположение данных Qdrant/Redis/кэша моделей перед запуском.
Запуск (на данный момент)
uv sync
# Qdrant needs to be running somewhere ingest.py can reach:
docker run -p 6333:6333 qdrant/qdrant
python ingest.py path/to/paper.pdfПолный конвейер (стек Docker Compose, API /search и /ingest, инструменты MCP) заработает, когда появится main.py.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Tools
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables Claude to perform hybrid search across local documents by combining semantic vector retrieval and BM25 keyword matching for optimal context recovery. It supports multiple file formats including PDF, CSV, and Markdown, leveraging local Ollama models for private and efficient document querying.4MIT
- FlicenseNot gradedqualityDmaintenanceEnables semantic search and conversational querying across a personal research library of PDFs, DOCX, and other documents using a vector database. It provides tools for document summarization, finding related papers, and high-accuracy retrieval for AI clients like Claude Desktop.
- AlicenseBqualityCmaintenanceEnables Claude Code to interact with Jupyter notebooks, perform semantic search over knowledge files, and manage research projects.334MIT
- AlicenseAqualityCmaintenanceA second brain for researchers — gives Claude persistent memory of your papers, field, and working history, with answers cited from your own indexed library1003AGPL 3.0
Related MCP Connectors
Search arXiv/Semantic Scholar/OpenAlex + medical evidence (PubMed/Europe PMC) + LaTeX/PDF tools.
Search arXiv and ACL Anthology, retrieve citations and references, and browse web sources to accel…
Search 340M+ academic papers — citation graphs, semantic similarity, and AI literature reviews.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/jansc4/rag-pipeline'
If you have feedback or need assistance with the MCP directory API, please join our Discord server