{"id":15454,"date":"2026-03-22T20:08:03","date_gmt":"2026-03-22T19:08:03","guid":{"rendered":"https:\/\/citationstyler.com\/?p=15454"},"modified":"2026-03-31T21:42:44","modified_gmt":"2026-03-31T19:42:44","slug":"zotero-and-mcp-all-projects-at-a-glance-to-connect-your-library-with-ai","status":"publish","type":"post","link":"https:\/\/citationstyler.com\/en\/wissen\/zotero-und-mcp-alle-projekte-im-ueberblick-um-eure-bibliothek-mit-ki-zu-verbinden\/","title":{"rendered":"MCP and Zotero: an overview of available tools"},"content":{"rendered":"<p>The <strong>Model Context Protocol (MCP)<\/strong> 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.<\/p>\n\n\n\n<p>Anybody who's interested in AI functionalities <em>inside<\/em> of Zotero (i.e. plugins such as ZotAI, PapersGPT or ARIA), you\u2019ll find a dedicated overview in our article <a href=\"\/en\/knowledge\/ai-plugins-for-zotero\/\">AI plugins for Zotero<\/a>. This article, however, focuses on the MCP interface, i.e. the connection between Zotero and <em>external<\/em> AI assistants.<\/p>\n\n\n\n<p>Mittlerweile gibt es eine ganze Reihe solcher Projekte. Die Ans\u00e4tze unterscheiden sich aber: Manche laufen als externe Python- oder Node-Server, andere sind Zotero-Plugins, die den MCP-Server gleich mitbringen. Einige arbeiten nur lesend \u00fcber die Zotero-Web-API, andere greifen direkt auf die lokale SQLite-Datenbank zu oder nutzen die interne Zotero-JS-API f\u00fcr vollen Schreibzugriff. Auch bei der semantischen Suche reicht das Spektrum von \u201enicht vorhanden&#8220; \u00fcber \u201eoptional mit OpenAI-Embeddings&#8220; bis hin zu lokalen Offline-Modellen.<\/p>\n\n\n\n<p>Below, we outline all current Zotero MCP projects, along with their respective strengths, limitations and technical requirements.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Zotero MCP (54yyyu\/zotero-mcp)<\/h2>\n\n\n\n<p><strong>Type:<\/strong> External Python server (pip\/uv) <strong>Access:<\/strong> Read (Web-API and local API) <strong>Licence:<\/strong> MIT | <strong>GitHub:<\/strong> <a href=\"https:\/\/github.com\/54yyyu\/zotero-mcp\" target=\"_blank\" rel=\"noopener\">github.com\/54yyyu\/zotero-mcp<\/a> (~1.600 Stars, 148 Forks)<\/p>\n\n\n\n<p>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 <strong>semantic search<\/strong> using embedding models (either a free local model, OpenAI or Gemini). The embedding database is managed via a CLI and can be updated incrementally.<\/p>\n\n\n\n<p>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.<\/p>\n\n\n\n<p><strong>Requirements:<\/strong> Python 3.10+, optional Zotero API key. For semantic search, an embedding provider or the local default model is also required.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Zotero MCP Plugin (cookjohn\/zotero-mcp)<\/h2>\n\n\n\n<p><strong>Type:<\/strong> Zotero plugin (.xpi) with integrated MCP server <strong>Access:<\/strong> Read and write <strong>Licence:<\/strong> MIT | <strong>GitHub:<\/strong> <a href=\"https:\/\/github.com\/cookjohn\/zotero-mcp\" target=\"_blank\" rel=\"noopener\">github.com\/cookjohn\/zotero-mcp<\/a> (~490 Stars, 33 Forks)<\/p>\n\n\n\n<p>This project takes a unique architectural approach: it is a genuine <strong>Zotero-7-Plugin<\/strong>which 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.<\/p>\n\n\n\n<p>The key advantage: because the plugin uses the internal <strong>Zotero-JS-API<\/strong> 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.<\/p>\n\n\n\n<p>In total, there are <strong>20 MCP tools<\/strong> zur Verf\u00fcgung: Bibliothekssuche mit Boole&#8217;schen Operatoren, Volltextsuche, Annotationssuche (nach Farbe, Tags, Schlagw\u00f6rtern), Sammlungsverwaltung, eine Volltextdatenbank und vier Schreiboperationen (optional abschaltbar). Die <strong>semantic search<\/strong> is also optional and supports OpenAI and Ollama embeddings, which are stored locally in SQLite-vec.<\/p>\n\n\n\n<p><strong>Requirements:<\/strong> Zotero 7+. An embedding provider (OpenAI key or local Ollama) is required for semantic search; otherwise, only keyword-based search functions are available.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">mcp-zotero (Xevos117\/mcp-zotero)<\/h2>\n\n\n\n<p><strong>Type:<\/strong> Externer Node-Server (npm) <strong>Access:<\/strong> Read and write (Web API) <strong>Licence:<\/strong> MIT | <strong>GitHub:<\/strong> <a href=\"https:\/\/github.com\/Xevos117\/mcp-zotero\" target=\"_blank\" rel=\"noopener\">github.com\/Xevos117\/mcp-zotero<\/a><\/p>\n\n\n\n<p>This project stands out thanks to a special feature: <strong>citation injection in Word documents<\/strong>. Das LLM erzeugt .docx-Dateien, in die bereits native Zotero-Feldcodes eingebettet sind. Man \u00f6ffnet das Dokument in Word, klickt auf \u201eZotero \u2192 Aktualisieren&#8220; und erh\u00e4lt vollst\u00e4ndig verwaltete Zitationen samt Bibliographie. F\u00fcr Nutzende, die tats\u00e4chlich mit Zotero zitierte Texte produzieren wollen, ist das ein sehr interessantes Feature.<\/p>\n\n\n\n<p>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.<\/p>\n\n\n\n<p><strong>Requirements:<\/strong> Node.js, Zotero API key. No semantic search.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">ZotPilot (xunhe730\/ZotPilot)<\/h2>\n\n\n\n<p><strong>Type:<\/strong> Python-basierter \u201eAI Agent Skill&#8220; + MCP-Server <strong>Access:<\/strong> Read (local SQLite), Write (Web API) <strong>Licence:<\/strong> MIT | <strong>GitHub:<\/strong> <a href=\"https:\/\/github.com\/xunhe730\/ZotPilot\" target=\"_blank\" rel=\"noopener\">github.com\/xunhe730\/ZotPilot<\/a><\/p>\n\n\n\n<p>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 <strong>chapter based<\/strong>. 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).<\/p>\n\n\n\n<p>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 <strong>32 MCP tools<\/strong>.<\/p>\n\n\n\n<p>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.<\/p>\n\n\n\n<p><strong>Requirements:<\/strong> 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.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">MCP for Zotero (alejandroarnaud)<\/h2>\n\n\n\n<p><strong>Type:<\/strong> Hosted web service (cloud) <strong>Access:<\/strong> Read and write (Web API via proxy) <strong>GitHub:<\/strong> none (proprietary) | <strong>URL:<\/strong> <a href=\"https:\/\/mcpforzotero.alejandroarnaud.dev\" target=\"_blank\" rel=\"noopener\">mcpforzotero.alejandroarnaud.dev<\/a><\/p>\n\n\n\n<p>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.<\/p>\n\n\n\n<p>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.<\/p>\n\n\n\n<p>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 <code>npx mcp-remote<\/code> available.<\/p>\n\n\n\n<p><strong>Requirements:<\/strong> Zotero API key, Node.js for Claude Desktop. No local installation required. No semantic search.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">PapersGPT MCP Server<\/h2>\n\n\n\n<p><strong>Type:<\/strong> Zotero plugin (.xpi) with integrated MCP server <strong>Access:<\/strong> Read <strong>Licence:<\/strong> proprietary (Freemium) | <strong>URL:<\/strong> <a href=\"https:\/\/www.papersgpt.com\/mcpserver\" target=\"_blank\" rel=\"noopener\">papersgpt.com\/mcpserver<\/a> | <strong>GitHub:<\/strong> <a href=\"https:\/\/github.com\/papersgpt\/papersgpt-for-zotero\" target=\"_blank\" rel=\"noopener\">github.com\/papersgpt\/papersgpt-for-zotero<\/a><\/p>\n\n\n\n<p>PapersGPT is primarily a comprehensive AI plugin for Zotero (detailed in our <a href=\"https:\/\/citationstyler.com\/en\/knowledge\/ai-plugins-for-zotero\/\">article on AI plugins for Zotero<\/a>). Since version 0.3.4, it also includes an <strong>integrated MCP server<\/strong> which allows any MCP-compatible chatbot client (ChatWise, Cherry Studio, Cursor, Gemini CLI, etc.) to access the Zotero library.<\/p>\n\n\n\n<p>The MCP server offers two main functions: <strong>BM25 full-text search<\/strong> via metadata (title, authors, tags, abstract, notes, annotations, collections) and <strong>full-text PDF access<\/strong> 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.<\/p>\n\n\n\n<p>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.<\/p>\n\n\n\n<p><strong>Requirements:<\/strong> Zotero 7 or 8. No further dependencies for the MCP server. Zotero must be open.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">zotero-mcp (kujenga)<\/h2>\n\n\n\n<p><strong>Type:<\/strong> External Python server (pip\/uv\/Docker) <strong>Access:<\/strong> Read (Web-API and local API) <strong>Licence:<\/strong> MIT | <strong>GitHub:<\/strong> <a href=\"https:\/\/github.com\/kujenga\/zotero-mcp\" target=\"_blank\" rel=\"noopener\">github.com\/kujenga\/zotero-mcp<\/a> (~138 Stars) | <strong>PyPI:<\/strong> <code>zotero-mcp<\/code><\/p>\n\n\n\n<p>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.<\/p>\n\n\n\n<p><strong>Requirements:<\/strong> Python 3.11 or later, or Docker. A Zotero API key for using the Web API.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Further projects<\/h2>\n\n\n\n<p>In addition to those mentioned above, there are a number of smaller or specialised MCP implementations for Zotero:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>swairshah\/zotero-mcp-server<\/strong> (<a href=\"https:\/\/github.com\/swairshah\/zotero-mcp-server\" target=\"_blank\" rel=\"noopener\">GitHub<\/a>): 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.<\/li>\n\n\n\n<li><strong>danielostrow\/zotero-mcp-server<\/strong> (<a href=\"https:\/\/github.com\/danielostrow\/zotero-mcp-server\" target=\"_blank\" rel=\"noopener\">GitHub<\/a>): Im Zotero-Forum als \u201eClean and solid MCP server&#8220; vorgestellt (Januar 2026).<\/li>\n\n\n\n<li><strong>stephenstubbs\/zotero-mcp<\/strong> (<a href=\"https:\/\/github.com\/stephenstubbs\/zotero-mcp\" target=\"_blank\" rel=\"noopener\">GitHub<\/a>): Written in <strong>Rust<\/strong> 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.<\/li>\n\n\n\n<li><strong>ElliotRoe\/lit-lake<\/strong> (<a href=\"https:\/\/github.com\/ElliotRoe\/lit-lake\" target=\"_blank\" rel=\"noopener\">GitHub<\/a>): Beschreibt sich als \u201ea reasonable way to allow AI to work with reference managers&#8220;. Noch relativ neu und mit wenig Dokumentation.<\/li>\n\n\n\n<li><strong>kerim\/zotero-code-execution<\/strong> (<a href=\"https:\/\/github.com\/kerim\/zotero-code-execution\" target=\"_blank\" rel=\"noopener\">GitHub<\/a>): Not a standalone MCP server, but a Claude Code skill that pre-processes the results from 54yyyus\u2019s zotero-mcp to reduce token usage (from ~2,400 to ~580 tokens per search).<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Summary<\/h2>\n\n\n\n<p>The Zotero MCP landscape is diverse and evolving rapidly. Which project is best suited depends on your specific requirements:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Anyone who is just looking for <strong>the easiest way to get started<\/strong> 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.<\/li>\n\n\n\n<li>Anyone who needs <strong>write access<\/strong> on your library (tags, collections, notes), should look at <strong>cookjohn\/zotero-mcp<\/strong> for their solution.<\/li>\n\n\n\n<li>Anyone who needs <strong>semantic search with a full range of features<\/strong> and anyone who is willing and able to set up a Python stack should look at <strong>ZotPilot<\/strong> or <strong>54yyyu\/zotero-mcp<\/strong> if it fits their use case.<\/li>\n\n\n\n<li>Anyone who wants to have Zotero <strong>cite Word documents directly with AI tools<\/strong> will find <strong>Xevos117\/mcp-zotero<\/strong> as their tool of choice.<\/li>\n\n\n\n<li>Anyone looking for a <strong>minimal and stable solution<\/strong> should look at <strong>kujenga\/zotero-mcp<\/strong>.<\/li>\n<\/ul>\n\n\n\n<p>An overview of AI tools that work <em>inside<\/em> of Zotero will find our article <a href=\"\/en\/knowledge\/ai-plugins-for-zotero\/\">AI plugins for Zotero<\/a>useful. And if you\u2019re interested in AI-powered research beyond Zotero, you\u2019ll find recommendations in our article <a href=\"https:\/\/citationstyler.com\/en\/knowledge\/the-best-ai-tools-for-researchers-alternatives-to-chatgpt\/\" data-type=\"post\" data-id=\"14959\">The best AI tools for scientific research (alternatives to ChatGPT)<\/a> .<\/p>\n\n\n\n<p><\/p>","protected":false},"excerpt":{"rendered":"<p>The Model Context Protocol (MCP) enables Zotero to be connected directly to AI assistants such as Claude or ChatGPT. There are now numerous projects that implement this, ranging from lightweight Python servers and Zotero plugins to hosted cloud services. We present all the latest Zotero MCP solutions and show which project suits which workflow.<\/p>","protected":false},"author":1,"featured_media":15465,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[36],"tags":[],"class_list":["post-15454","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-zotero"],"blocksy_meta":[],"brizy_media":[],"_links":{"self":[{"href":"https:\/\/citationstyler.com\/en\/wp-json\/wp\/v2\/posts\/15454","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/citationstyler.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/citationstyler.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/citationstyler.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/citationstyler.com\/en\/wp-json\/wp\/v2\/comments?post=15454"}],"version-history":[{"count":8,"href":"https:\/\/citationstyler.com\/en\/wp-json\/wp\/v2\/posts\/15454\/revisions"}],"predecessor-version":[{"id":15663,"href":"https:\/\/citationstyler.com\/en\/wp-json\/wp\/v2\/posts\/15454\/revisions\/15663"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/citationstyler.com\/en\/wp-json\/wp\/v2\/media\/15465"}],"wp:attachment":[{"href":"https:\/\/citationstyler.com\/en\/wp-json\/wp\/v2\/media?parent=15454"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/citationstyler.com\/en\/wp-json\/wp\/v2\/categories?post=15454"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/citationstyler.com\/en\/wp-json\/wp\/v2\/tags?post=15454"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}