n8n
Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.
npx n8nFair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.
npx n8nThe agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.
git clone https://github.com/affaan-m/everything-claude-code.gitAn open-source AI agent that brings the power of Gemini directly into your terminal.
npx @google/gemini-cliZotero MCP seamlessly connects your Zotero research library with ChatGPT, Claude, and other AI assistants (e.g., Cherry Studio, Chorus, Cursor) via the Model Context Protocol. Review papers, get summaries, analyze citations, extract PDF annotations, and more!
[semantic] extra)[pdf] extra)The base install is lightweight โ it includes search, metadata retrieval, annotations, and write operations. No ML/AI dependencies are pulled in.
uv tool install zotero-mcp-server
zotero-mcp setup # Auto-configure (Claude Desktop supported)
pip install zotero-mcp-server
zotero-mcp setup # Auto-configure (Claude Desktop supported)
pipx install zotero-mcp-server
zotero-mcp setup # Auto-configure (Claude Desktop supported)
Heavy ML/PDF dependencies are separated into optional extras so the base install stays fast and small:
| Extra | What it adds | Install command |
|---|---|---|
semantic | Semantic search via ChromaDB, sentence-transformers, OpenAI/Gemini embeddings | pip install "zotero-mcp-server[semantic]" |
pdf | PDF outline extraction (PyMuPDF) and EPUB annotation support | pip install "zotero-mcp-server[pdf]" |
all | Everything above | pip install "zotero-mcp-server[all]" |
For example, with uv:
uv tool install "zotero-mcp-server[all]" # Full install with all features
uv tool install "zotero-mcp-server[semantic]" # Just semantic search
If you only need basic library access (search, read, annotate, write), the default install with no extras is all you need.
Keep zotero-mcp up to date with the smart update command:
# Check for updates
zotero-mcp update --check-only
# Update to latest version (preserves all configurations)
zotero-mcp update
Zotero MCP now includes powerful AI-powered semantic search capabilities that let you find research based on concepts and meaning, not just keywords.
During setup or separately, configure semantic search:
# Configure during initial setup (recommended)
zotero-mcp setup
# Or configure semantic search separately
zotero-mcp setup --semantic-config-only
Available Embedding Models:
text-embedding-3-small or text-embedding-3-large)gemini-embedding-001)Update Frequency Options:
zotero-mcp update-dbAfter setup, initialize your search database:
# Build the semantic search database (fast, metadata-only)
zotero-mcp update-db
# Build with full-text extraction (slower, more comprehensive)
zotero-mcp update-db --fulltext
# Use your custom zotero.sqlite path
zotero-mcp update-db --fulltext --db-path "/Your_custom_path/zotero.sqlite"
# If you have embedding conflicts or changed models, force a rebuild
zotero-mcp update-db --force-rebuild
# Check database status
zotero-mcp db-status
Example Semantic Queries in your AI assistant:
The semantic search provides similarity scores and finds papers based on conceptual understanding, not just keyword matching.
Full documentation is available at Zotero MCP docs.
Requirements
For ChatGPT setup: see the Getting Started guide.
After installation, either:
Auto-configure (recommended):
zotero-mcp setup
Manual configuration:
Add to your claude_desktop_config.json:
{
"mcpServers": {
"zotero": {
"command": "zotero-mcp",
"env": {
"ZOTERO_LOCAL": "true"
}
}
}
}
Example prompts:
Go to Settings -> MCP Servers -> Edit MCP Configuration, and add the following:
{
"mcpServers": {
"zotero": {
"name": "zotero",
"type": "stdio",
"isActive": true,
"command": "zotero-mcp",
"args": [],
"env": {
"ZOTERO_LOCAL": "true"
}
}
}
}
Then click "Save".
Cherry Studio also provides a visual configuration method for general settings and tools selection.
For accessing your Zotero library via the web API (useful for remote setups):
zotero-mcp setup --no-local --api-key YOUR_API_KEY --library-id YOUR_LIBRARY_ID
Zotero Connection:
ZOTERO_LOCAL=true: Use the local Zotero API (default: false)ZOTERO_API_KEY: Your Zotero API key (for web API)ZOTERO_LIBRARY_ID: Your Zotero library ID (for web API)ZOTERO_LIBRARY_TYPE: The type of library (user or group, default: user)Semantic Search:
ZOTERO_EMBEDDING_MODEL: Embedding model to use (default, openai, gemini)OPENAI_API_KEY: Your OpenAI API key (for OpenAI embeddings)OPENAI_EMBEDDING_MODEL: OpenAI model name (text-embedding-3-small, text-embedding-3-large)OPENAI_BASE_URL: Custom OpenAI endpoint URL (optional, for use with compatible APIs)GEMINI_API_KEY: Your Gemini API key (for Gemini embeddings)GEMINI_EMBEDDING_MODEL: Gemini model name (gemini-embedding-001)GEMINI_BASE_URL: Custom Gemini endpoint URL (optional, for use with compatible APIs)ZOTERO_DB_PATH: Custom zotero.sqlite path (optional)# Run the server directly
zotero-mcp serve
# Specify transport method
zotero-mcp serve --transport stdio|streamable-http|sse
# Setup and configuration
zotero-mcp setup --help # Get help on setup options
zotero-mcp setup --semantic-config-only # Configure only semantic search
zotero-mcp setup-info # Show installation path and config info for MCP clients
# Updates and maintenance
zotero-mcp update # Update to latest version
zotero-mcp update --check-only # Check for updates without installing
zotero-mcp update --force # Force update even if up to date
# Semantic search database management
zotero-mcp update-db # Update semantic search database (fast, metadata-only)
zotero-mcp update-db --fulltext # Update with full-text extraction (comprehensive but slower)
zotero-mcp update-db --force-rebuild # Force complete database rebuild
zotero-mcp update-db --fulltext --force-rebuild # Rebuild with full-text extraction
zotero-mcp update-db --fulltext --db-path "your_path_to/zotero.sqlite" # Customize your zotero database path
zotero-mcp db-status # Show database status and info
# General
zotero-mcp version # Show current version
Zotero MCP includes advanced PDF annotation extraction capabilities:
For optimal annotation extraction, it is highly recommended to install the Better BibTeX plugin for Zotero. The annotation-related functions have been primarily tested with this plugin and provide enhanced functionality when it's available.
The first time you use PDF annotation features, the necessary tools will be automatically downloaded.
zotero_semantic_search: AI-powered similarity search with embedding modelszotero_update_search_database: Manually update the semantic search databasezotero_get_search_database_status: Check database status and configurationzotero_search_items: Search your library by keywordszotero_advanced_search: Perform complex searches with multiple criteriazotero_get_collections: List collectionszotero_get_collection_items: Get items in a collectionzotero_get_tags: List all tagszotero_get_recent: Get recently added itemszotero_search_by_tag: Search your library using custom tag filterszotero_get_item_metadata: Get detailed metadata (supports BibTeX export via format="bibtex")zotero_get_item_fulltext: Get full text contentzotero_get_item_children: Get attachments and noteszotero_get_annotations: Get annotations (including direct PDF extraction)zotero_get_notes: Retrieve notes from your Zotero libraryzotero_search_notes: Search in notes and annotations (including PDF-extracted)zotero_create_note: Create a new note for an item (beta feature)zotero_add_by_doi: Add a paper by DOI with automatic metadata and open-access PDF attachmentzotero_add_by_url: Add a paper by URL (arXiv, DOI URLs, and general webpages)zotero_add_from_file: Import a local PDF or EPUB file with automatic DOI extractionzotero_create_collection: Create a new collection (folder/project) in your libraryzotero_search_collections: Search for collections by name to find their keyszotero_manage_collections: Add or remove items from collectionszotero_update_item: Update metadata for an existing item (title, tags, abstract, date, etc.)zotero_find_duplicates: Find duplicate items by title and/or DOIzotero_merge_duplicates: Merge duplicate items with dry-run preview; consolidates all child itemszotero_get_pdf_outline: Extract the table of contents / outline from a PDF attachmentzotero_search_by_citation_key: Look up items by BetterBibTeX citation key (with Extra field fallback)uv run pytest tests/ # 294 tests, ~2 seconds
A 45-point live integration test plan is included at docs/integration-test-plan.md. It's designed to be given to Claude in Claude Desktop, which will execute each test against your real Zotero library. Tests cover all tools, PDF attachment cascade, attach_mode, BetterBibTeX lookups, and multi-step showcase prompts. See the file for full instructions.
Allow other applications on this computer to communicate with Zotero in Zotero preferences.zotero-mcp update-db --force-rebuildzotero-mcp setup to configure your environment, or the CLI will automatically load settings from your MCP client config (e.g., Claude Desktop)text-embedding-004 is not found), run zotero-mcp update-db --force-rebuild to recreate the collection with your current model. If that doesn't work, delete ~/.config/zotero-mcp/chroma_db/ and rebuild.update-db is fast (metadata-only). For comprehensive indexing with full-text, use --fulltext flag. Use --limit parameter for testing: zotero-mcp update-db --limit 100zotero-mcp update-db and check status with zotero-mcp db-statuszotero-mcp update-db --fulltext to index full-text content (requires local Zotero setup)zotero-mcp update --force~/.config/zotero-mcp/ for backup filesIf you find Zotero MCP useful, consider buying me a coffee!
MIT