Zotero MCP server
Search your Zotero library, retrieve item metadata, and read full text from AI assistants.
162 stars1.1k downloads/wk
Reviews
Write oneNobody has reviewed Zotero MCP yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
Zotero MCP tools (3)
write = sends, deletes, buys or postsRead from the package source without running it. The installed server may list more.
zotero_item_fulltextGet the full text content of a Zotero item, given the item key of a parent item or specific attachment.
zotero_item_metadataGet the complete metadata for a specific Zotero item, given the item key. Includes the citation key, publication details, identifiers, and timestamps.
zotero_search_itemsSearch for items in your Zotero library
Public scan report
scanner v0.1.9 · 2026-09-24 · same rubric, same numbers if you re-run it
- Code scan5 source files scanned25/25
- –Live reliabilityno gateway calls yet and no remote to proben/a
- –Tool poisoningtools not inspected (local package is not executed); not countedn/a
- Auth qualitystatic API keys via environment variables6/15
- Maintenancelast push 48 days ago12/15
- Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
What the publisher says
From the Zotero MCP repository's README, as published. We do not edit it. Read it on GitHub
Model Context Protocol server for Zotero
<!-- Ownership verification marker for the official MCP registry, which matches it against the name in server.json when this README is rendered on PyPI: https://modelcontextprotocol.io/registry/package-types --> <!-- mcp-name: io.github.kujenga/zotero-mcp -->
This project is a python server that implements the Model Context Protocol (MCP) for Zotero, giving you access to your Zotero library within AI assistants. It is intended to implement a small but maximally useful set of interactions with Zotero for use with MCP clients.
Features
This MCP server provides the following tools:
- zoterosearchitems: Search for items in your Zotero library using a text query
- zoteroitemmetadata: Get the complete metadata for a specific Zotero item, covering every populated field grouped into publication details, identifiers, timestamps, and library information
- zoteroitemfulltext: Get the full text of a specific Zotero item (i.e. PDF contents)
These can be discovered and accessed through any MCP client or through the MCP Inspector.
Each tool returns formatted text containing relevant information from your Zotero items, and AI assistants such as Claude can use them sequentially, searching for items then retrieving their metadata or text content.
Installation
This server can either run against either a local API offered by the Zotero desktop application) or through the Zotero Web API. The local API can be a bit more responsive, but requires that the Zotero app be running on the same computer with the API enabled. To enable the local API, do the following steps:
- Open Zotero and open "Zotero Settings"
- Under the "Advanced" tab, check the box that says "Allow other applications on this computer to communicate with Zotero".
To use the Zotero Web API, you'll need to create an API key and find your Library ID (usually your User ID) in your Zotero account settings here:
These are the available configuration options:
- ZOTERO_LOCAL=true: Use the local Zotero API (default: false, see note below)
- ZOTEROAPIKEY: Your Zotero API key (not required for the local API)
- ZOTEROLIBRARYID: Your Zotero library ID (your user ID for user libraries, not required for the local API)
- ZOTEROLIBRARYTYPE: The type of library (user or group, default: user)
uvx with Local Zotero API
To use this with Claude Desktop and a direct python install with uvx, add the following to the mcpServers configuration:
{
"mcpServers": {
"zotero": {
"command": "uvx",
"args": ["zotero-mcp@latest"],
"env": {
"ZOTERO_LOCAL": "true",
"ZOTERO_API_KEY": "",
"ZOTERO_LIBRARY_ID": ""
}
}
}
}The @latest specifier is optional and will pull the latest version when new ones are available. If you don't have uvx installed you can use pipx run instead, or clone this repository locally and use the instructions in Development below.
Docker with Zotero Web API
Shortened. The full README is on GitHub.
Nothing above is checked by us. What we check is on the safety report.
Install directly
claude mcp add zotero-mcp -- uvx zotero-mcp
Zotero MCP: common questions
- Is Zotero MCP server safe?
- Mostly: it is graded B (78/100). Read the Zotero MCP safety report
- How do I install Zotero MCP?
- It runs on your machine. Copy the Claude Code, Claude Desktop or Cursor config from the install section.
- Does Zotero MCP need an API key?
- Yes. The registry entry asks for
ZOTERO_API_KEY. - Is Zotero MCP maintained?
- The last commit was 49 days ago (2026-08-07). The latest release is v0.3.1.
- What can I use instead of Zotero MCP?
- Servers from other publishers that do the same job: Zotero MCP server, Arxiv MCP server and GitHits MCP server. Compare all Zotero MCP alternatives.
Alternatives to Zotero MCP
Same job from other publishers: the closest match first, then the best rated.
Zotero MCPSearch, read, annotate, and add to your Zotero research library, local or web.not reviewedEstablishedB- not reviewedGrowingA
GitHitsSearch public open-source code, documentation, metadata, vulnerabilities, changelogs, and examples.not reviewedEstablishedA- ZoteusZotero MCP server for Claude and ChatGPT: search, citations, safe writes, PDF passages and pages.not reviewedEstablishedA
- MisakanetFailure-memory layer for coding agents: search evidence-rated failure lessons by error text.not reviewedEstablishedA