mcp-zotero
Provides tools for searching, browsing, and managing Zotero library items, collections, tags, attachments, and saved searches, with optional semantic search via local embeddings.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp-zoterosearch items for 'deep learning' in my Zotero library"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
mcp-zotero
MCP server for Zotero — 38 library tools + optional semantic search via local embeddings.
Install
Base (Zotero API tools only)
uv tool install mcp-zoteroWith semantic search
uv tool install "mcp-zotero[rag]"Adds 8 RAG tools for indexing PDFs and searching by meaning. Downloads a ~80MB embedding model on first use.
With OCR for scanned PDFs
uv tool install "mcp-zotero[rag,ocr]"Adds docling-based OCR fallback for PDFs that contain scanned images instead of text.
Configuration
Add to your Claude Code MCP settings (.mcp.json or ~/.claude/settings.json):
{
"mcpServers": {
"zotero": {
"command": "mcp-zotero",
"env": {
"ZOTERO_LIBRARY_ID": "YOUR_LIBRARY_ID",
"ZOTERO_LOCAL": "true",
"ZOTERO_LOCAL_KEY": "YOUR_LOCAL_KEY",
"ZOTERO_API_KEY": "YOUR_API_KEY",
"ZOTERO_ATTACHMENTS_DIR": "~/Zotero/storage"
}
}
}
}Environment variables
Variable | Required | Default | Description |
| Yes | — | Your Zotero library ID |
| No |
|
|
| No |
| Use Zotero Local API (requires Zotero app running) |
| For reads | — | Local API key |
| For writes | — | Web API key from zotero.org/settings/keys |
| For RAG | — | Path to Zotero storage directory |
RAG-only variables (when installed with [rag])
Variable | Default | Description |
|
| Where to store index data |
|
| Sentence transformer model |
|
| Target chunk size in tokens |
|
| Overlap between chunks |
|
| Enable docling OCR fallback for scanned PDFs |
Tools
Base tools (38)
Always available. Covers the full Zotero API:
Search & browse: search_items, top_items, get_item, trash_items, deleted_items
Collections: list_collections, list_collections_top, list_collections_sub, get_collection, collection_items, collection_items_top, collection_tags, create_collections, update_collection, delete_collection, add_item_to_collection, remove_item_from_collection
Tags: list_tags, item_tags, delete_tags
Items: add_item, update_item, delete_item
Attachments: download_attachments, attach_file, attach_linked_file
Schema: item_types, item_fields, item_type_fields, creator_fields, item_creator_types, item_attachment_link_modes
Saved searches: list_searches, list_groups, create_saved_search, delete_saved_search
System: ping, health_check
RAG tools (8)
Available when installed with [rag]. Semantic search across your PDF library:
Tool | Description |
| Index a collection or entire library |
| Index specific items by key |
| Remove items from the index |
| Search passages by meaning |
| Get surrounding text for a search result |
| Find similar passages across documents |
| Get index statistics |
| List all indexed items |
Development
git clone https://github.com/nealcaren/mcp-zotero.git
cd mcp-zotero
uv venv && uv pip install -e ".[dev,rag]"
pytestLicense
MIT
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/nealcaren/mcp-zotero'
If you have feedback or need assistance with the MCP directory API, please join our Discord server