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

  1. Clone the repository and run the stack with Docker Compose.
  2. Read backend/app/core for the domain logic, free of web-framework imports.
  3. Pick an issue labelled good first issue or paper-source.

Guides for you

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

Help PaperLab reach the next researcher

PaperLab is free, open source and built by one person. A star helps other researchers find it and puts each new release in your GitHub feed. The PaperLab page on LinkedIn posts a weekly breakdown of how one feature works.