Who it's for · Developers
For developers who want a real RAG codebase to read
PaperLab is a complete, open-source retrieval-augmented generation app: FastAPI and Postgres with pgvector on the back end, React and PDF.js on the front end, an ARQ worker for ingestion, an MCP server for Claude, versioned prompts, end-to-end tests against the real stack with a fake model, and a retrieval eval. It is licensed Apache-2.0, and issues labelled good first issue and paper-source are open for contributors.
What gets in the way, and what helps
Toy RAG demos
A full ingestion pipeline: extraction with coordinates, chunking, embeddings, citations to exact rectangles.
Semantic search →Learning MCP
A working MCP server with four tools, tested end to end.
Claude Desktop (MCP) →Provider lock-in
Adapters for Ollama, Anthropic and any OpenAI-compatible server.
Any model →A first open-source contribution
Add a paper source, or one eval question from your field, in an afternoon.
Find papers →
A workflow that works
- Clone the repository and run the stack with Docker Compose.
- Read backend/app/core for the domain logic, free of web-framework imports.
- Pick an issue labelled good first issue or paper-source.
Guides for you
- How to chat with a PDF locally, without uploading it — Ask papers questions with a local model, and check every answer against the page.
- How to use Claude Desktop with your papers — Connect your local library to Claude through MCP, and what gets sent.
Questions people ask
What is the tech stack?
FastAPI, Postgres 16 with pgvector, Redis and ARQ, PyMuPDF, ONNX Runtime; React, shadcn/ui and PDF.js; Electron for the desktop app.
How is retrieval evaluated?
A retrieval eval measures recall over a question set, and an answer eval scores model answers. Adding a question from your field is a welcome contribution.
Where do I start contributing?
CONTRIBUTING.md explains the setup and tests; issues labelled good first issue and paper-source are the easiest entry points.
Also for: PhD students · Master’s students · Librarians · Research groups