mcpbeat Sign in

MCP Zotero MCP Server

local only

MCP Zotero runs on your own machine — the client starts it, so there is no endpoint to ping. 582 installs a week from npm. Last commit 25 Oct 2026.

Unofficial Zotero server: search your library, add papers by DOI, import PDFs, cite in Word

Installs per day peak 331 · avg 54 · +215% w/w
a month agotoday
582
Installs / week
npm · @xevos117/mcp-zotero
38
Stars
4 open issues
25 Oct 2026
Last commit
5 releases in 90 days
MIT
License
TypeScript

Nothing serious here today

Today is the operative word: we check MCP Zotero every 15 minutes and re-read its code on every release. Watch it and you find out the day that stops being true.

Three servers free · no card

Connect this server

This server runs on your own machine — install it with the package manager and the client starts it for you. Package name taken from the official registry entry.

run in your terminal
claude mcp add mcp-zotero -e 'ZOTERO_API_KEY=<ZOTERO_API_KEY>' -e 'ZOTERO_USER_ID=<ZOTERO_USER_ID>' -- npx -y @xevos117/mcp-zotero
~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "mcp-zotero": {
      "command": "npx",
      "args": [
        "-y",
        "@xevos117/mcp-zotero"
      ],
      "env": {
        "ZOTERO_API_KEY": "<ZOTERO_API_KEY>",
        "ZOTERO_USER_ID": "<ZOTERO_USER_ID>"
      }
    }
  }
}
~/.codex/config.toml
[mcp_servers.mcp-zotero]
command = "npx"
args = ["-y", "@xevos117/mcp-zotero"]
env = { ZOTERO_API_KEY = "<ZOTERO_API_KEY>", ZOTERO_USER_ID = "<ZOTERO_USER_ID>" }
.cursor/mcp.json
{
  "mcpServers": {
    "mcp-zotero": {
      "command": "npx",
      "args": [
        "-y",
        "@xevos117/mcp-zotero"
      ],
      "env": {
        "ZOTERO_API_KEY": "<ZOTERO_API_KEY>",
        "ZOTERO_USER_ID": "<ZOTERO_USER_ID>"
      }
    }
  }
}
.vscode/mcp.json
{
  "servers": {
    "mcp-zotero": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@xevos117/mcp-zotero"
      ],
      "env": {
        "ZOTERO_API_KEY": "<ZOTERO_API_KEY>",
        "ZOTERO_USER_ID": "<ZOTERO_USER_ID>"
      }
    }
  }
}

Put your own values in place of <ZOTERO_API_KEY> (Zotero Web API key (zotero.org/settings/keys) with library read/write and file access), <ZOTERO_USER_ID> (Your numeric Zotero user ID (shown on zotero.org/settings/keys); the default library is this user's). The author’s registry entry marks them as required.

Optional settings from the registry entry, left out of the block above: ZOTERO_LIBRARY_TYPE (Default library type: 'user' (personal library) or 'group'), ZOTERO_LIBRARY_ID (Numeric group ID; required when ZOTERO_LIBRARY_TYPE is 'group', otherwise defaults to ZOTERO_USER_ID), UNPAYWALL_EMAIL (Email sent to the Unpaywall API to find open-access PDFs; if unset, OA PDF lookup is skipped), UNSAFE_OPERATIONS (Deletions allowed: 'none' (default, all blocked), 'items' (delete_items) or 'all' (also delete_collection)).

Alternatives to MCP Zotero

same job, measured the same way
Zotero MCP Local
by piiinpiiins

Search, read PDFs, and find related papers in your local Zotero library. Read-only, 100% local.

86 installs/wk local only
Zotero Library MCP
by raulsimpetru

Add papers and books to Zotero by DOI, arXiv ID, or ISBN and manage your library

141 installs/wk local only
Zotero MCP
by 54yyyu

Search, read, annotate, and add to your Zotero research library, local or web.

7 146 installs/wk local only
Endnote MCP
by gokmengokhan

Search, cite, and read PDFs from your EndNote library in Claude Desktop

350 installs/wk local only
Cite Caddy
by herbertkokholm-citecaddy

Remote MCP server for full read/write access to a Zotero library

answering
Chatroost — unofficial Telegram MCP server
by mcp-telegram

Unofficial Telegram MCP server — read, search, reply and react in your own Telegram account.

1 867 installs/wk answering
zotio
by orgmentem

Zotero MCP server: local-first search, library checks, and preview-first writes for AI agents.

local only
Yandex Wordstat MCP Server
by solaix

Unofficial Yandex Wordstat MCP server for SEO keyword research, trends, and regional interest.

local only

MCP Zotero — questions

Answers built from our own checks of this server.

Why is there no uptime for MCP Zotero?
MCP Zotero runs on your own machine over stdio — there is no network address to reach, so uptime cannot be measured for it by anyone. What can be measured is adoption: the npm package @xevos117/mcp-zotero was installed 582 times last week.
How do I connect MCP Zotero?
Copy the ready config from this page. We generate it for Claude Code, Claude Desktop, Codex, Cursor and VS Code, each in the form that client actually reads. It runs locally, so the command pulls @xevos117/mcp-zotero straight from npm; nothing to host, nothing to sign up for.
How many people use MCP Zotero?
The npm package @xevos117/mcp-zotero was installed 582 times in the last week. Week over week that is +215%. We show installs rather than GitHub stars on purpose: a star is a bookmark, an install is someone actually running it.
Is MCP Zotero open source?
Yes — it is published under the MIT licence, written in TypeScript, 38 stars on GitHub and 4 open issues. The source link is on this page, so you can read exactly what it does with your data before you connect it.