LABSCO SUMMARY
The library is the unit, not the document — and it can stay entirely on your machine.
Most PDF assistants work one file at a time; the reason to install this is asking a question across a whole collection and getting an answer whose citations you can click through to the source. Running it fully local — bundled model or Ollama — is a real option rather than a footnote, which matters if the library holds material you cannot upload.
What it is
A Zotero extension written in native C++ that indexes your library locally and answers questions across many documents at once. It ships a Zotero MCP server, so agent platforms such as Claude Code, Cursor and Windsurf can use that library as a source. Parsing, indexing and searching all happen on your machine and work offline.
What you get
- Questions answered across a single PDF, a selected set, a collection, or the entire library with "Search entire library" checked
- Cross-document comparison that keeps individual studies distinct — sample sizes and results pulled from many papers into one table
- Interactive citations on every answer: clicking one opens the specific paper it came from
- Local model options: bundled open-source models downloaded and run in one click, a custom OpenAI-compatible endpoint, or a local Ollama instance — alongside hosted models when you supply a key
- AutoPilot, which batch-processes a large set of papers against a research goal and writes the results back into Zotero notes
- A published SKILL file for OpenAI, Claude, Cursor, Claude Code, Codex and Gemini CLI, as an alternative to the MCP path
Requirements
For the chat inside Zotero: Zotero plus the PapersGPT plugin from the released .xpi file, then a model — a bundled local model downloaded from Hugging Face in one click, an OpenAI-compatible endpoint you configure, a local Ollama instance, or a hosted model with its API key. The MCP server needs only npx and your local Zotero library: it reads the default data directory, or the path you add after mcp. Indexing and search need no cloud service and run offline. Professional capabilities are sold separately at papersgpt.com.
Setup effort
Add the configuration to your client
USE CASES
01
Comparing method and results across a folder of studies
Select the collection and ask for the comparison; the answer synthesises across files and each claim carries a citation you can click to the paper it came from.
02
Finding what your library says about a topic you half remember
Check search across the entire library and ask the question, instead of opening candidate PDFs one at a time.
03
Working with material that cannot leave your machine
Run a bundled local model or a local Ollama instance — parsing, indexing and search are already local, so nothing needs to reach a cloud service.
04
Processing a large batch of papers unattended
Define the research goal and let AutoPilot work through the set, writing what it finds into Zotero notes you read afterwards.
05
Using the library from a coding agent
Connect the Zotero MCP server so Claude Code, Cursor or Windsurf can query your papers as a source, or load the published SKILL file instead.
BEFORE YOU INSTALL
What to know first
Requires
- npx on PATH
- A local Zotero library — the default data directory ~/Zotero, or its real path added after "mcp" in the args
INSTALLATION
Connect your client
This one is configured rather than run — your client needs the configuration block, not a command.
Server setup
JSON
{
"mcpServers": {
"papersgpt-for-zotero": {
"command": "npx",
"args": [
"-y",
"papersgpt-for-zotero",
"mcp"
]
}
}
}If your Zotero data storage path is not the default (~/Zotero or ~\Zotero), then you will need to modify the args value to include your real Zotero data storage path behind the "mcp".