MCP and Zotero: an overview of available tools

The Model Context Protocol (MCP) is an open protocol that provides AI applications with a standardised interface to external data sources. In the context of Zotero, this means that an AI assistant such as Claude, ChatGPT or Gemini can search your library, extract metadata, analyse PDFs and, depending on the project, also assign tags, create collections or generate Word documents with embedded Zotero citations. Instead of manually copying out references, you simply ask the AI a question, and it works directly with your library.

Anybody who's interested in AI functionalities inside of Zotero (i.e. plugins such as ZotAI, PapersGPT or ARIA), you’ll find a dedicated overview in our article AI plugins for Zotero. This article, however, focuses on the MCP interface, i.e. the connection between Zotero and external AI assistants.

There are now quite a few such projects. However, the approaches differ: some run as external Python or Node servers, whilst others are Zotero plugins that include the MCP server. Some operate in read-only mode via the Zotero Web API, whilst others access the local SQLite database directly or use the internal Zotero JS API for full write access. When it comes to semantic search, too, the spectrum ranges from ‘not available’ to ‘optional with OpenAI embeddings’ and local offline models.

Below, we outline all current Zotero MCP projects, along with their respective strengths, limitations and technical requirements.


Zotero MCP (54yyyu/zotero-mcp)

Type: External Python server (pip/uv) Access: Read (Web-API and local API) Licence: MIT | GitHub: github.com/54yyyu/zotero-mcp (~1.600 Stars, 148 Forks)

The oldest and by far the most popular Zotero MCP project. It runs as a standalone Python server and accesses the Zotero Web API or the local API via pyzotero. Features include library search, PDF annotation extraction, summaries and citation analysis. Since an update, it also includes semantic search using embedding models (either a free local model, OpenAI or Gemini). The embedding database is managed via a CLI and can be updated incrementally.

Supported tools include Claude Desktop, Cherry Studio, Cursor and Chorus. Better BibTeX is recommended for annotation features. A note from the community: depending on your configuration, the installation requires a relatively large machine learning stack (CUDA, Torch), which not all users may expect.

Requirements: Python 3.10+, optional Zotero API key. For semantic search, an embedding provider or the local default model is also required.


Zotero MCP Plugin (cookjohn/zotero-mcp)

Type: Zotero plugin (.xpi) with integrated MCP server Access: Read and write Licence: MIT | GitHub: github.com/cookjohn/zotero-mcp (~490 Stars, 33 Forks)

This project takes a unique architectural approach: it is a genuine Zotero-7-Pluginwhich includes the MCP server. No separate process, no Python, no Node.js required. The plugin communicates with the AI client (including Claude Desktop, Cherry Studio and Cursor IDE) via the Streamable HTTP protocol.

The key advantage: because the plugin uses the internal Zotero-JS-API and does not go via the web API, it has full write access. As well as searching and extracting PDFs, it can create notes, manage tags, update metadata and create new entries.

In total, there are 20 MCP tools included: library search with Boolean operators, full-text search, annotation search (by colour, tags, keywords), collection management, a full-text database and four writing functions (which can be disabled if desired). The semantic search is also optional and supports OpenAI and Ollama embeddings, which are stored locally in SQLite-vec.

Requirements: Zotero 7+. An embedding provider (OpenAI key or local Ollama) is required for semantic search; otherwise, only keyword-based search functions are available.


mcp-zotero (Xevos117/mcp-zotero)

Type: Externer Node-Server (npm) Access: Read and write (Web API) Licence: MIT | GitHub: github.com/Xevos117/mcp-zotero

This project stands out thanks to a special feature: citation injection in Word documents. The LLM generates .docx files that already have native Zotero field codes embedded in them. You open the document in Word, click on ‘Zotero → Refresh’ and receive fully managed citations, complete with a bibliography. For users who actually want to produce texts cited using Zotero, this is a very useful feature.

In addition, the server offers library search, the ability to add entries via DOI, collection management, and the automatic attachment of open-access PDFs via Unpaywall. For Claude Desktop and claude.ai, there is also a Claude skill that enables citation injection even in the sandbox environment.

Requirements: Node.js, Zotero API key. No semantic search.


ZotPilot (xunhe730/ZotPilot)

Type: Python-based ‘AI Agent Skill’ + MCP server Access: Read (local SQLite), Write (Web API) Licence: MIT | GitHub: github.com/xunhe730/ZotPilot

ZotPilot is the most feature-rich project on this list. It reads the local Zotero SQLite database in read-only mode, extracts full-text PDFs using PyMuPDF, and builds a vector index in ChromaDB from them. What makes it special is that the search is chapter based. ZotPilot can distinguish whether a match comes from the Results, Methods or Abstract section, and weights the results accordingly. The ranking formula combines similarity, chapter weighting and journal quality (SCImago quartile).

Additional features: table and figure search (using extracted table headings and cell data), citation graph via OpenAlex (who cites whom, how a paper is evaluated), batch tagging and collection management. Overall 32 MCP tools.

There are three embedding options to choose from: Gemini (with a free quota), DashScope/Alibaba (for Chinese users) or a fully local offline model (all-MiniLM-L6-v2). Claude Code, Codex CLI, OpenCode and OpenClaw are supported. The README is primarily in Chinese, but an English version is included.

Requirements: Python 3.10+, uv. Zotero does not need to be open (SQLite access in immutable mode). A Zotero Web API key is required for write operations.


MCP for Zotero (alejandroarnaud)

Type: Hosted web service (cloud) Access: Read and write (Web API via proxy) GitHub: none (proprietary) | URL: mcpforzotero.alejandroarnaud.dev

