MCP Zotero — Claude Code MCP server: features and setup
Connects an AI agent to a Zotero library for source searches, DOI-based paper additions, and PDF work. It also provides tools for adding citations to Word documents.
claude mcp add --env ZOTERO_API_KEY=<ZOTERO_API_KEY> --env ZOTERO_USER_ID=<ZOTERO_USER_ID> --env ZOTERO_LIBRARY_TYPE=<ZOTERO_LIBRARY_TYPE> --env ZOTERO_LIBRARY_ID=<ZOTERO_LIBRARY_ID> --env UNPAYWALL_EMAIL=<UNPAYWALL_EMAIL> --transport stdio mcp-zotero -- npx -y @xevos117/mcp-zoteroWhat MCP Zotero does
The server lets an agent search and organize Zotero records, add papers by DOI, import PDFs, and read their full text. It also includes tools for inserting citations into Word files. Workflow guidance arrives when the MCP connection opens, while tool descriptions explain how the available operations fit together.
You need Node.js 22 or newer, a Zotero API key with library read/write and file access, and a numeric ZOTERO_USER_ID. Deletion of items and collections is blocked by default and can be controlled with UNSAFE_OPERATIONS. Keep that setting in mind before letting an agent make changes to your library.
What it helps with
- search a Zotero library for relevant records
- add a paper to Zotero using its DOI
- import PDFs and read their full text
- insert citations into a Word document
- target a Zotero group library
Example prompts for the agent
- Search my Zotero library for papers about this research topic.
- Add the paper with DOI
10.xxxx/exampleto Zotero and look for an available PDF. - Insert citations from the selected Zotero records into this Word document.
How to install MCP Zotero
Platform CLI
claude mcp add --env ZOTERO_API_KEY=<ZOTERO_API_KEY> --env ZOTERO_USER_ID=<ZOTERO_USER_ID> --env ZOTERO_LIBRARY_TYPE=<ZOTERO_LIBRARY_TYPE> --env ZOTERO_LIBRARY_ID=<ZOTERO_LIBRARY_ID> --env UNPAYWALL_EMAIL=<UNPAYWALL_EMAIL> --transport stdio mcp-zotero -- npx -y @xevos117/mcp-zoteroReplace <…> with your own values. 1 more environment variable is in the server README
Platform CLI
codex mcp add mcp-zotero --env ZOTERO_API_KEY=<ZOTERO_API_KEY> --env ZOTERO_USER_ID=<ZOTERO_USER_ID> --env ZOTERO_LIBRARY_TYPE=<ZOTERO_LIBRARY_TYPE> --env ZOTERO_LIBRARY_ID=<ZOTERO_LIBRARY_ID> --env UNPAYWALL_EMAIL=<UNPAYWALL_EMAIL> -- npx -y @xevos117/mcp-zoteroReplace <…> with your own values. 1 more environment variable is in the server README
Config file
{
"mcpServers": {
"mcp-zotero": {
"command": "npx",
"args": [
"-y",
"@xevos117/mcp-zotero"
],
"env": {
"ZOTERO_API_KEY": "<ZOTERO_API_KEY>",
"ZOTERO_USER_ID": "<ZOTERO_USER_ID>",
"ZOTERO_LIBRARY_TYPE": "<ZOTERO_LIBRARY_TYPE>",
"ZOTERO_LIBRARY_ID": "<ZOTERO_LIBRARY_ID>",
"UNPAYWALL_EMAIL": "<UNPAYWALL_EMAIL>"
}
}
}
}Replace <…> with your own values. 1 more environment variable is in the server README
Config file
{
"servers": {
"mcp-zotero": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@xevos117/mcp-zotero"
],
"env": {
"ZOTERO_API_KEY": "<ZOTERO_API_KEY>",
"ZOTERO_USER_ID": "<ZOTERO_USER_ID>",
"ZOTERO_LIBRARY_TYPE": "<ZOTERO_LIBRARY_TYPE>",
"ZOTERO_LIBRARY_ID": "<ZOTERO_LIBRARY_ID>",
"UNPAYWALL_EMAIL": "<UNPAYWALL_EMAIL>"
}
}
}
}Replace <…> with your own values. 1 more environment variable is in the server README
Platform CLI
gemini mcp add -e ZOTERO_API_KEY=<ZOTERO_API_KEY> -e ZOTERO_USER_ID=<ZOTERO_USER_ID> -e ZOTERO_LIBRARY_TYPE=<ZOTERO_LIBRARY_TYPE> -e ZOTERO_LIBRARY_ID=<ZOTERO_LIBRARY_ID> -e UNPAYWALL_EMAIL=<UNPAYWALL_EMAIL> mcp-zotero npx -y @xevos117/mcp-zoteroReplace <…> with your own values. 1 more environment variable is in the server README
Step by step, with commands for each platform: How to add an MCP server to Claude Code, Codex, Cursor, VS Code, Gemini CLI and more
Questions about MCP Zotero
How do I install MCP Zotero in Claude Code?
Run claude mcp add mcp-zotero -e ZOTERO_API_KEY=<ZOTERO_API_KEY> -e ZOTERO_USER_ID=<ZOTERO_USER_ID> -- npx -y @xevos117/mcp-zotero. You need Node.js 22 or newer, a Zotero API key, and a numeric user ID.
What does MCP Zotero do?
It gives an agent tools to search and manage Zotero records, add papers by DOI, handle PDFs, and place citations in Word documents.
Can MCP Zotero work with a group library?
Yes. Set ZOTERO_LIBRARY_TYPE=group and provide a numeric ZOTERO_LIBRARY_ID. The API key must be allowed to access that library.