Skip to main content

Fast, Customizable & Light Zotero MCP server for AI research assistants

Project description

Zotero MCP Lite

PyPI Zotero 7 Python 3.10+ MCP License: MIT uv

A high-performance Model Context Protocol (MCP) server for Zotero with customizable research workflows.

  • Full Local - No cloud, no API key; runs entirely via Zotero Desktop
  • Atomic Tools - 9 composable tools; LLM orchestrates as needed
  • MCP-Native - Works with any MCP client
  • Extensible - User-editable prompts to match your research style
  • Easy Deploy - Single command install, auto-detects Zotero

Architecture

flowchart LR
    subgraph MCP [Zotero MCP Lite]
        Read[Read Operations]
        Write[Write Operations]
    end
  
    subgraph Zotero [Zotero Desktop]
        LocalAPI["/api/ endpoint"]
        ConnectorAPI["/connector/ endpoint"]
        SQLite[(zotero.sqlite)]
    end
  
    Read -->|GET| LocalAPI
    Read -->|Direct SQL| SQLite
    Write -->|POST saveItems| ConnectorAPI
    LocalAPI --> SQLite
    ConnectorAPI --> SQLite

Quick Start

Prerequisites

  1. Python 3.10+
  2. Zotero 6 or 7 installed

Step 0: Enable Zotero Local API

The Local API allows third-party applications to communicate with Zotero. This is required.

Steps:

  1. Open ZoteroEditSettings (or Preferences on macOS)
  2. Go to Advanced tab
  3. Under Miscellaneous, check "Allow other applications on this computer to communicate with Zotero"
  4. The API will be available at http://localhost:23119/api/

Note: The Local API requires manual enabling (unlike the browser Connector).

Step 1: Install

uv tool install zotero-mcp-lite

Or with pip:

pip install zotero-mcp-lite
Alternative: Install from GitHub or source
# From GitHub (latest development version)
uv tool install "git+https://github.com/xmruuu/zotero-mcp-lite.git"

# From source (for development)
git clone https://github.com/xmruuu/zotero-mcp-lite.git
cd zotero-mcp-lite && uv sync
uv run zotero-mcp setup

# Direct run without install
uvx zotero-mcp-lite serve

Step 2: Setup

zotero-mcp setup

This detects your Zotero installation and configures MCP clients automatically.

Step 3: Connect to MCP Client

Claude Code (one command):

claude mcp add zotero -- zotero-mcp serve

Other MCP clients — add to your MCP config JSON:

{
  "mcpServers": {
    "zotero": {
      "command": "zotero-mcp",
      "args": ["serve"]
    }
  }
}

That's it! You're ready to use Zotero with AI assistants.

Features

9 Atomic MCP Tools

Search and Navigation

  • zotero_search_items - Keyword search with tag filtering
  • zotero_get_recent - Recently modified/added items (excludes notes by default)
  • zotero_get_collections - List all collections
  • zotero_get_collection_items - Items in a collection (excludes notes by default)
  • zotero_search_annotations - Search all PDF highlights across library

Content Reading

  • zotero_get_item_metadata - Metadata, authors, abstract, tags
  • zotero_get_item_children - Attachments, notes, and PDF annotations
  • zotero_get_item_fulltext - Full text extraction

Writing (via local Connector API)

  • zotero_create_note - Create note with full formatting support (tables, lists, line breaks)

4 Research Skills (MCP Prompts)

Pre-defined workflows that guide AI through common academic tasks:

Skill Use Case What It Does
knowledge_discovery(query) Explore a topic Searches titles AND your annotations
literature_review(item_key) Deep-dive one paper Structured analysis from annotations or full text
comparative_review(item_keys) Compare papers Table-rich synthesis with insights
bibliography_export(item_keys) Prepare citations APA, IEEE, and BibTeX formats

Works with or without annotations. Fully customizable. See Customizing Skills.

Debugging

Debugging MCP servers can be challenging. Use MCP Inspector:

npx @modelcontextprotocol/inspector zotero-mcp serve

This opens a web UI to test tools and prompts interactively.

Technical Notes

  • Annotations: Direct SQLite query (faster than Web API, works offline)
  • Cross-platform: Auto-detects Zotero on Windows, macOS, Linux
  • Architecture: Read via /api/, Write via /connector/, Annotations via SQLite

Customizing Skills

Prompts are fully customizable. Copy from the package defaults and edit:

~/.zotero-mcp/prompts/
├── literature_review.md      # Single paper analysis skill
├── comparative_review.md     # Multi-paper comparison skill
├── knowledge_discovery.md    # Topic exploration skill
└── bibliography_export.md    # Citation export skill

Loading order: User files (~/.zotero-mcp/prompts/) take priority over package defaults.

Edit the .md files to customize analysis sections, add new ones, or change the output format entirely.

Credits

Thanks to @54yyyu for the original zotero-mcp project.

License

MIT License - See LICENSE file.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

zotero_mcp_lite-0.1.4.tar.gz (146.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

zotero_mcp_lite-0.1.4-py3-none-any.whl (27.9 kB view details)

Uploaded Python 3

File details

Details for the file zotero_mcp_lite-0.1.4.tar.gz.

File metadata

  • Download URL: zotero_mcp_lite-0.1.4.tar.gz
  • Upload date:
  • Size: 146.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for zotero_mcp_lite-0.1.4.tar.gz
Algorithm Hash digest
SHA256 b6eb6c478ae0c2a4367cac2ed4ba5b7c365645f1c2b7d78b730d2ec495bf0145
MD5 234ab351ae749693464f9be53cded310
BLAKE2b-256 2fb026963f21eca41c5df1a86b097a9fada4739eeac7aae6b311b6693f922339

See more details on using hashes here.

Provenance

The following attestation bundles were made for zotero_mcp_lite-0.1.4.tar.gz:

Publisher: publish.yml on xmruuu/zotero-mcp-lite

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file zotero_mcp_lite-0.1.4-py3-none-any.whl.

File metadata

File hashes

Hashes for zotero_mcp_lite-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 0a31e533a4ff608b28d98973e9cec298d5452bab09280c823b79cee4ce1aa35f
MD5 27d714f555522e354e82fe1275d3b854
BLAKE2b-256 8413e71723028363f44dc18fda75c46c7da8a1727bc9d80c09c60e97611349fd

See more details on using hashes here.

Provenance

The following attestation bundles were made for zotero_mcp_lite-0.1.4-py3-none-any.whl:

Publisher: publish.yml on xmruuu/zotero-mcp-lite

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page