rag-pipeline
RAG Pipeline
Un pipeline de recuperación local, acelerado por GPU, para artículos de investigación: analiza PDFs con fragmentación consciente del diseño, obtiene metadatos bibliográficos reales (DOI → CrossRef), genera embeddings híbridos densos + dispersos y almacena todo en Qdrant para búsqueda híbrida con reordenamiento. Diseñado para ser consultado directamente desde Claude a través de un servidor MCP.
Por qué
Dejar artículos en una carpeta los hace invisibles para la búsqueda. Esto convierte un montón de PDFs en algo consultable: fragmentos adecuados por sección/párrafo (no un divisor de caracteres ingenuo), metadatos listos para citar obtenidos automáticamente de CrossRef, y recuperación híbrida densa+dispersa para que funcionen tanto las consultas semánticas como las de términos exactos — todo expuesto como herramientas MCP para que Claude pueda buscar e ingerir artículos directamente.
Related MCP server: Personal Research Assistant MCP
Características
Análisis de PDFs consciente del diseño mediante Docling — fragmenta por párrafo/sección en lugar de un divisor de caracteres ingenuo, conserva números de página y encabezados de sección por fragmento.
Metadatos bibliográficos reales — extrae un DOI de la página 1 mediante regex, resuelve los datos completos de la cita (título, autores, revista, año, volumen/número/páginas) a través de la API de CrossRef, y recurre a los metadatos propios del PDF cuando no se encuentra un DOI.
Embeddings híbridos — vectores densos (
BAAI/bge-m3) + dispersos (SPLADE,prithvida/Splade_PP_EN_v1) por fragmento, almacenados juntos en Qdrant para recuperación híbrida.Ingesta en segundo plano — un worker de Redis + RQ para que los PDFs grandes no bloqueen una solicitud; contenedor Docker habilitado para GPU para la generación de embeddings.
Servidor MCP que expone dos herramientas a Claude —
search_papers(búsqueda híbrida con reordenamiento) yingest_paper(deja un PDF directamente en el índice) — pensado para funcionar como una memoria de artículos de investigación que Claude puede consultar directamente.Dockerizado — contenedores de Qdrant + Redis + API/worker habilitados para GPU mediante
docker-compose.
Stack tecnológico
Python · Docling (análisis de PDFs) · sentence-transformers (embeddings densos BGE-M3) · fastembed (embeddings dispersos SPLADE) · Qdrant (búsqueda vectorial híbrida) · Redis + RQ (cola de trabajos en segundo plano) · FastAPI (capa API planificada) · MCP (servidor de Protocolo de Contexto de Modelo para Claude) · Docker Compose, contenedor GPU CUDA 12.9.
Estado
Trabajo en progreso — aún no está completamente conectado de extremo a extremo.
Funciona hoy: ingest.py se ejecuta de forma independiente desde la CLI — analiza un PDF, obtiene sus metadatos, lo incrusta (denso + disperso) y lo sube a Qdrant. Apúntalo a una instancia de Qdrant en ejecución y funciona.
Falta: main.py, el servicio FastAPI que se supone que expone /search, /ingest y /health — el Dockerfile lo copia, el healthcheck de Docker Compose lo verifica, el worker de RQ espera que algo le encargue trabajos, y las dos herramientas de Claude en mcp_server.py lo llaman por HTTP en localhost:8000. Sin él, el worker no tiene nada que consumir, las herramientas MCP no tienen backend con el que hablar, y docker-compose up no compilará (el paso de construcción de la imagen API/worker copia un archivo que no existe).
Los bind mounts de docker-compose.yml también siguen apuntando a una ruta de Windows (S:\RAG-data\...) de una configuración anterior — ajústalos a donde quieras que vivan los datos de Qdrant/Redis/caché de modelos antes de ejecutarlo.
Ejecutarlo (hoy)
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.pdfEl pipeline completo (stack de Docker Compose, API /search y /ingest, herramientas MCP) funcionará una vez que exista 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