Active development · macOS 14+

A calmer shelf for serious reading.

PaperShelf keeps the PDFs on your Mac searchable, readable, annotated, and ready to cite. Its local MCP server lets an assistant help without sending the library away.

Latest release · v1.15.1
brew tap jonaprieto/papershelfbrew trust --cask jonaprieto/papershelf/papershelfbrew install --cask papershelfbrew update && brew upgrade --cask papershelfAd-hoc signed while notarization is on the roadmap.
PaperShelf catalogue showing a real collection of research papers
01 · Read

Keep the page and the thought together.

A focused PDF reader, full screen when you need it, with a highlight language you can extend, edit, and scope to a paper, project, folder, or whole library.

Make the vocabulary yours.

Start with five defaults. Add roles, rename them, change their colors, and override one paper or project without changing the rest of the library.

Highlighters
Worth remembering
Agree, or confirmed
Definition or key term
Disagree, or doubtful
Follow up

The notes rail follows the mark.

Select a highlight in the page and its matching note is selected in the inspector. Add a note, dictate one, or export the complete Markdown.

A passage worth remembering stays visible beside the note that explains why.
Worth remembering
p. 3
Follow up
p. 7
02 · Find

Search like you remember.

Use the query language when you know what you want, or press ⌘K when you only know that the feature exists.

Queries stay legible.

Search by title, author, abstract, text, folder, tag, year, pages, or size, and remove each filter as a chip.

Search
text: dependent colimityear: 2024tag: follow-up
18 papers · sorted by relevance

The palette makes the app discoverable.

Commands, tags, projects, documents, passages, pages, and shortcuts all live behind one native command surface.

⌘K · six prefixes
> commands
# tags
@ projects
/ passages
: page number
? shortcuts
03 · Keep in order

Every move gets a review.

PaperShelf proposes names, shows what changes, keeps originals when you ask, and gives the reviewer the final word.

Names are made from parts.

Drag a pattern into place, preview the result, and keep the text form beside it.

dateauthortitleyear
2025-kashyap-composition-aware-pretraining.pdfBuilt from date · author · title

The watcher catches the next copy.

When a watched folder changes, PaperShelf checks new files against the shelf and opens a review before anything is removed.

Folder watcher · active
New filecomposition.pdf
MatchIdentical
NextReview first
04 · Cite

From shelf to bibliography.

Generate a complete BibTeX document from the current selection, with stable keys and missing fields called out where you can fix them.

Readable by people and tools.

Keys follow surname:year:firstword; formatting follows the settings you chose.

@article{kashyap:2026:composition, author = {Kashyap Naveen, Aryan}, title = {A Composition-Aware Pretraining Framework}, year = {2026} }

Complete only when complete.

Missing author, title, or year fields become navigable chips rather than silent blanks.

BibTeX
3 missing authorsComplete onlyWrap
Copy or save the generated file
05 · Connect

Your papers stay put.

The bundled MCP server serves local search, reading, citations, highlights, bookmarks, projects, tags, and guarded file actions to a connected assistant.

Twenty-two tools, one local process.

Read tools work immediately. File changes and semantic profile writes are explicit and off by default where they can change your files. Bookmark metadata stays local and can be polled by revision.

MCP tools
list_documentssearch_documentsread_documentbibliographylist_highlightsread_pagefind_duplicateslist_projectslist_project_documentssearch_projectlist_tagsdocuments_by_taglist_bookmarksadd_to_projectset_tagspropose_file_changesapply_file_changesget_highlight_profileset_highlight_profileadd_bookmarkrename_bookmarkremove_bookmark

Install the bridge, not your library.

Install the app, then add its bundled server to ChatGPT or another local MCP client. The files remain on this Mac.

AppPaperShelf.app
Serverpapershelf-mcp
Transportstdio
Writesoff by default
06 · Underneath

Quiet infrastructure for a busy shelf.

When a PDF is more than a file, the boring parts matter: conversion, indexing, costs, passwords, activity, and a key that does not sit in a plaintext preference.

Four paths to searchable text.

pdftotextfast default
MarkItDownstructured Markdown
Markerlayout aware
Doclingcomplex documents

Local by design.

API keys live in Keychain when available. Spend is recorded locally. Password lists, plans, activity, and indexes stay in Application Support.

KeyKeychain
TextSQLite + FTS
Notesgenerated Markdown
Roadmap

Useful first. Stable next.

PaperShelf is deliberately small today, so each release can leave the shelf better than it found it.

  • Notarized and signed distribution
  • Stable 2.0 storage and plugin interfaces
  • Better OCR and reading projects
  • Upstream Homebrew Cask submission
Made for the paper you are actually reading.

Open the page. Keep the thread.

Download the latest build, or read the source and make the next careful improvement.