Visit https://www.zotero.org/settings/keys and:
- Create a new API key
- Note your User ID (shown at the top)
- Copy your API Key
Create a .env file:
cp .env.example .envEdit .env and add your credentials:
ZOTERO_API_KEY=your_api_key_here
ZOTERO_USER_ID=123456# The server is already built! Just run:
npm startYou should see:
[Zotero MCP] Starting server...
[Zotero MCP] Services initialized
[Zotero MCP] Server running on stdio
[Zotero MCP] Connected to user 123456
Press Ctrl+C to stop.
macOS: Edit ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: Edit %APPDATA%\Claude\claude_desktop_config.json
Add this configuration (replace with your actual path and credentials):
{
"mcpServers": {
"zotero": {
"command": "node",
"args": ["/Users/danielostrow/Projects/ZoteroMCP/dist/index.js"],
"env": {
"ZOTERO_API_KEY": "your_api_key_here",
"ZOTERO_USER_ID": "123456"
}
}
}
}After saving the configuration, restart Claude Desktop completely.
Once Claude Desktop restarts, try these commands:
Search my Zotero library for machine learning papers
Generate APA citations for the first 3 machine learning papers
Extract the abstract from the first paper (you'll need to provide the item key)
Create a new collection called "AI Research Papers"
Add a new journal article about deep learning to my library
- search_items - Search and filter your library
- get_item - Get details for a specific item
- generate_citation - Format citations in any style
- extract_pdf_text - Get full-text from PDFs
- create_item - Add new items
- update_item - Modify existing items
- delete_items - Remove items
- manage_collections - Organize with collections
- manage_tags - Tag and categorize
- zotero://collections - Browse your collections
- zotero://tags - View all tags
- zotero://citation-styles - List available citation styles
- Check your
.envfile has bothZOTERO_API_KEYandZOTERO_USER_ID - Make sure there are no extra spaces or quotes
- Verify your API key is correct
- Check the key has read/write permissions at https://www.zotero.org/settings/keys
- Verify the path in
claude_desktop_config.jsonis absolute and correct - Check Claude Desktop logs (Help → View Logs)
- Restart Claude Desktop completely (Quit and reopen)
- Read the full README.md for detailed documentation
- Explore all available citation styles at
zotero://citation-styles - Try combining tools: search → get items → generate citations
- Index your PDFs in Zotero Desktop for full-text extraction
- Zotero API: https://www.zotero.org/support/dev/web_api/v3/start
- MCP Documentation: https://modelcontextprotocol.io/
- Report issues: Create an issue in this repository