Zotero MCP
@BirdInTheTree
Read+write MCP server for Zotero with full write support — create items, manage collections, find and merge duplicates, import BibTeX
Overview
What is Zotero MCP?
Zotero MCP is a read+write MCP server with full write support for managing a Zotero library from AI assistants. It lets you create items, manage collections, find and merge duplicates, and import BibTeX from within Claude Code, Claude Desktop, or any MCP-compatible client. The server uses the Zotero Web API and requires a personal API key and user ID.
How to use Zotero MCP?
Install Python 3.11+ and uv, then clone the repo and run uv sync. Configure two environment variables: ZOTERO_API_KEY (get at https://www.zotero.org/settings/keys) and ZOTERO_USER_ID (shown on the same page). Add the server to your MCP client (e.g., Claude Code or Claude Desktop) by specifying the command uv run --directory /path/to/zotero-mcp python -m zotero_mcp and the required environment variables.
Key features of Zotero MCP
- Full-text search with collection, type, and tag filters
- Create items from field data or automatically from a DOI
- Import BibTeX entries into a collection
- Manage collections: create, add items, remove items
- Find and merge duplicates with conflict protection
- Update and delete items with version conflict protection
Use cases of Zotero MCP
- Search your Zotero library for papers using natural language queries
- Create new collections and organize items across them
- Import BibTeX references into a specific collection
- Find duplicate items in your library and merge them into one
- Look up a DOI and automatically add the paper to your library
FAQ from Zotero MCP
What dependencies or runtime does Zotero MCP require?
Python 3.11+ and the uv package manager. All other dependencies are installed via uv sync.
What authentication is needed?
You must provide a Zotero Web API key and your Zotero user ID. These are set as environment variables ZOTERO_API_KEY and ZOTERO_USER_ID.
Where does my data live?
The server communicates with your Zotero library via the Zotero Web API. All data remains in your Zotero account; no additional storage is used.
Can I write to my Zotero library?
Yes, the server includes full write support: create items, update, delete, manage collections, and merge duplicates.
What transports or protocols does the server use?
The server uses the standard MCP protocol and can be used with any MCP-compatible client (e.g., Claude Code, Claude Desktop).