mrkeyoor.com_
Thu 10 Sept 18:04 UTC
LLM Toolsevaluationupdated 10 Sept 2026

llm-for-zotero review

llm-for-zotero puts an AI assistant inside Zotero for asking questions about papers, comparing sources, inspecting figures, and saving research notes. Its optional agent can also search and change a library, while MCP, Codex, Claude Code, WebChat, and local model connections let users choose where the model runs.

trackingstars / 7d
Verdict

Our llm-for-zotero run installed 432 packages and built successfully, but 1 of 5,358 tests failed and npm audit found 19 known vulnerabilities. It is worth trying if Zotero is already the center of your research and cited paper chat, notes, and controlled library actions belong in one interface. Keep write access conservative and test the exact provider route you intend to use before trusting it with a working library.

We ran it

Lab card: what happened when we ran llm-for-zoteroScreenshot of llm-for-zotero (yilewang.github.io/llm-for-zotero)
Install✓ · 32s432 packages · 350 MB
Build✓ · 26s
Tests✗ · 65s5357 passed · 1 failed of 5358 (mocha)
Known vulns190 critical · 10 high · 7 moderate · 2 low (npm audit)
Repo1403 files~566,851 lines of source · 96.5 MB · 5 CI workflows · tests dir

Answers from our run

Does llm-for-zotero build from source?

Dependencies installed in 32 seconds (432 packages), and the build succeeded in 26 seconds. We cloned commit 26729c4 into a clean Debian container with 3 CPUs and no project-specific setup.

Do llm-for-zotero's tests pass?

Not all of them: 5357 of 5358 passed and 1 failed when we ran the project's own test command (mocha). Some failures need services or credentials a bare container does not have.

Does llm-for-zotero have known vulnerabilities in its dependencies?

npm audit flagged 19 known advisories in the dependency tree at the time of our run.

Who should not use llm-for-zotero?

Teams that require a clean dependency audit before adoption: our npm audit found 19 known vulnerabilities, including 10 high-severity findings.

What are the alternatives to llm-for-zotero?

Zotero GPT, Zotero MCP, Better Notes. Our llm-for-zotero run installed 432 packages and built successfully, but 1 of 5,358 tests failed and npm audit found 19 known vulnerabilities.

Setup3/5The XPI is easy; advanced modes add bridges, keys, or servers
Docs5/5Detailed setup, data-flow, provider, agent, and recovery guidance
Community4/52,946 stars and a September 2026 push with active issue traffic
Maturity3/5Large passing suite, but one failure and beta agent paths remain

Who it’s for

Researchers who live in Zotero and want cited paper answers without moving PDFs into a separate chat app.
Literature-review teams willing to test model output and approve changes to tags, metadata, notes, or collections.
Zotero power users who already pay for a model service or operate a local OpenAI-compatible endpoint.
MCP, Codex, or Claude Code users who want their existing assistant connected to a desktop research library.

Who it’s NOT for

Teams that require a clean dependency audit before adoption: our npm audit found 19 known vulnerabilities, including 10 high-severity findings.
Users who expect every advertised provider path to behave alike: open issue 444 reports a v3.9.6 Codex App Server question failing with API-key authentication, while issue 427 reports Anthropic requests rejected by a tool schema in v3.9.5.
Library owners unwilling to delegate destructive actions: the README says Agent Mode can trash items, and v3.9.6 can let an external MCP client holding the bearer credential write without a second Zotero prompt.
Privacy policies that forbid paper text or queries leaving the machine: provider mode, WebChat, cloud MinerU, and Tavily send data to their respective services.
Organizations that cannot accept AGPL-3.0 terms for their intended use or distribution.

Setup reality

Our sandbox install succeeded in 32 seconds, adding 432 packages and using 350 MB. The build passed in 26 seconds. Tests failed after 65 seconds: Mocha reported 5,357 passed and 1 failed out of 5,358, plus 1 pending. The failing import-cycle check exceeded its 2,000 ms timeout; the log gives no further cause.

End users install an .xpi into Zotero, then need a provider URL, secret, and model, unless they choose a local endpoint, WebChat, or Codex. Tavily web search and cloud MinerU need separate services, and Claude Code needs an authenticated CLI plus a companion Node bridge on port 19787.

The plugin targets Zotero 7, 8, and 9. Codex App Server and Claude Code are mutually exclusive modes, WebChat depends on a signed-in Chromium tab remaining available, and local MinerU requires its own server and model downloads. Agent Mode is beta, so a successful basic chat setup does not validate library writes or every provider adapter.

Eight built-in skills make Zotero the working surface

llm-for-zotero keeps paper work inside the reference manager. Its 8 built-in skills cover paper questions, evidence retrieval, figure analysis, comparisons, library analysis, literature reviews, note writing, and cited-reference import. Answers can point back to source passages, while selected text, screenshots, and as many as 10 uploaded files can join a conversation.

Agent Mode broadens the scope from reading to library maintenance. It can search items, use CrossRef or Semantic Scholar, edit notes, apply tags, update metadata, manage collections, import identifiers, and trash items. Recent write actions have session recovery records, with the last 10 entries retained for undo. That range saves switching between tools, but it also means permission choices matter. A researcher should try read-only questions before allowing changes on the library used for daily work.

What happened when we ran it

