Home / MCP servers / Zotero MCP
Zotero MCP
54yyyu/zotero-mcpMCP server
Search, read, annotate, and add to your Zotero research library, local or web.
Why this score
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.