PlugWiki
Zotero MCP logo

Zotero MCP, the community server for your Zotero library

CommunityLocal
GetPyPIzotero-mcp-server54yyyu/zotero-mcpDocs

Lets Claude, ChatGPT or Cursor search, read, cite and annotate the papers in your Zotero library.

Zotero MCP connects your Zotero library to Claude, ChatGPT, Cursor and other assistants, so you can search papers, read full text, pull citations and add highlights from a chat. It is a free community project by Steven Yu, not made by Zotero. By default it reads your library from the Zotero desktop app with no account or key; adding or changing items needs Zotero 10 and a one-time approval, or a Zotero web API key. The full tool set is large, so in Claude Code or Cursor the maintainer suggests the lighter agent skill instead.

Good for

  • Researchers and grad students who want Claude to find and summarize papers they already saved
  • Writers who need BibTeX and citations pulled from their own library while drafting
  • Anyone with a large library who wants to search it by meaning, not just keywords
  • Readers who want highlights and notes added to PDFs from a chat
  • Claude Code or Cursor users who want a low-context agent skill for Zotero

Works in

2 supported · 1 with issues · 10 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 zotero -e ZOTERO_LOCAL=true -- uvx zotero-mcp-server
    
    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 uv (Python).

Read-only mode: Leave out the API key and library ID, and do not approve the Zotero write dialog (choose Deny). It can then only read your library.

Keep Zotero open with "Allow other applications on this computer to communicate with Zotero" ticked in Settings, Advanced. To let it add or edit items on Zotero 10+, run zotero-mcp authorize-local once and choose Always Allow. The maintainer suggests the agent skill (zotero-mcp install-skill) for Claude Code instead: it uses far less context than the 41-tool server.

Built from the package data we hold. Not yet tested by us.

Tools

  • Finds papers in your library by topic or meaning, not just exact words

    Searches your library by meaning using an index of your papers, so a question like 'papers on mindfulness therapy' finds relevant items even when the words differ. Needs the semantic search add-on and an index built first.

    Try: “Find papers in my library about how attention replaced recurrence in language models”

    Read · zotero_semantic_search

  • Searches your library by title, author, year or abstract text

    Looks up items whose title, authors, year or abstract contain the words you give it. Works best with short queries like an author and a year.

    Try: “Find the Brewer 2011 paper in my Zotero library”

    Read · zotero_search_items

  • Filters your library by several fields at once, like date range and item type

    Runs a structured search that combines conditions on fields such as date, item type or publication, joined by AND or OR.

    Try: “Show journal articles in my library published between 2018 and 2020 about sleep”

    Read · zotero_advanced_search

  • Finds items with certain tags, with OR and exclude options

    Lists items carrying the tags you name. You can combine tags, accept either of two tags, or exclude a tag.

    Try: “Show papers tagged methods or methodology but not draft”

    Read · zotero_search_by_tag

  • Looks up one item by its Better BibTeX citation key

    Finds the single item that has the citation key you give it, as assigned by the Better BibTeX plugin, and returns its details.

    Try: “Look up Smith2024 in my library”

    Read · zotero_search_by_citation_key

  • Lists the items you added most recently

    Shows the newest additions to your library, optionally within one collection. Good for 'what did I save this week?'.

    Try: “What papers did I add to Zotero this week?”

    Read · zotero_get_recent

  • Shows full details for one item: authors, date, DOI, abstract, tags

    Fetches the complete record for one item, including title, authors, date, DOI, publisher, tags and abstract. Can also return it as BibTeX.

    Try: “Give me the BibTeX entry for the Vaswani 2017 paper”

    Read · zotero_get_item_metadata

  • Reads the full text of a saved paper's PDF or EPUB

    Returns the extracted text of an item's main PDF or EPUB so the assistant can read the whole paper. Long papers use a lot of context.

    Try: “Read this paper and summarize its key findings”

    Read · zotero_get_item_fulltext

  • Reads chosen pages of a PDF, as text or as page images

    Reads a page range of a paper's PDF as text, and flags pages where math, figures or tables come out garbled. It can return those pages as images instead.

    Try: “Read pages 4 to 6 of the attention paper and explain the equation on page 4”

    Read · zotero_read_pdf_pages

  • Shows a PDF's table of contents with page numbers

    Pulls the outline or bookmarks from a PDF so the assistant can find the right section before reading the full text.

    Try: “Show me the table of contents of this book chapter PDF”

    Read · zotero_get_pdf_outline

  • Shows all your collections and subcollections as a tree

    Lists every collection in the active library, with nested subcollections, so you can see how your library is organized.

    Try: “Show me how my Zotero collections are organized”

    Read · zotero_get_collections

  • Finds a collection by name

    Searches collection names in the active library and returns the matching collections.

    Try: “Find my collection called Thesis chapter 2”

    Read · zotero_search_collections

