Home / MCP servers / Zotero MCP

Zotero MCP

54yyyu/zotero-mcpMCP server

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

Scanned · 4 to knowMCP serverSource: Official MCP Registry
5,735 stars +119 this week Updated 4d ago License MIT
79popular

Why this score

Installs in real projects10/25
Stars8/10
Usage (forks)11/15
Upkeep25/25
License15/15
Owner history10/10

13 public GitHub projects have this in their committed setup (counted 2026-10-07). That counts people who kept it, not people who starred it. Private projects aren't visible, so the real number is higher.

Popularity score: 79/100 from public GitHub signals only. It shows how widely used and maintained this is, not how well it works. Not included yet: the fake-star check. The security scan is shown separately and doesn't change the score. How we rank

Security

Scanned Nov 4, 2026 at the PyPI package zotero-mcp-server@0.15.2, first 300 source files (it's a large repo), with Cisco's open-source skill-scanner.

What its code does:

  • Reads environment variables and sends network requests with them API clients do this to send your key to the service. Check which service it talks to.src/zotero_mcp/cli.py, src/zotero_mcp/client.py and 2 more
  • Runs shell commands Common for dev tools. Read the commands it runs.plugin/scripts/build.mjs:5, plugin/scripts/dev.mjs:14, plugin/scripts/test-zotero.mjs:4 and 2 more
  • Makes network requestsscripts/gen_basefield_map.py:39, src/zotero_mcp/schema.py:188, src/zotero_mcp/scite_client.py:39 and 17 more
  • Reads environment variables, where API keys usually livescripts/measure_context_cost.py:80, src/zotero_mcp/_app.py:72, src/zotero_mcp/tools/write.py:4461

Web addresses in its code:

  • doi.orgsrc/zotero_mcp/tools/_helpers.py:1320
  • arxiv.orgsrc/zotero_mcp/cli_standalone.py:9
  • scite.aisrc/zotero_mcp/tools/scite.py:13
  • api.zotero.orgscripts/gen_basefield_map.py:5
  • zotero.orgsrc/zotero_mcp/tools/write.py:5128
  • nodejs.orgplugin/src/agent/runtime.ts:22
  • pmc.ncbi.nlm.nih.govsrc/zotero_mcp/tools/_helpers.py:2482
  • a.comsrc/zotero_mcp/tools/write.py:102
  • api.crossref.orgsrc/zotero_mcp/tools/write.py:1591
  • api.github.comsrc/zotero_mcp/updater.py:330
  • api.openalex.orgsrc/zotero_mcp/tools/_helpers.py:2397
  • api.scite.aisrc/zotero_mcp/scite_client.py:21
  • api.semanticscholar.orgsrc/zotero_mcp/tools/_helpers.py:2459
  • api.unpaywall.orgsrc/zotero_mcp/tools/_helpers.py:2333
  • astral.shplugin/src/zotero/doctor.ts:54

And 9 more.

These are the sites named in the code, so it's where your data could go. It isn't a complete list: code can build addresses while it runs, and a few of these may be links rather than calls. Whatever you send also goes to the AI model you use.

A scan lists patterns in the code. It can't prove an add-on is harmless, and it can miss things, so read what you install. How we scan

Alternatives

Nothing from another maker does quite the same job yet.