Awesome
MCP Zotero
A Model Context Protocol server for Zotero integration that allows Claude to interact with your Zotero library.
<a href="https://glama.ai/mcp/servers/mjvu0xzzzz"><img width="380" height="200" src="https://glama.ai/mcp/servers/mjvu0xzzzz/badge" alt="Zotero MCP server" /></a>
Setup
-
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
Integration with Claude Desktop
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
}
}
}
}
Available Tools
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 papers
Troubleshooting
If 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