Caveat verdict
zotero-mcp
Connects to a locally-running Zotero instance at 127.0.0.1:23119 via MCP to search and access the user's own reference library; all access is local and within the user's own data.
⚠ Flagged for review — coarse, uncorroborated signal, not a confirmed exploit. Review the config yourself before installing.
Automated static analysis — not a human review. Caveat flags capabilities, not confirmed intent, and can produce false positives. Disagree with this verdict? Use Dispute below.
Permission integrity
network_out
Findings (5)
Pipe-to-python pattern — remote code execution risk
references/examples.md · code · curl -s "http://127.0.0.1:23119/api/users/7120115/items?q=$SEARCH_QUERY&limit=10
Pipe to python — executes piped content as Python code
references/examples.md · code · | python3
HTTP request to bare IP address — common in malicious payloads
SKILL.md · code · http://127.0.0.1
References child_process — can spawn system processes
scripts/zotero-mcp-client.py · prose · downgraded · child_process
Uses spawn() — can execute external programs
scripts/zotero-mcp-client.py · prose · downgraded · spawn(
Why the tier is capped
Execution sink present in raw bytes (Hard Floor: class C/D). Final tier capped at Caution — cannot be lifted by any downgrade, example-payload opt-in, or allowlist.
Permissions & capabilities
No declared permissions — minimal attack surface.
network_innetwork_out Is this flag fair?
Thanks — recorded.