home / mcp / zotero mcp server

Zotero MCP Server

Zotero MCP: Connects your Zotero research library with Claude and other AI assistants via the Model Context Protocol to discuss papers, get summaries, analyze citations, and more.

Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "54yyyu-zotero-mcp": {
      "command": "zotero-mcp",
      "args": [],
      "env": {
        "ZOTERO_LOCAL": "true",
        "ZOTERO_API_KEY": "YOUR_API_KEY",
        "ZOTERO_LIBRARY_ID": "YOUR_LIBRARY_ID"
      }
    }
  }
}

Zotero MCP connects your Zotero research library to AI assistants such as ChatGPT and Claude, enabling semantic search, metadata retrieval, and PDF annotation extraction from your local or web library. It supports offline access via a local API and cloud access through a web API, making it easy to explore, analyze, and annotate your sources with AI assistance.

How to use

You interact with Zotero MCP through an MCP client (for example Claude Desktop or a compatible AI assistant). After you install Zotero MCP, you configure the client to connect to the local server so you can search, retrieve metadata, and extract annotations from your Zotero library. Use semantic search to discover papers by concepts, not just keywords, and leverage the integrated tools to access items, collections, tags, notes, and annotations.

How to install

Prerequisites you need before installation are Python 3.10+ and Zotero 7+ (for local full-text access). You also need an MCP-compatible client such as Claude Desktop, ChatGPT, Cherry Studio, or Chorus.

Choose your installation method and run the corresponding commands.

# Install via uv (recommended for automatic setup)
uv tool install "git+https://github.com/54yyyu/zotero-mcp.git"
zotero-mcp setup  # Auto-configure (Claude Desktop supported)

# Install via pip
pip install git+https://github.com/54yyyu/zotero-mcp.git
zotero-mcp setup  # Auto-configure (Claude Desktop supported)

# Install via Smithery for Claude Desktop
npx -y @smithery/cli install @54yyyu/zotero-mcp --client claude

Configuration and usage notes

Semantic search setup lets you choose among embedding models (Default/local, OpenAI, Gemini) and set update frequencies to keep your index fresh. You can build the semantic database metadata-only for speed or include full-text extraction for richer results.

# 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

# Check database status
zotero-mcp db-status

Using with Claude Desktop (example MCP client)

Configure Claude Desktop to connect to Zotero MCP by using a local command or a preconfigured setup. You can auto-configure or manually add the MCP server connection in Claude Desktop.

# Example client config snippet ( Claude Desktop )
{
  "mcpServers": {
    "zotero": {
      "command": "zotero-mcp",
      "env": {
        "ZOTERO_LOCAL": "true"
      }
    }
  }
}
```

Then use prompts like:
- Search my library for papers on machine learning
- Find recent articles about climate change
- Summarize the key findings from my paper on quantum computing
- Extract all PDF annotations from my paper on neural networks
- Search notes and annotations for mentions of 'reinforcement learning'

Using with Cherry Studio

If you use Cherry Studio, configure MCP servers in Settings > MCP Servers. Add a stdio entry that runs the Zotero MCP process with local Zotero access.

Advanced configuration and tools

Zotero MCP exposes a rich set of tools to interact with your library. Use them to perform semantic searches, retrieve metadata, or extract annotations and notes.

The available tools include end-to-end functionality for reading, searching, and annotating your Zotero library.

Troubleshooting and tips

If you encounter issues, ensure Zotero is running and the local API is enabled. Check your API keys and library IDs if you are using the web API. For full-text indexing, confirm you are on Zotero 7+ and that the local full-text access is enabled.

Available tools

zotero_semantic_search

AI-powered similarity search with embedding models to find papers by concept similarity and topic-based discovery.

zotero_update_search_database

Manually update the semantic search database to reflect recent additions or changes.

zotero_get_search_database_status

Check the status and configuration of the semantic search database.

zotero_search_items

Search your library by keywords across titles, authors, and content.

zotero_advanced_search

Perform complex searches with multiple criteria (filters, tags, collections).

zotero_get_collections

List collections in your Zotero library.

zotero_get_collection_items

Retrieve items within a specified collection.

zotero_get_tags

List all tags in your library.

zotero_get_recent

Get recently added items.

zotero_search_by_tag

Search items using custom tag filters.

zotero_get_item_metadata

Get detailed metadata for an item (BibTeX export supported).

zotero_get_item_fulltext

Get full text content for an item when available.

zotero_get_item_children

Get attachments and notes for an item.

zotero_get_annotations

Retrieve annotations including PDF-extracted ones.

zotero_get_notes

Retrieve notes from your library.

zotero_search_notes

Search in notes and annotations (including PDF-extracted).

zotero_create_note

Create a new note for an item (beta feature).