Skip to main content
Glama

🇵🇱 Polska wersja

RAG Pipeline

A local, GPU-accelerated retrieval pipeline for research papers — parses PDFs with layout-aware chunking, pulls real bibliographic metadata (DOI → CrossRef), embeds with hybrid dense + sparse vectors, and stores everything in Qdrant for hybrid search with reranking. Built to be queried directly from Claude through an MCP server.

Why

Dropping papers into a folder makes them invisible to search. This turns a pile of PDFs into something queryable: proper section/paragraph-aware chunks (not a naive character splitter), citation-ready metadata pulled automatically from CrossRef, and hybrid dense+sparse retrieval so both semantic and exact-term queries work — all exposed as MCP tools so Claude can search and ingest papers directly.

Related MCP server: Personal Research Assistant MCP

Features

  • Layout-aware PDF parsing via Docling — chunks by paragraph/section instead of a naive character splitter, keeps page numbers and section headings per chunk.

  • Real bibliographic metadata — regex-extracts a DOI from page 1, resolves full citation data (title, authors, journal, year, volume/issue/pages) via the CrossRef API, falls back to the PDF's own metadata when no DOI is found.

  • Hybrid embeddings — dense (BAAI/bge-m3) + sparse (SPLADE, prithvida/Splade_PP_EN_v1) vectors per chunk, stored together in Qdrant for hybrid retrieval.

  • Background ingestion — a Redis + RQ worker so large PDFs don't block a request; GPU-enabled Docker container for embedding.

  • MCP server exposing two tools to Claude — search_papers (hybrid search with reranking) and ingest_paper (drop a PDF straight into the index) — meant to work as a research-paper memory Claude can query directly.

  • Dockerized — Qdrant + Redis + GPU-enabled API/worker containers via docker-compose.

Tech stack

Python · Docling (PDF parsing) · sentence-transformers (BGE-M3 dense embeddings) · fastembed (SPLADE sparse embeddings) · Qdrant (hybrid vector search) · Redis + RQ (background job queue) · FastAPI (planned API layer) · MCP (Model Context Protocol server for Claude) · Docker Compose, CUDA 12.9 GPU container.

Status

Work in progress — not fully wired up end to end yet.

Works today: ingest.py runs standalone from the CLI — parse a PDF, pull its metadata, embed it (dense + sparse), and upsert into Qdrant. Point it at a running Qdrant instance and it works.

Missing: main.py, the FastAPI service that's supposed to expose /search, /ingest, and /health — the Dockerfile copies it, the Docker Compose healthcheck pings it, the RQ worker expects something to be enqueuing jobs for it, and mcp_server.py's two Claude tools both call it over HTTP at localhost:8000. Without it, the worker has nothing to consume, the MCP tools have no backend to talk to, and docker-compose up won't build (the API/worker image's build step copies a file that isn't there).

The docker-compose.yml bind mounts also still point at a Windows path (S:\RAG-data\...) from an earlier setup — adjust those to wherever you want Qdrant/Redis/model cache data to live before running it.

Running it (today)

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

The full pipeline (Docker Compose stack, /search and /ingest API, MCP tools) will work once main.py exists.

Install Server
F
license - not found
A
quality
C
maintenance

Maintenance

–Maintainers
–Response time
–Release cycle
–Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables 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.
    4
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables 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.
  • A
    license
    B
    quality
    C
    maintenance
    Enables Claude Code to interact with Jupyter notebooks, perform semantic search over knowledge files, and manage research projects.
    33
    4
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    A second brain for researchers — gives Claude persistent memory of your papers, field, and working history, with answers cited from your own indexed library
    100
    3
    AGPL 3.0

View all related MCP servers

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.

View all MCP Connectors

Latest Blog Posts

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