PaperLab
Local-first PDF reader for researchers: notes anchored to the page, AI answers that cite it. Runs offline with Ollama.
Install / Use
claude mcp add khannoussi-malek -- npx -y github:khannoussi-malek/PaperLabIf the server publishes to npm under a different name, use that package instead — check the repo README.
MCP Server
Model Context Protocol server
Quality Score
Category
AI & Machine LearningSupported Platforms
Our assessment of PaperLab
PaperLab scores 72/100 on our quality scale, 868th of 941 AI & Machine Learning skills we index.
Its MCP Server is 51 KB long, well organised into 16 sections with 6 code examples: long enough that it reads more like full documentation than a focused instruction file, which agents can find harder to follow.
It has 10 GitHub stars, so there is little community track record yet; judge it on its content.
Maintenance, license and trust
- The repository was last updated today, so PaperLab is actively maintained.
- It is released under the Apache-2.0 license, a permissive license that allows use, modification and commercial use with attribution.
- Its trust signals score 97/100, with no cautions. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.
PaperLab compared with similar skills
All 4 of these similar skills score higher than PaperLab; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| PaperLab (this skill)by khannoussi-malek | 72 | 10 | today | MCP Server |
| claude-memby thedotmack | 100 | 111.7k | 1d ago | CLAUDE.md |
| Agent-Reachby Panniantong | 100 | 108.4k | 2d ago | CLAUDE.md |
| Understand-Anythingby Egonex-AI | 100 | 90.2k | 8d ago | CLAUDE.md |
| headroomby headroomlabs-ai | 100 | 78.7k | today | CLAUDE.md |
Frequently asked questions
- How do I install PaperLab?
- Run
claude mcp add khannoussi-malek -- npx -y github:khannoussi-malek/PaperLab. The install tabs above show the steps for each supported agent. - Which AI agents does PaperLab work with?
- It is written for Claude Code and Claude Desktop, as a MCP Server file. Other agents that read the same format can often use it too.
- Is PaperLab safe to use?
- It is Apache-2.0-licensed and scores 97/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is PaperLab still maintained?
- The repository was last updated today, so PaperLab is actively maintained.
Skill content
View source on GitHubPaperLab
Website · Download · ⭐ Star it to get new releases in your GitHub feed · Follow on LinkedIn for a weekly breakdown of how one feature works
PaperLab is a research reading tool that runs on your own machine. You drop in PDFs, read them, highlight passages, and write notes that stay attached to the exact spot they came from. You can ask a paper questions and get answers that cite the passages they used, then keep the useful parts as notes.
The note is the main thing in PaperLab, not the chat. Anything an AI wrote is stored apart from what you wrote and is always marked as AI in the interface.
What you can do
Build a library
<picture> <source media="(prefers-color-scheme: dark)" srcset=".github/assets/feature-library-dark.png"> <img alt="The library list with two papers still processing, a hovered paper's first-page preview with its authors, year and venue, and the Edit details card." src=".github/assets/feature-library.png"> </picture>- Upload PDFs. A background worker extracts the text, splits it into sections and chunks, and indexes it for search.
- Find papers by title, DOI or arXiv ID with Find papers. It asks every paper source you turn on in Settings → Paper sources at once (arXiv, Crossref, CORE, Unpaywall and Semantic Scholar are free; OpenAlex can cost money and stays off until you tick it), shows one list with the sources that found each paper, and adds one in a click when a free PDF exists (arXiv, a repository or an open-access publisher). A paper with no free copy links to its page, so you can download it yourself. Nothing gets past a paywall.
- Hover a paper in the list to preview its first page and details.
- With OpenAlex ticked in Settings, fill in each paper's title, authors, year, venue and topics from OpenAlex, and correct any of them by hand with Edit details. Your corrections are kept when a paper is processed again.
- A retracted paper shows a banner at the top of the reader that can't be dismissed.
- Manage models in Settings: add connections and keys, test them, choose which models chat lists and the default, pull and delete Ollama models with live progress. Keys stay in your local database and are never sent back to the browser.
Group papers into workspaces
<picture> <source media="(prefers-color-scheme: dark)" srcset=".github/assets/feature-workspaces-dark.png"> <img alt="A workspace called Dense retrieval, open on its Chat tab, where an AI answer cites passages from its papers and one of your notes." src=".github/assets/feature-workspaces.png"> </picture>- Group papers into workspaces (a paper can be in several), see all their notes in one place, and chat with a whole workspace: answers cite passages from its papers and your notes.
Read and highlight
<picture> <source media="(prefers-color-scheme: dark)" srcset=".github/assets/feature-reading-dark.png"> <img alt="A page of the BERT paper highlighted in five colours, the note card that opens when you hover a highlight, and the right-click menu with Copy quote." src=".github/assets/feature-reading.png"> </picture>- Read in a PDF.js reader with zoom, in a light, dark or system theme. The page itself stays white.
- Select text to highlight it in one of five colours, or a custom one, and add a note if you want.
- Pick a Lens in the toolbar to read one part of a paper at a time: Key ideas (abstract, introduction and conclusion), Critical check (method, results and limitations), How they did it or Related work. Text outside the lens fades while the headings stay readable, and the arrows step through it.
- The Lens tab lists the paper's sections and what each one is. PaperLab works this out from the headings; when it gets one wrong, change it from the section's ⋯ menu. Your fix is kept, even when the paper is processed again.
- Ask for a brief of a lens: an AI summary that cites its passages, marked AI with the model that wrote it. It tells you when the sections behind it have changed, so you can write it again.
- Hover a highlight to see, edit, recolour or delete its note in place. Right-click it for the same actions and "Copy quote".
- Resize the side panel by dragging its edge. It remembers the width.
Follow a citation
<picture> <source media="(prefers-color-scheme: dark)" srcset=".github/assets/feature-follow-a-citation-dark.png"> <img alt="A page of a paper where hovering a numbered citation opens its reference: one already in your library with Open in PaperLab, one not yet added with Add to library, and a Back to page 4 pill." src=".github/assets/feature-follow-a-citation.png"> </picture>- Hover a numbered citation the PDF links, like
[51], to see which paper it is: its details once the paper's references are looked up, with Open in PaperLab when it's in your library or Add to library when a free PDF exists, and otherwise the entry exactly as the reference list prints it. Click it to jump to that entry, and Back to page N takes you back to where you were. Tab reaches every citation too.
See how your papers connect
<picture> <source media="(prefers-color-scheme: dark)" srcset=".github/assets/feature-see-connections-dark.png"> <img alt="The library as a graph: papers as dots coloured by workspace, joined by citations and similar content, with the link layers and their counts beside it and tabs for the 2D, 3D, Matrix, Timeline and Rings views." src=".github/assets/feature-see-connections.png"> </picture>- Open the Graph page to see how your papers connect: what cites what, papers in the same workspace, a note anchored on two of them, a shared author or topic, and papers that simply read alike — each a layer you can switch on or off. Similar content comes from the same embeddings search uses. Click a paper to focus it and list its connections, and draw your own link between two papers with a label like "builds on". Look at it five ways: the 2D map, a 3D one you can turn around when clusters overlap, a Matrix of exactly which papers connect and how (a table a screen reader can read cell by cell), a Timeline of what builds on older work, by year published or date added, and Rings showing how many links away everything is from one paper.
Follow the references
<picture> <source media="(prefers-color-scheme: dark)" srcset=".github/assets/feature-references-dark.png"> <img alt="A paper's References tab ranked for your library, one reference marked In library and one offering Import, beside the Similar panel suggesting papers that read alike." src=".github/assets/feature-references.png"> </picture>- Open a paper's References tab to see what it cites and what has cited it since, ranked for your library: references several of your papers cite come first, then ones close to what you write notes about, then ones with a free PDF. Import a reference in a click when a free PDF exists.
- Open a paper's Similar tab for papers like it, suggested by Semantic Scholar, and add them the same way.
- Record how far you've read each paper, following S. Keshav's three-pass method ("How to Read a Paper", 2007): mark passes 1, 2 and 3 as you finish them, and keep, defer or drop a paper, from its Reading button in the reader or its menu in the library. The Reading button shows what each pass covers and when it's done; the library shows where each paper stands and filters by it. Only you set this: PaperLab never marks a pass for you.
- Mark references To read in a paper's References tab. The References page lists them, with the works several of your papers cite and the works that cite several of them, newest first, across the library or one workspace, and says how many papers' references it has looked up so far.
Capture data and chart it
<picture> <source media="(prefers-color-scheme: dark)" srcset=".github/assets/feature-chart-your-data-dark.png"> <img alt="A chart of a paper's F1 scores next to your own runs from a CSV; clicking a point opens the table on its page in the paper." src=".github/assets/feature-chart-your-data.png"> </picture>- Capture a table by drawing a box over it, or select a number like
88.5 ± 0.3to keep it, add your own data from a CSV, and chart them side by side. Click any point on a chart to open its page in the paper.
Keep notes that stay findable
<picture> <source media="(prefers-color-scheme: dark)" srcset=".github/assets/feature-notes-dark.png"> <img alt="A page with two highlights, each linked to its note: one marked You and one marked AI, both on page 4, under You and AI filter chips." src=".github/assets/feature-notes.png"> </picture>- Every note keeps the page and position of its passage. Click a note to jump back to it in the paper.
- A note can also sit on a whole paper, on several papers, or on none. Press Papers on a note in the reader or on the Notes page to choose its papers; untick one and the note's highlight there goes too.
- The Notes page lists every note, and filters them by paper or by "No paper".
- Each note shows who wrote it: You, AI, or AI · edited.
- Filter the notes list to show only your notes, only AI notes, or both.
- Test yourself after each reading pass: write the five Cs, a summary or a reconstruction, and the model points out what's missing or unsupported, with links to the passages. It never writes the answer for you.
Ask a paper questions
<picture> <source media="(prefers-color-scheme: dark)" srcset=".github/assets/feature-ask-a-paper-dark.png"> <img alt="A question and an AI answer citing [C1] and [C2]; hovering [C1] shows its page and section, a line leads to that passage flashed on the page, and part of the answer is saved as an AI note." src=".github/assets/feature-ask-a-paper.png"> </picture>- Chat with one paper at a time. Answers stream in as they are written.
- Pick the model for each question from the chat panel: a local Ollama model, Anthropic with your own key, or any OpenAI-compatible server (OpenAI, OpenRouter, Groq, Mistral, DeepSeek, Gemini, LM Studio, vLLM, llama.cpp). Cloud models are tagged "Cloud". Each answer keeps the model and connection that wrote it.
- Answers cite the passages they use, like
[C1]. Hover a citation to see its page and section, and click it to scroll the paper to that passage and flash it. - A short paper is sent to the model whole. A long one is searched first, and only the most relevant passages are sent.
- Your notes on the paper go to the model with its passages, marked You or AI, and answers can cite them like
[N1]. Click one to jump to that note. - Press Follow up under an answer to ask about it. The model gets your earlier questions and the passages they used, never its own earlier
Truncated for display — read the full file on GitHub.
Related Skills
claude-mem
111.7kPersistent Context Across Sessions for Every Agent – Captures everything your agent does during sessions, compresses it with AI, and injects relevant context back into future sessions. Works with Claude Code, OpenClaw, Codex, Gemini, Hermes, Copilot, OpenCode + More
Agent-Reach
108.4kGive your AI agent eyes to see the entire internet. Read & search Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu — one CLI, zero API fees.
Understand-Anything
90.2kGraphs that teach > graphs that impress. Turn any code into an interactive knowledge graph you can explore, search, and ask questions about. Works with Claude Code, Codex, Cursor, Copilot, Gemini CLI, and more.
headroom
78.7kCompress tool outputs, logs, files, and RAG chunks before they reach the LLM. 20% fewer tokens for coding agents, 60-95% fewer tokens for JSON, same answers. Library, proxy, MCP server.
Languages
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.
