Zotero MCP Server: Connect Zotero to Claude via MCP
Zotero MCP is an MCP server that gives any compatible AI assistant direct access to your Zotero library โ search, summarize, extract annotations, and write entries using natural language. The free local-only mode covers reads without any API key; the hybrid mode adds write operations. It's worth installing if you already live in both Zotero and an AI assistant.
What Zotero MCP is
Zotero MCP is an MCP server that exposes your Zotero library as a set of tools any compatible AI assistant can call. It translates natural-language requests into searches, metadata lookups, annotation extractions, and write operations, routing them through Zotero's local API or web API depending on your mode.
Key features: search, semantic search, and write operations
- โSearch your library by title, author, tag, or collection โ and optionally use vector-based semantic search to find papers by concept rather than keyword
- โExtract PDF annotations with page numbers, access Zotero's native highlights, and pull table of contents from papers
- โAdd papers automatically via DOI, URL, or file import, with open-access PDF fetching from Unpaywall, arXiv, and Semantic Scholar
- โCite papers in markdown or BibTeX, export collections, and batch-update tags across your library
- โAccess Scite citation tallies (supporting/contrasting/mentioning counts) and retraction alerts without creating an account
- โUse local SQLite for sub-second search across large libraries, including global search across all your group libraries at once
- โA standalone CLI (zotero-cli) with short aliases (s, g, ann, coll) for scripting and quick terminal lookups
- โAn agent skill that installs in ~98 tokens โ 137x cheaper than the full MCP tool schema โ for shell-based agents
Installing Zotero MCP
Install via uv (`uv tool install zotero-mcp-server`), pip, or pipx, then run `zotero-mcp setup`. The installer auto-detects Claude Desktop and configures it. For manual setup, add the server block to your MCP client config with `ZOTERO_LOCAL: "true"` as the only required environment variable. Use absolute paths to the `zotero-mcp` binary if your GUI app cannot find it. Optional extras add semantic search (`[semantic]`), PDF outline extraction (`[pdf]`), and Scite citation intelligence (`[scite]`).
Strengths
- โLocal mode works fully offline with no API key โ zero ongoing cost
- โFree local embedding model (all-MiniLM-L6-v2) covers semantic search without OpenAI or Gemini dependency
- โWorks with Claude Desktop, ChatGPT Developer Mode, Cherry Studio, Chorus, Cursor, and Autohand Code
- โHybrid mode keeps reads local and fast while enabling writes via the web API
- โContext-efficient agent skill for shell-based agents โ ~98 tokens vs 13,448 for the full MCP schema
Limitations and known constraints
- โณSemantic search requires installing an extra, running setup, and building an index โ not zero-config
- โณLocal-only mode is read-only; writes need a Zotero API key and web access
- โณZotero desktop must be running for the local API to function
- โณRequires Zotero 7+; Zotero 6 users are not supported
- โณGUI apps sometimes cannot locate the zotero-mcp command on PATH without the full executable path
Alternatives to Zotero MCP
Frequently asked questions
No. Set ZOTERO_LOCAL=true and Zotero MCP reads your library without any API key. An API key is only required for write operations (adding papers, updating metadata) via the web API.
Yes, in local mode. Zotero MCP talks directly to your local Zotero installation. An internet connection is only needed for web API write operations and open-access PDF fetching.
Claude Desktop, ChatGPT Developer Mode, Cherry Studio, Chorus, Cursor, and Autohand Code. The standalone CLI also works without any AI assistant for scripting and terminal use.
Install the semantic extra (`pip install "zotero-mcp-server[semantic]"`), run `zotero-mcp setup --semantic-config-only`, choose an embedding model, and build the index with `zotero-mcp update-db`.
Zotero 7 or later. The README specifies this because Zotero MCP relies on the local API and data access methods introduced in version 7.
Yes. Pass a DOI, arXiv URL, or file path and Zotero MCP fetches the metadata and attempts to download an open-access PDF via Unpaywall, arXiv, or Semantic Scholar.
The problem it solves
Your AI assistant knows nothing about the hundreds of papers in your Zotero library. Every paper you want to discuss, cite, or summarize has to be copied over manually โ if it fits at all.
Best use cases
- โขDiscuss a specific paper with Claude: ask for a summary, key findings, or how it relates to your other readings
- โขFind every paper on a concept โ 'research similar to transfer learning in NLP' โ without knowing exact titles or authors
- โขPull all annotations from a paper you annotated months ago, organized by page number
- โขBatch-import a list of DOIs with metadata and PDFs fetched automatically before a literature review
- โขScan a new topic area for retracted papers using Scite citation intelligence
Who should try it โ and who should skip
Researchers with established Zotero libraries who already use AI assistants for writing or literature review will get immediate value. The agent skill makes it particularly compelling for power users of Claude Code. Skip it if you do not use Zotero, are on Zotero 6, or prefer to manage your research workflow manually.
Related repositories
Curious whether zotero-mcp is right for you?
Let ChatGPT, Claude, or Perplexity look into it โ click below and see what AI actually says about zotero-mcp.