Our sandbox installed commit 26729c4 in 32 seconds. npm added 432 packages and occupied 350 MB, then the build succeeded in 26 seconds. The checkout itself held 1,403 files, about 566,851 lines of source, and used 96.5 MB. Five CI workflow files and a tests directory were present, while no Dockerfile was found. Those figures describe the development checkout, not the much simpler act of installing the published .xpi in Zotero.

The test command failed after 65 seconds with exit code 1. Mocha reported 5,357 passing tests, 1 failing test out of 5,358, and 1 pending test. The failed check was named does not introduce cycles outside the current allowlist; it exceeded a 2,000 ms timeout in test/importCycles.test.ts. The log does not say whether the test is slow, flaky, or exposing a code problem, so none of those explanations should be assumed.

Our npm audit also found 19 known vulnerabilities: 10 high, 7 moderate, 2 low, and 0 critical. That result is too material to hide behind the mostly passing suite. Before using this code in a managed environment, inspect the affected dependency paths and decide whether the deployed .xpi includes them. The lab result establishes the installed development tree's audit state; it does not prove that any specific finding is remotely exploitable through Zotero.

Zotero 7 through 9 get several different model routes

The README targets Zotero 7, 8, and 9 and offers several ways to obtain model output. Standard mode takes an API base URL, secret, and model name. A local OpenAI-compatible server can keep model calls on the machine. ChatGPT Plus users can connect through the Codex App Server, while WebChat relays through a Chromium extension and an open browser tab. Claude Code uses a separate bridge listening on port 19787.

These routes do not have identical capabilities. Tavily search belongs to compatible in-plugin Agent conversations, not WebChat, Codex App Server, or Claude Code. The two coding-agent modes are mutually exclusive in settings. Open issue 444 reports that v3.9.6 with an API-key-authenticated Codex App Server passed its connection test but failed a normal paper question when an auxiliary step sought legacy OAuth credentials. Issue 427 reports a different provider boundary: Anthropic rejected a top-level tool schema in v3.9.5.

MinerU improves difficult PDFs at the cost of another service

MinerU is optional parsing for tables, equations, figures, and complex layouts. Cloud mode sends PDFs to MinerU, while local mode calls a mineru-api server, normally on port 8000. The default bulk filter skips PDFs over 100 pages, which avoids parsing every large attachment blindly.

Local processing still needs model downloads and compute. The documented pipeline backend is CPU-friendly; the VLM and hybrid choices require local compute, with VLM explicitly requiring a GPU. A health response only proves the server process answers, not that models are warm. Pause also stops the plugin queue without cancelling work already running on the MinerU server, because its API exposes no cancel endpoint. Anyone adopting local parsing should plan process supervision separately from Zotero.

Version 3.9.6 gives external MCP clients meaningful write power

The MCP endpoint can expose Zotero to assistants outside the plugin. Version 3.9.6 allows external writes when the owner enables them, including metadata changes, imports, deletion, and Zotero scripts. The README is unusually direct about the trust boundary: any client holding the connection credential receives that authority, and Zotero does not add a second Original Agent permission prompt. Returned action IDs matter for recovery, especially after a timeout whose outcome is uncertain.

Read access has rough edges too. Issue 423 reports that v3.9.5 on Windows exposed 17 MCP tools but failed library-scoped calls when libraryID was omitted, even with the personal library selected. Passing libraryID: 1 fixed the reporter's calls. That issue does not establish behavior on every platform or v3.9.6, but it gives MCP users a precise compatibility check: list tools, call a library read with an explicit ID, then verify write behavior on disposable records.

A September 9 push and 163 issues and PRs show active change

GitHub recorded 2,946 stars, a September 9, 2026 push, and 163 open issues and pull requests. Release v3.9.6 arrived the same day. The latest release added permission modes, a beta planning workflow, an immersive reading window, navigation for long conversations, and external MCP write access. It also tells Claude bridge users to update the companion adapter.

The pace is encouraging for people who like testing new research workflows, yet it raises the cost of pinning a dependable lab setup. Our 5,357 passing tests supply real confidence, while the single timeout, 19 audit findings, and same-day provider report keep the maturity score at 3. Adopt it first as a reading assistant, back up the Zotero library, pin the plugin and bridge versions together, and expand permissions only after the exact model path completes representative paper and write tasks.

Alternatives

ProjectWhat it isPick it when
Zotero GPTA narrower Zotero plugin for talking to language models from the reference manager.pick this instead when you want a simpler in-Zotero AI plugin and do not need llm-for-zotero's agent, MinerU, or external MCP scope.
Zotero MCPAn MCP server that connects a Zotero library to outside assistants.pick this instead when the assistant should stay outside Zotero and MCP access is the main requirement.
Better NotesA Zotero extension focused on linked notes and research writing rather than model chat.pick this instead when better note management solves the problem without sending papers to a model.

What people are saying

  1. [github-trending] yilewang/llm-for-zotero

Sources

  1. llm-for-zotero repository and README
  2. llm-for-zotero documentation
  3. llm-for-zotero v3.9.6 release
  4. Issue 444: Codex App Server API-key login failure
  5. Issue 427: Anthropic tool schema rejection
  6. Issue 423: MCP active library resolution

More llm tools reviews

agent-router · webcodex · codegraph · semantic-kernel · cc-connect · no-ai-slop · the whole board →