A completely different approach: nothing runs locally here. You sign in, enter your Zotero API key and receive an MCP endpoint URL with a token. This is entered into the AI client, and the assistant can start working with the library straight away.

Features: Search by title, author, tag or collection; add entries using natural language; create and manage collections; export citations in BibTeX, RIS or formatted styles such as APA and Chicago; full-text search in PDFs (provided they have been indexed by Zotero Desktop); switch between group libraries. The service is free to use.

According to the developer, login details are stored in encrypted form and are not retained permanently on the server. Nevertheless, anyone who does not wish to entrust their login details to a third-party server should opt for a local solution. To configure Claude Desktop, you will need Node.js and npx mcp-remote available.

Requirements: Zotero API key, Node.js for Claude Desktop. No local installation required. No semantic search.


PapersGPT MCP Server

Type: Zotero plugin (.xpi) with integrated MCP server Access: Read Licence: proprietary (Freemium) | URL: papersgpt.com/mcpserver | GitHub: github.com/papersgpt/papersgpt-for-zotero

PapersGPT is primarily a comprehensive AI plugin for Zotero (detailed in our article on AI plugins for Zotero). Since version 0.3.4, it also includes an integrated MCP server which allows any MCP-compatible chatbot client (ChatWise, Cherry Studio, Cursor, Gemini CLI, etc.) to access the Zotero library.

The MCP server offers two main functions: BM25 full-text search via metadata (title, authors, tags, abstract, notes, annotations, collections) and full-text PDF access for individual items. What makes it special is that the server is written in C++ and requires neither Python nor Node.js. Once the plugin has been installed in Zotero, the MCP server is immediately available as soon as Zotero is opened.

PapersGPT is designed as a freemium model. The free version offers 20 chat requests and MCP support. Paid licences (from $29 for a lifetime Basic licence, $59 for Premium) increase the chat limits, enable local LLMs and allow multi-device use. The MCP server is included in all plans.

Requirements: Zotero 7 or 8. No further dependencies for the MCP server. Zotero must be open.


zotero-mcp (kujenga)

Type: External Python server (pip/uv/Docker) Access: Read (Web-API and local API) Licence: MIT | GitHub: github.com/kujenga/zotero-mcp (~138 Stars) | PyPI: zotero-mcp

A deliberately streamlined MCP server with a small but useful set of tools: library search, metadata retrieval and full-text access. No frills, no semantic search, no write operations. Its strengths lie in its simple setup and Docker support, which enables a clean separation of the runtime environment. The server supports both the local Zotero API and the Web API for remote access.

Requirements: Python 3.11 or later, or Docker. A Zotero API key for using the Web API.


Further projects

In addition to those mentioned above, there are a number of smaller or specialised MCP implementations for Zotero:

  • swairshah/zotero-mcp-server (GitHub): A Python-based server with two modes: Web API access or direct SQLite access (Zotero must be closed for this). Best suited to technically savvy users.
  • danielostrow/zotero-mcp-server (GitHub): Presented on the Zotero forum as a “clean and solid MCP server” (January 2026).
  • stephenstubbs/zotero-mcp (GitHub): Written in Rust with a specific use case in mind: AI-assisted critical reading. The server can read PDFs page by page and automatically create highlights and annotations. Includes both an MCP server and a Zotero 7 plugin.
  • ElliotRoe/lit-lake (GitHub): Describes itself as “a reasonable way to allow AI to work with reference managers”. Still relatively new and with little documentation.
  • kerim/zotero-code-execution (GitHub): Not a standalone MCP server, but a Claude Code skill that pre-processes the results from 54yyyus’s zotero-mcp to reduce token usage (from ~2,400 to ~580 tokens per search).

Summary

The Zotero MCP landscape is diverse and evolving rapidly. Which project is best suited depends on your specific requirements:

  • Anyone who is just looking for the easiest way to get started and who doesn't want to installing anything, the hosted service by alejandroarnaud or the PapersGPT plugin (which includes the MCP server) is a good option.
  • Anyone who needs write access on your library (tags, collections, notes), should look at cookjohn/zotero-mcp for their solution.
  • Anyone who needs semantic search with a full range of features and anyone who is willing and able to set up a Python stack should look at ZotPilot or 54yyyu/zotero-mcp if it fits their use case.
  • Anyone who wants to have Zotero cite Word documents directly with AI tools will find Xevos117/mcp-zotero as their tool of choice.
  • Anyone looking for a minimal and stable solution should look at kujenga/zotero-mcp.

An overview of AI tools that work inside of Zotero will find our article AI plugins for Zoterouseful. And if you’re interested in AI-powered research beyond Zotero, you’ll find recommendations in our article The best AI tools for scientific research (alternatives to ChatGPT) .


Further reading

Blog - Zotero 7 ist da
Zotero 7 is here. A huge step forward for the popular reference manager.
Zotero 7 is finally here! Performance improvements, a new look and much more. Find out all about the latest features here.
Zotero Meldung - Du hast die Meldung
Zotero warns: "You have edited your citations..."
You have received the Zotero message ‘You have made changes to this citation after it was created by Zotero. Do you want to keep your changes and prevent future updates?’ from Zotero? Here you can find out how to solve this problem.
Blog - Zotero Better Authors - Zotero Plugin to show last author
Show last author in Zotero thanks to ‘Zotero Better Authors’ plugin
With the Zotero plugin ‘Better Authors’ you can display the last author/PI in your library. Find out how this function makes your scientific research for specific labs easier and provides a better overview.
So berichtest du die statistischen Ergebnisse in deiner Abschlussarbeit
How to report the statistical results in your thesis (guest article)
Master the art of presenting statistical results in your thesis. Learn how to present your results clearly, concisely and in a way that is easy for your readers to understand.

© Citation Styler. All rights reserved. 2026