PlugWiki
Zotero MCP logo

Zotero MCP Plugin by cookjohn: Setup for Claude, Cursor and Other Apps

CommunityRemote

Lets Claude, Cursor and other assistants search your Zotero library, read PDFs and highlights, and organize collections.

Zotero MCP is a Zotero plugin that runs a small server on your own computer. Your assistant can then search your library, read PDF text and highlights, and browse collections. You install it in Zotero as an add-on, so there is no account, API key or separate program. Zotero must be open while you use it, and editing your library is off until you switch on Write Operations in the plugin settings.

Good for

  • Researchers who want Claude or Cursor to answer questions from their own papers
  • Students doing literature reviews who need quotes and highlights pulled from PDFs
  • Zotero users who want to tidy tags and collections by asking in plain words

Works in

12 should work

Tap an app to see how to set it up and any known problems.

Install Zotero MCP

Claude Code

  1. 1

    Copy this prompt.

    Add the Zotero MCP server to Claude Code. Run this command:
    
    claude mcp add --transport http zotero-mcp http://127.0.0.1:23120/mcp
    
    Then check that it loaded and tell me if I need to sign in or restart.
  2. 2

    Paste it into Claude Code. It shows the change and asks before running it.

Requires Zotero 7+ running with the Zotero MCP plugin.

Read-only mode: Leave Write Operations switched off in the Zotero MCP plugin preferences (it is off by default).

Install the plugin first: download the latest zotero-mcp-plugin .xpi from the project's releases page, add it in Zotero under Tools, then Add-ons, restart Zotero, and make sure the server is enabled in the plugin preferences (default port 23120). The plugin documents this command for Claude Code.

From the project README. Source.

Tools

  • Lists your Zotero libraries

    Returns the personal and group libraries your Zotero app has, with basic details for each.

    Try: “Which Zotero libraries do I have?”

    Read · get_libraries

  • Finds items in your library by many filters

    Searches titles, authors, years, tags and item types with AND/OR logic and relevance scoring, and pages through results.

    Try: “Find papers from 2022 to 2024 about graph neural networks in my library.”

    Read · search_library

  • Finds a library by name

    Looks up libraries by name, which helps when you have several group libraries.

    Try: “Find my lab group library.”

    Read · search_libraries

  • Finds highlights and notes by color or tag

    Searches PDF highlights, notes and other annotations by text, color or tag and ranks the best matches.

    Try: “Show my yellow highlights that mention sample size.”

    Read · search_annotations

  • Shows full details for one item

    Returns the complete record for one item: authors, date, DOI, tags, attachments and more.

    Try: “Show the details for item key ABCD1234.”

    Read · get_item_details

  • Reads the highlights on specific items

    Returns the annotations and comments you made on named items, filtered by color or tag, with your exact wording.

    Try: “Quote my highlights on the Smith 2021 paper.”

    Read · get_annotations

  • Reads the text of PDFs, notes and abstracts

    Extracts full text from PDFs, attachments, notes, abstracts and saved web pages. Text from scanned PDFs may contain errors.

    Try: “Read the full text of the Smith 2021 PDF and summarize the methods.”

    Read · get_content

  • Lists your collections

    Returns your collections (folders) in a paged list.

    Try: “List all my collections.”

    Read · get_collections

  • Finds collections by name

    Searches collection names for a keyword.

    Try: “Find my collection about thesis chapters.”

    Read · search_collections

  • Shows details of one collection

    Returns the details of one collection by its key.

    Try: “Tell me about the collection with key XYZ123.”

    Read · get_collection_details

  • Lists the items in a collection

    Returns the items inside one collection, with paging.

    Try: “What papers are in my Literature Review collection?”

    Read · get_collection_items

  • Lists folders inside a collection

    Returns the subcollections of a collection, and can go all the way down.

    Try: “Show the whole folder tree under Thesis.”

    Read · get_subcollections

Read from the source code

Permissions

low risk · 4 things to watch

Low risk

Out of the box it can only read your Zotero library and PDF text, and only from your own computer. If you switch on Write Operations, it can also edit notes, tags and metadata and delete collections, so switch it on only for a session where you want edits.

What it can do

Watch out for

  • Turning on Write Operations lets it edit and delete

    With the switch on, the assistant can change notes, tags and metadata, move items between collections and delete a collection. Leave it off unless you need edits. github.com

  • A collection delete can trash its items

    delete_collection keeps the items by default but can send them to the Zotero trash when asked. Zotero trash is recoverable until you empty it. github.com

  • Remote access setting opens it to your network

    If you tick "Allow remote access", the server listens on every network interface instead of only your computer, and it has no sign-in. Keep it off. github.com

  • Semantic search can send text to an embedding API

    Semantic search uses an OpenAI-style or Ollama embedding service. With a cloud service, text from your library goes to that provider; Ollama keeps it on your machine. github.com

Security advisories

No published security advisories as of Nov 1, 2026.

Technical details
Turning on read-onlyWrite Operations is off by default in the plugin preferences; the write tools are hidden from the tool list and collection edit tools refuse to run until you switch it on.
Sign-in and keysNo sign-in. The server listens on 127.0.0.1 and no credentials are used.

Questions

Is Zotero MCP official?

No. It is a community project by cookjohn, not made by Zotero.

Do I need an API key or a Zotero account login?

No. It runs inside the Zotero app on your computer and talks to your assistant at a local address, so there is no key or sign-in.

Which AI apps does it work with?

The plugin generates settings for Claude Code, Claude Desktop, Cursor, Codex CLI, Gemini CLI, Cline and others such as Cherry Studio. Claude Desktop and Cursor connect through the mcp-remote helper. Pick your app in the install box above.

Can I stop it from changing my library?

Yes, and that is the default. Write Operations is off in the plugin settings, so note, tag, metadata and import tools are hidden and collection edit tools refuse to run. Search, read and highlight tools stay available.

Does it work when Zotero is closed?

No. The server lives inside the Zotero app, so Zotero must be running with the plugin's server enabled. It listens on port 23120 unless you change it in the plugin preferences.

Why does `npx zotero-mcp` not install this?

The npm package called zotero-mcp is an older standalone build, last published in August 2025, that needs a plugin running. The current project puts the server inside the plugin, so follow the install box instead.

Does it send my library to a third party?

Not by itself. Reading and searching happen locally. Only semantic search with a cloud embedding service sends text out, and you control that setting.

Information

updated Nov 2, 2026

Publisher
Community
Transport
Streamable HTTP
Auth
None
Version
1.1.0
License
MIT
Last commit
Sep 9, 2026
Open issues
13

GitHubChangelogIssues

Other Zotero MCP servers

Sources

Docs, issue trackers and discussions this page is built from. Issues, quotes and findings above link to their own source.

Show all 5
  1. github.com · github.com
  2. github.com · github.com
  3. github.com · github.com
  4. github.com · github.com
  5. registry.npmjs.org · registry.npmjs.org

Facts from the official MCP registry, GitHub, npm, PyPI and the Docker catalog. Updated Nov 2, 2026.