Zotero MCP
Connects a Zotero library to Claude and other agents: search papers, annotate, cite, and search by meaning
- 5,884 ★ on the repository
- Last commit
- MIT
Extended access
Why this level
- Can write to the Zotero library: add, merge, and remove entries
Install
- Works in
Manual install
uv tool install zotero-mcp-serverCan be replaced with pip install zotero-mcp-server. Needs Python 3.10 or newer.
Access and checks
How we reviewExtended accessThe tool runs code or makes network calls and only reads external data.
- Can write to the Zotero library: add, merge, and remove entries
This is third-party code. Review the repository files before installing.
What it does
The server reads and writes a Zotero library: it searches by title, author, tag, or collection, by full text, or by meaning through embeddings. It reads metadata, BibTeX, full text, and individual PDF pages, and can send page images when text extraction garbles formulas and tables. It places highlights and area boxes on exact words, equations, or figures, writes notes, and reads annotations already made in Zotero. It can add papers by DOI, URL, ISBN, or BibTeX, merge duplicates, and manage collections and tags. It works locally against zotero.sqlite or through Zotero's web API.
Who it is for. For researchers and students who keep a Zotero library and want to discuss papers directly with an agent.
Good fit when
- You need to find papers in your library by topic or keywords
- You need a summary or breakdown of a specific paper
- You need to place annotations on exact PDF passages or gather citations
Not a fit when
- You do not use Zotero to store your papers
- You only need read-only access without a shell, in which case the plain MCP server is enough without the agent skill
Example request
Find papers on attention mechanisms in my library and highlight their key findingsMCP
- Transport
- stdio
- Authentication
- key is optional
Environment variables
ZOTERO_LOCAL- Enables local mode against zotero.sqlite instead of the web API
ZOTERO_API_KEYsecret- Zotero web API key, needed for writes on Zotero versions older than 10
ZOTERO_LIBRARY_ID- Zotero library ID for access through the web API
Limitations
Local mode requires enabling the setting in Zotero 7 or newer that allows other applications to talk to it. Writes on older Zotero versions need a web API key and library ID. Semantic search and PDF handling install as separate optional extras.
How to disable. Remove the zotero entry from your client's MCP configuration, or uninstall the package with uv tool uninstall zotero-mcp-server.
FAQ
How does the agent skill differ from the MCP server?
The MCP server sends every tool's schema on each request, while the skill for shell-capable agents costs a few dozen tokens and expands only when actually needed.
Does Zotero need to stay running?
For local mode yes, the Zotero app must be open with the local API permission enabled.
Discussion
No questions or reviews yet.
Related
MCP serversPubMed MCP searches biomedical papers, retrieves available full text and formats citations with retraction and correction notices.
An MCP server for searching and downloading academic papers from arXiv, PubMed, bioRxiv, Semantic Scholar and other open sources
An MCP server and skill for Sciverse paper search: metadata, semantic retrieval, citations and full text for agents.
An MCP server for OpenAlex: 31 tools for papers, citations, authors and journals, plus a skill with a small CLI for Claude Code.
A CLI and MCP server that extracts structured knowledge from documents: graphs, hypergraphs, and fact search with sources
MCP server that connects Claude Code and Codex to an open R or Python session in RStudio and Positron, where your data lives
README in short
The README walks through a quick start: install via uv or pip, enable the local API in Zotero's settings, then either auto-configure Claude Desktop with zotero-mcp setup or edit the config by hand. It explains the choice between the full MCP server for shell-less clients and the lightweight zotero-cli agent skill for Claude Code, Cursor, Codex, Windsurf, Gemini CLI, and others. A table lists optional extras for semantic search, PDF handling, and Scite citation checks. MIT licensed.