Skip to main content

Zotero MCP Server

PyPI Downloads PyPI - Downloads

An MCP (Model Context Protocol) server that integrates with Zotero's local API to search, retrieve, read PDFs, and add items by DOI from your Zotero library.

Prerequisites

  • Zotero application with local API enabled
  • uv (recommended) or Python 3.12+

Enable Zotero Local API

In Zotero's settings (Preferences → Advanced → General), enable:

☑️ Allow other applications on this computer to communicate with Zotero

Configuration

Add the following to your MCP client configuration file (e.g., mcp.json for Claude Desktop or Cursor):

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

Available Tools

Tool Parameters Description
zotero_search_items q (optional) Search items in your Zotero library by author name or title. Returns up to 30 matching items (excluding attachments).
zotero_get_item itemKey (required) Retrieve detailed information about a specific item including title, authors, publication info, abstract, tags, etc.
zotero_read_pdf itemKey (required), page_number (optional), attachment_index (optional, default=1) Extract text from a PDF attachment. Specify a page number to read a single page, or omit to read all pages. Use attachment_index to select among multiple PDFs.
confirm_doi doi (required) Fetch metadata for a DOI from CrossRef. Use this to validate a DOI before adding it to Zotero.
add_item_by_doi doi (required) Add an item to Zotero by DOI. Validates via CrossRef and checks for duplicates before adding.

Example Usage

Once configured, you can use these tools through your MCP client:

  • "Search my Zotero library for papers about spinal deformity"
  • "Get details for item ABCD1234"
  • "Read page 3 of the PDF attached to item ABCD1234"
  • "Look up DOI 10.1038/s41586-021-03819-2 and add it to my Zotero library"

License

MIT License - see LICENSE file for details.

Contributing

Issues and pull requests are welcome at https://github.com/masaki39/zotero-mcp

Metadata

Release files for masaki39-zotero-mcp 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for masaki39-zotero-mcp 0.2.0
File Size Uploaded
masaki39_zotero_mcp-0.2.0.tar.gz 7.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for masaki39-zotero-mcp 0.2.0
File Interpreter ABI Platform
masaki39_zotero_mcp-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 15.6 kB

Release files / masaki39_zotero_mcp-0.2.0.tar.gz

Download URL masaki39_zotero_mcp-0.2.0.tar.gz
Size 7.5 kB
Tags Source
SHA-256 checksum
How to use checksums
7966fe661f3baa5898f7c1014d28606d12d534429a138cbab679eeef91bc6aa6
BLAKE2b-256 checksum
How to use checksums
9204b52d1a5375821bc52c752373ada5d82ed8412b1c91d10bb073df2c61e58d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.10

Release files / masaki39_zotero_mcp-0.2.0-py3-none-any.whl

Download URL masaki39_zotero_mcp-0.2.0-py3-none-any.whl
Size 8.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d96d8f143da9a6dd934555c503348efafb7c4e2c86e6e634fb71709dd6d9b79e
BLAKE2b-256 checksum
How to use checksums
771a0b83a77adc85aea598b8765343dcb0838ae056cefaceed981e0b27e54d31
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.10

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page