A connector for Claude Desktop to work with collection and sources on your Zotero Cloud.
A Model Context Protocol server for Zotero integration that allows Claude to interact with your Zotero library.
Get your Zotero credentials:
# First, create an API key at https://www.zotero.org/settings/keys
# Then use it to get your user ID:
curl -H "Zotero-API-Key: YOUR_API_KEY" https://api.zotero.org/keys/current
The response will look like:
{
"userID": 123456,
"username": "your_username",
"access": {
"user": {
"library": true,
"files": true,
"notes": true,
"write": true
}
}
}
The userID
value is what you need.
Set environment variables:
export ZOTERO_API_KEY="your-api-key"
export ZOTERO_USER_ID="user-id-from-curl"
Verify your credentials:
# Test that your credentials work:
curl -H "Zotero-API-Key: $ZOTERO_API_KEY" \
"https://api.zotero.org/users/$ZOTERO_USER_ID/collections"
You should see your collections list in the response.
Install and run:
# Install globally (recommended)
npm install -g mcp-zotero
mcp-zotero
# Or run directly with npx
npx mcp-zotero
To use this server with Claude Desktop, add the following to your Claude Desktop configuration:
{
"mcpServers": {
"zotero": {
"command": "mcp-zotero",
"env": {
"ZOTERO_API_KEY": YOUR_API_KEY,
"ZOTERO_USER_ID": YOUR_USER_ID
}
}
}
}
get_collections
: List all collections in your libraryget_collection_items
: Get items in a specific collectionget_item_details
: Get detailed information about a papersearch_library
: Search your entire libraryget_recent
: Get recently added papersIf you encounter any issues:
Verify your environment variables are set:
echo $ZOTERO_API_KEY
echo $ZOTERO_USER_ID
Check the installation:
npm list -g mcp-zotero
Try reinstalling:
npm uninstall -g mcp-zotero
npm install -g mcp-zotero