Read from the source code

Pros and cons

Good

  • Free and open source under the MIT license.
  • Reads your library from the Zotero app with no account or API key.
  • Searches by title, tag, full text or meaning across your saved papers.
  • Adds papers by DOI, URL, ISBN or BibTeX, with open-access PDFs attached.
  • Places highlights and boxes on the exact words or figures in a PDF.
  • Optional tool groups let you load only what you need.
  • A lighter agent skill for Claude Code, Cursor and Codex uses far less context.
  • Actively maintained, with frequent releases.

Watch out

  • Community project, not made or supported by Zotero.
  • The default tool set uses about 17,000 tokens of context per request.
  • Writes on Zotero 9 and older need a Zotero web API key.
  • ChatGPT only works through a tunnel to your computer, with no password.
  • Semantic search needs an extra install and an index you build first.
  • Needs Python 3.10 or later on your computer.

Permissions

medium risk · 5 things to watch

Medium risk

Once you allow writes, the assistant can edit items, trash items and notes, and permanently delete annotations and collections. Start in local read-only mode and approve writes only when you need them.

What it can do

Watch out for

  • It can delete annotations and collections

    With writes on, it can permanently delete annotations and collections and move items and notes to the Trash. Leave writes off unless you need them. github.com

  • The ChatGPT setup has no password

    Anyone with the tunnel address can use every tool. Stop the tunnel when you are done and never share its address. github.com

  • Your papers are sent to the AI service

    Whatever the assistant reads from your library goes to that AI provider. OpenAI or Gemini search indexing also sends your text to them. github.com

  • One shared web server shares the library choice

    If several clients use one HTTP server, switching libraries in one changes it for all. Run one server per person. github.com

  • The write approval is saved on your computer

    Revoke it with the authorize-local revoke command and with Clear Write Authorizations in Zotero's Advanced settings. github.com

Security advisories

No published security advisories as of Nov 1, 2026.

Technical details
Turning on read-onlyRun in local mode (ZOTERO_LOCAL=true) without running 'zotero-mcp authorize-local' and without ZOTERO_API_KEY/ZOTERO_LIBRARY_ID: the server can read but has no write path. On Zotero 10+, choose Deny if the authorization dialog appears.
Talks toYour Zotero desktop app on this computer. Zotero web API (only in web or hybrid mode). Your embedding provider, if you pick OpenAI or Gemini for semantic search. Scite and OpenAlex, only when those optional tool groups are on
Sign-in and keysLocal write key saved in ~/.config/zotero-mcp/config.json (owner-only) after Always Allow; web API key in your client config's env.

Alternatives

Use this server for the widest feature set and the most active upkeep. Pick cookjohn's plugin if you would rather install a Zotero add-on than Python.

ServerOfficialRunsCan change thingsGitHub stars
Zotero MCPThis pageCommunityLocalYes5.7K
cookjohn zotero-mcpCommunityZotero pluginYes1.3K
kujenga Zotero MCPCommunityLocal–162
Zotero Native MCPCommunityLocalYes12

