Open-source · Zotero MCP server

Your Zotero library,
inside every AI
conversation.

Zoteus gives Claude, Cursor, and any MCP client safe access to your reference library — search papers, add by DOI, format bibliographies, and run semantic search over your own PDFs. With real citations, not hallucinations.

Star on GitHub

MIT-licensed · Local-first · No data leaves your machine

Claude · Zoteus connected

Find papers in my library arguing against open-plan offices and draft a paragraph citing them.

zotero_semantic_search5 results · cited

Several studies in your collection challenge the open-plan model. Bernstein & Turban (2018) found face-to-face interaction dropped ~70% after the switch (p. 4); Kim & de Dear (2013) link it to lower satisfaction with privacy and acoustics.

Bernstein, E. S., & Turban, S. (2018). The impact of the ‘open’ workspace… Phil. Trans. R. Soc. B, 373.

Works withClaude DesktopClaude CodeCursorVS CodeZedCodexGemini CLI
Install in 30 seconds

One command. Any MCP client.

Reads work key-free against the desktop app. Add a Zotero API key for writes, sync, and group libraries.

Claude Code

claude mcp add --transport stdio \
  zoteus -- npx -y @oscardvs/zoteus

Any client (universal)

npx add-mcp @oscardvs/zoteus

Claude Desktop

Download zoteus.dxt
from the latest release →

Your research lives in Zotero.
Your AI can’t see it.

Every new chat, you re-paste the same PDFs and re-explain your library from scratch — and when you ask for references, you get plausible, beautifully formatted, non-existent citations. Zoteus connects your actual library so your AI works from what you’ve already read and verified.

Why Zoteus

The everything server — your library as the source of truth.

Semantic search over your PDFs

Hybrid keyword + vector search across metadata, full text, and annotations — returned with page locators. Runs on local embeddings by default.

Real citations, not hallucinations

It surfaces your verified Zotero references and formats them with citeproc-js in ~2,800 CSL styles. It never invents a DOI.

Add by identifier

Drop a DOI, ISBN, PMID, or arXiv id — metadata fetched and filed.

Safe, reversible writes

Versioned, optimistic-locked, reversible trash by default, gated delete.

Local-first & private

Reads use the desktop local API; nothing leaves your machine by default.

Scholarly-context graph

Follow citations across OpenAlex and Crossref — plus MCP Resources, Prompts, and the code-execution pattern, built for agents.

Read the docs

Why Zoteus vs. the field

How Zoteus compares to other Zotero MCP servers and web AI tools
CapabilityZoteusOther Zotero MCPWeb AI tools
Operates on your own libraryYesPartialNo
Web API v3 + desktop local APIYespartialNot applicable
Safe, reversible writesYesrareNo
CSL bibliographies (~2,800 styles)YesrareNo
Local semantic search over PDFsYessomevaries
No Python — TypeScript, one npxYesvariesNot applicable
Local-first · Open-source (MIT)YesvariesNo
Pricing

Free forever. Hosted if you want it.

Self-hosted

Free

MIT-licensed. Run it yourself, forever.

  • · Every feature, no paywall
  • · Local-first, your own keys
  • · Self-host the remote for a team

Hosted

€30/year

Managed, always-on connector. Sustains the project.

  • · Zero setup — connect in claude.ai
  • · Per-user Zotero login, encrypted
  • · You keep your data & keys
See hosted plan

Stop re-explaining your research.

Connect your Zotero library to your AI in under a minute. Open-source, local-first, free.

View on GitHub