Installation Guide

Get Zotero MCP up and running in minutes

Prerequisites

Required Software
  • Python 3.10+ - Required for running Zotero MCP
  • Zotero 7+ - For local API with full-text access
  • MCP-compatible AI client - Claude Desktop, ChatGPT, Cherry Studio, Cursor, or Chorus
Enable Local API in Zotero

For the best experience, enable the local Zotero API:

  1. Open Zotero
  2. Go to Edit > Preferences > Advanced
  3. Toggle on "Allow other applications on this computer to communicate with Zotero"
  4. Click OK to save
Tip: Local API provides full-text access and is recommended for most users. Web API is useful for remote access but has limited attachment support.

UV Installation Recommended

UV is the fastest Python package manager. It provides quick installation and isolated environments.

Step 1: Install UV (if not installed)
# macOS/Linux
curl -LsSf https://astral.sh/uv/install.sh | sh

# Windows (PowerShell)
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
Step 2: Install Zotero MCP
uv tool install zotero-mcp-server
For semantic search and PDF features, install with extras: uv tool install "zotero-mcp-server[all]"
Step 3: Auto-configure for Claude Desktop
zotero-mcp setup
Done! Restart Claude Desktop and you're ready to go.

Pip Installation

Classic Python installation using pip:

Install from PyPI
pip install zotero-mcp-server
For semantic search and PDF features, install with extras: pip install "zotero-mcp-server[all]"
Auto-configure
zotero-mcp setup
If you're using a virtual environment or conda, make sure it's activated before installing.

Optional Extras

Zotero MCP supports optional dependency groups for advanced features. Choose what you need:

Extra What it adds Install command
[semantic] Semantic search (ChromaDB, sentence-transformers, OpenAI/Gemini embeddings) pip install "zotero-mcp-server[semantic]"
[pdf] PDF outline extraction (PyMuPDF) and EPUB support pip install "zotero-mcp-server[pdf]"
[all] Everything above pip install "zotero-mcp-server[all]"
The base install includes search, metadata, annotations, and write operations -- no ML dependencies required.

Client Configuration

Claude Desktop
Auto-configure (recommended):
zotero-mcp setup
Manual configuration:

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "zotero": {
      "command": "zotero-mcp",
      "env": {
        "ZOTERO_LOCAL": "true"
      }
    }
  }
}

Config file locations:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json
Cherry Studio

Go to Settings → MCP Servers → Edit MCP Configuration:

{
  "mcpServers": {
    "zotero": {
      "name": "zotero",
      "type": "stdio",
      "isActive": true,
      "command": "zotero-mcp",
      "args": [],
      "env": {
        "ZOTERO_LOCAL": "true"
      }
    }
  }
}
Other MCP Clients (Cursor, Chorus)

Most MCP clients use a similar configuration format. The key settings are:

  • Command: zotero-mcp
  • Environment: ZOTERO_LOCAL=true for local API
  • Transport: stdio (default) or streamable-http

For streamable HTTP transport:

zotero-mcp serve --transport streamable-http

ChatGPT Setup

Zotero MCP now supports ChatGPT! The setup requires a few additional steps.

Step 1: Install with no-claude flag
pip install git+https://github.com/54yyyu/zotero-mcp.git
zotero-mcp setup --no-claude
Step 2: Configure for OpenAI

The setup will create a standalone configuration optimized for ChatGPT.

ChatGPT requires specific tool names (search and fetch). The no-claude configuration ensures compatibility.

For detailed ChatGPT configuration, see the Getting Started guide.

Web API Setup

Use the Zotero Web API for remote access to your library.

Step 1: Get API Credentials
  1. Go to zotero.org/settings/keys
  2. Create a new API key with the appropriate permissions
  3. Note your Library ID (shown on the same page)
Step 2: Configure
zotero-mcp setup --no-local \
  --api-key YOUR_API_KEY \
  --library-id YOUR_LIBRARY_ID
Environment Variables
ZOTERO_LOCAL=false
ZOTERO_API_KEY=your_api_key
ZOTERO_LIBRARY_ID=your_library_id
ZOTERO_LIBRARY_TYPE=user  # or 'group' for group libraries
Note: Web API has limited attachment access. Some features like full-text extraction may not work as well as with the local API.

Updating Zotero MCP

Keep Zotero MCP up to date with the smart update command:

# Check for updates without installing
zotero-mcp update --check-only

# Update to latest version (preserves configurations)
zotero-mcp update

# Force update even if up to date
zotero-mcp update --force

The update command will:

  • Detect your installation method (uv, pip, conda, pipx)
  • Preserve all your configurations
  • Update to the latest version
Configuration backups are stored in ~/.config/zotero-mcp/

Verification

Check Installation
# Check version
zotero-mcp version

# Show installation and config info
zotero-mcp setup-info

# Check semantic search database status
zotero-mcp db-status
Test with Your AI Client
  1. Make sure Zotero is running
  2. Restart your AI client (Claude Desktop, etc.)
  3. Try a simple query: "Search my Zotero library for recent papers"
Success! If you see search results, everything is working correctly.
Troubleshooting

If you encounter issues:

  • Ensure Zotero is running with local API enabled
  • Restart your AI client after configuration changes
  • Check the FAQ section for common issues
  • Run zotero-mcp setup-info to verify your configuration