What people say

People like how much of their library it can search and dislike how much context it uses and how much prompting it takes to shape the results.

What people like

  • A user with a 9,000-item library says it works great with semantic search.
  • After trying other Zotero servers, the same user went back to this one.

Common complaints

  • It can be hard to get results in the shape you want without extra prompting or a Claude skill.
  • The default tool set takes about 17,000 tokens of context on every request.

In their words

Questions

Is Zotero MCP free?

Yes. The server is free and open source under the MIT license. You only pay if you choose OpenAI or Gemini for semantic search, which those providers bill.

Is it made by Zotero?

No. It is a community project by Steven Yu (54yyyu) on GitHub. Zotero does not publish its own MCP server.

Do I need a Zotero API key?

No, not for local mode. With the Zotero desktop app running and its local API turned on, it reads your library with no key. You need a web API key only to reach your library without the desktop app, or to write on Zotero 9 and older.

Does Zotero have to be open?

Yes, in local mode. Keep Zotero running and tick "Allow other applications on this computer to communicate with Zotero" in Settings, Advanced. If searches return nothing, that setting is the usual cause.

Can it add or change items in my library?

Yes, once you allow it. On Zotero 10 or newer you approve writes once in a Zotero dialog; on older versions you add a Zotero web API key. Without either, it only reads.

Can it delete things?

Yes, once writes are on. It can move items and notes to Zotero's Trash, where you can restore them, merge duplicates, and permanently delete annotations and whole collections. Items inside a deleted collection stay in your library.

Can I use it with ChatGPT?

Yes, but it takes more work. You turn on ChatGPT Developer Mode, run the server in web mode and open a tunnel such as ngrok to your computer. That address has no password, so keep it private and close it when done.

Why does it use so much of Claude's context?

Its default 41 tools add about 17,000 tokens to every request. Turn off tool groups you do not need, or in Claude Code, Cursor or Codex use the agent skill it ships, which costs about 100 tokens until it is used.

Which package do I install, zotero-mcp or zotero-mcp-server?

zotero-mcp-server. The package named zotero-mcp on PyPI is a different, smaller project by kujenga.

Zotero MCP vs cookjohn's zotero-mcp plugin?

This one is a Python program with more tools and more frequent releases. cookjohn's version runs inside Zotero as an add-on, so there is no Python to install, and your assistant connects to it over a local address.

Examples

  • Find papers in your library on a topic

    Find papers in my library on attention mechanisms

    Source
  • Summarize a paper you saved

    Summarize the key findings of this paper

    Source
  • Highlight claims and box figures in a PDF

    Highlight the main claims in this paper and box its key figures

    Source
  • Search your notes and annotations

    Search my notes and annotations for mentions of 'reinforcement learning'

    Source
  • Export BibTeX for a set of papers

    Export the BibTeX citation for papers on machine learning

    Source
  • Search a 9,000-item library in several languages by meaning, with a Claude skill on top

    Source

Information

updated Nov 2, 2026

Publisher
Community
Package
zotero-mcp-server
Registry
PyPI
Transport
stdio, Streamable HTTP
Auth
None
Version
0.15.1
License
MIT
Last commit
Oct 16, 2026
Open issues
48
Listed in
Official MCP registry

WebsiteDocsGitHubPyPIOfficial MCP RegistryChangelogIssues

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 15
  1. github.com · github.com
  2. github.com · github.com
  3. github.com · github.com
  4. zotero-mcp tool source (v0.15.2) · github.com
  5. github.com · github.com
  6. github.com · github.com
  7. github.com · github.com
  8. github.com · github.com
  9. github.com · github.com
  10. github.com · github.com
  11. github.com · github.com
  12. github.com · github.com
  13. forums.zotero.org · forums.zotero.org
  14. github.com · github.com
  15. github.com · github.com

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