Everything you need to supercharge your research workflow with AI
Go beyond keyword matching. Our vector-based semantic search understands the meaning behind your queries, finding conceptually related papers even when they use different terminology.
# Example semantic search queries
"Find papers similar to machine learning in neuroscience"
"Research about climate impacts on agriculture"
"Studies on social media and mental health"
"Papers conceptually similar to this abstract: [text]"
Find papers by title, author, content, or tags. Advanced multi-criteria search with AND/OR logic and tag filtering.
Retrieve detailed metadata, full-text content, and attachments. Extract and analyze your research papers with AI.
Extract PDF annotations, search notes, and create new research notes. Works with Zotero's native annotations.
Add papers by DOI or URL, manage collections, update metadata, batch tag operations, and find & merge duplicates.
Export citations in BibTeX format directly through your AI assistant. Perfect for academic writing workflows.
Auto-detect installation method and preserve configurations. Install optional extras like [semantic], [pdf], or [all] for additional functionality.
Get up and running in under 2 minutes
The fastest way to get started with Zotero MCP:
# Core install
uv tool install zotero-mcp-server
# Full install (semantic search + PDF extraction)
uv tool install "zotero-mcp-server[all]"
zotero-mcp setup
Requires uv package manager
Classic Python installation:
# Core install
pip install zotero-mcp-server
# Full install (semantic search + PDF extraction)
pip install "zotero-mcp-server[all]"
zotero-mcp setup
Install only the extras you need:
[semantic] - Semantic search with vector embeddings (ChromaDB, embedding models)[pdf] - PDF text extraction and outline parsing[all] - Everything above combinedSet up AI-powered semantic search:
# Configure semantic search
zotero-mcp setup --semantic-config-only
# Build the search database
zotero-mcp update-db --fulltext
Configure for your favorite AI client and start chatting with your research
zotero-mcp setup
Add to your claude_desktop_config.json:
{
"mcpServers": {
"zotero": {
"command": "zotero-mcp",
"env": {
"ZOTERO_LOCAL": "true"
}
}
}
}
Go to Settings → MCP Servers → Edit MCP Configuration:
{
"mcpServers": {
"zotero": {
"name": "zotero",
"type": "stdio",
"isActive": true,
"command": "zotero-mcp",
"args": [],
"env": {
"ZOTERO_LOCAL": "true"
}
}
}
}
Fine-tune Zotero MCP for your workflow
Access your library remotely via Zotero's Web API:
zotero-mcp setup --no-local \
--api-key YOUR_API_KEY \
--library-id YOUR_LIBRARY_ID
Get your API key at zotero.org/settings/keys
ZOTERO_LOCAL=true - Use local APIZOTERO_API_KEY - Web API keyZOTERO_LIBRARY_ID - Library IDZOTERO_LIBRARY_TYPE - user or groupZOTERO_EMBEDDING_MODEL - default, openai, gemini, huggingfaceOPENAI_API_KEY - For OpenAI embeddingsGEMINI_API_KEY - For Gemini embeddingszotero-mcp setup # Auto-configure
zotero-mcp setup-info # Show config info
zotero-mcp serve # Run server
zotero-mcp serve --transport streamable-http
zotero-mcp update # Update to latest
zotero-mcp update --check-only
zotero-mcp update-db # Update search DB
zotero-mcp update-db --fulltext
zotero-mcp db-status # Check DB status
Comprehensive API for interacting with your Zotero library
zotero_semantic_searchzotero_update_search_databasezotero_get_search_database_statuszotero_search_itemszotero_search_by_tagzotero_advanced_searchzotero_get_collectionszotero_get_collection_itemszotero_get_tagszotero_get_recentzotero_search_by_citation_keyzotero_get_item_metadatazotero_get_item_fulltextzotero_get_item_childrenzotero_get_pdf_outlinezotero_get_annotationszotero_get_noteszotero_search_noteszotero_create_notezotero_create_annotationzotero_add_by_doizotero_add_by_urlzotero_add_from_filezotero_create_collectionzotero_update_itemzotero_find_duplicateszotero_merge_duplicateszotero_batch_update_tagszotero_search_by_citation_keyCommon issues and their solutions
Edit > Preferences > Advanced and toggle on "Allow other applications on this computer to communicate with Zotero"zotero-mcp setup to configure your environmentzotero-mcp update-dbzotero-mcp db-status--fulltext flag when building the database--force-rebuildFor optimal annotation extraction, install the Better BibTeX plugin for Zotero.
As a fallback, try using the use_pdf_extraction: true parameter with the zotero_get_annotations tool.
Problems from changing install methods or search options can often be resolved with:
zotero-mcp update-db --force-rebuild
For update issues, try:
zotero-mcp update --force
If you changed embedding models and are seeing 404 or NOT_FOUND errors, the existing database was built with a different model. Rebuild it:
zotero-mcp update-db --force-rebuild
If that doesn't resolve the issue, delete the database directory and rebuild from scratch:
rm -rf ~/.config/zotero-mcp/chroma_db/
zotero-mcp update-db --fulltext