Zotero MCP Server
Provides read/write access to a Zotero reference library, enabling searching, browsing collections, adding articles, and organizing references through natural language.
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
Zotero MCP Server
An MCP (Model Context Protocol) server that gives Claude full read/write access to your Zotero reference library. Search your library, browse collections, add articles, and organize references — all through natural language.
Built with the MCP Python SDK and pyzotero.
Tools
Read
Tool | Description |
| Search your Zotero library by keyword, title, author, or phrase |
| List all collections (folders) with keys and item counts |
| Get all items in a specific collection |
| Get full metadata for a specific item by key |
| Get the most recently added items |
Write
Tool | Description |
| Add a journal article to your library (pairs well with CrossRef, Scopus, ERIC, etc.) |
| Batch-add articles from search results |
| Create a new collection or sub-collection |
| Add an existing item to a collection |
Related MCP server: Zotero MCP
Setup
1. Get Zotero API credentials
Go to zotero.org/settings/keys
Create a new API key with read/write access to your library
Note your user ID (shown on the same page)
2. Install
cd zotero-mcp-server
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txtOr run directly with uv (dependencies are declared inline):
uv run server.py3. Add to Claude Desktop
Add this to your claude_desktop_config.json:
{
"mcpServers": {
"zotero": {
"command": "/path/to/zotero-mcp-server/venv/bin/python",
"args": ["/path/to/zotero-mcp-server/server.py"],
"env": {
"ZOTERO_API_KEY": "your-api-key",
"ZOTERO_USER_ID": "your-user-id",
"ZOTERO_LIB_TYPE": "user"
}
}
}
}Or with uv:
{
"mcpServers": {
"zotero": {
"command": "uv",
"args": ["run", "/path/to/zotero-mcp-server/server.py"],
"env": {
"ZOTERO_API_KEY": "your-api-key",
"ZOTERO_USER_ID": "your-user-id",
"ZOTERO_LIB_TYPE": "user"
}
}
}
}Usage examples
"Search my Zotero library for papers on curiosity"
"Show me my Zotero collections"
"Add this CrossRef result to my Zotero library"
"Create a new collection called 'Literature Review' and add these 5 papers to it"
"What are the most recent items I've added to Zotero?"
Group libraries
To connect to a Zotero group library instead of your personal one, set ZOTERO_LIB_TYPE=group and use the group ID as ZOTERO_USER_ID.
License
MIT
This server cannot be deployed
Maintenance
Related MCP Connectors
Zotero MCP server for Claude and ChatGPT: search, citations, safe writes, PDF passages and pages.
Connect Claude to your Platform7n workspaces: chat, links, work and decks. One-click OAuth.
Academic literature search, retrieval, and private library management on top of OpenAlex.
Give Claude only the Google Drive files you choose. Every action logged.
Related MCP Servers
- AlicenseBqualityFmaintenanceIntegrates local Zotero libraries with Claude's Desktop interface, allowing users to access and manage their library collections via a local API.456MIT
- AlicenseAqualityAmaintenanceConnects your Zotero research library with Claude and other AI assistants via the Model Context Protocol, allowing you to search your library, access content, discuss papers, get summaries, and analyze citations.385,519 PyPI5,657MIT
- FlicenseNot gradedqualityNot gradedmaintenanceEnables Claude to access and search a local Zotero library by querying metadata and providing direct paths to PDF files. This allows the model to browse research collections and natively read academic papers without requiring text extraction or manual exports.-
- AlicenseNot gradedqualityCmaintenanceConnects Zotero to Claude Desktop, allowing Claude to read, search, and organize a user's Zotero library through local and web APIs.MIT