Reported issues for mcp-server-zotero-dev
Pod holds 7 of 7 problems reported by people outside the maintainer team. Issues filed by the project's own owners, members and collaborators are excluded entirely — a maintainer's release checklist is not a warning to a prospective user.
Back to mcp-server-zotero-dev.
Most discussed
zotero_db_query always fails: "result.columns.join is not a function"
Summary
zotero_db_query fails on every query, including trivial ones. zotero_db_schema is affected by the same underlying cause. Two independent defects are involved — either one alone is sufficient to break the tool.
Environment
@introfini/mcp-server-zotero-dev |
1.1.2 (latest on npm) |
| Zotero | 9.0.6 (Firefox 140 platform) |
| MCP Bridge for Zotero plugin | 1.0.5 |
| OS / Node | macOS 15 / Node 22 |
Minimal reproduction
With Zotero running and the RDP br
Read the thread · 2026-08-16 · closed · outside contributor · 2 comments
openListener() reports success when another process holds the port; health check then reopens every 10s forever
Summary
When another process already holds the RDP port, openListener() reports success — at startup and on every health-check reopen — while the bridge is not actually serving. The plugin's internal notion of "listening" stays wrong for as long as the conflict lasts, and the health check reopens on a 10s loop indefinitely.
Why it happens
SocketListener.open() does not reject when the port is already bound (Mozilla server sockets set SO_REUSEADDR; on Windows a second bind is a
Read the thread · 2026-07-31 · open · outside contributor · 1 comment
MCP tool surface audit: add safety/trigger language for execute, scaffold, and log tools
Hi, I ran a deterministic MCP tool-surface audit against the Zotero dev MCP tool definitions and found a few places where description and profile hints could improve agent safety.
Scope: static audit from packages/mcp-server/src/tools/*.ts, not a live runtime test.
Summary
- 25 tools detected.
- Average discoverability score: 75/100.
- Lowest-scoring tools: 56/100.
- 4 of 25 tools score below 60.
- 25 of 25 tools are missing explicit "Use when" trigger language.
- 12 write tools lack exp
Read the thread · 2026-06-21 · closed · external user · 2 comments
evaluateJS silently re-executes side effects after connection drops; pending requests hang 30s on socket close
Summary
Two related reply-loss problems in RDPClient (packages/mcp-server/src/rdp/client.ts):
evaluateJSre-sends the same code after a connection error. A connection drop loses the reply, not necessarily the request —evaluateJSAsyncmay already have executed in Zotero. The blind resend then runs the code's side effects twice. This is dangerous for non-idempotent tool calls (zotero_plugin_install, UI mutations, DB-adjacent scripts).**
handleClose()leaves pending r
Read the thread · 2026-06-10 · closed · outside contributor · 0 comments
RDP client frames outbound packets with UTF-16 char count — non-ASCII payloads corrupt the stream
Summary
RDPClient.sendMessage() (packages/mcp-server/src/rdp/client.ts) frames outbound packets with
const packet = `${json.length}:${json}`;
but the RDP <length>:<json> prefix is the UTF-8 byte length, and json.length is the UTF-16 character count. Any non-ASCII character in an outbound payload (emoji or accented text inside zotero_execute_js code, search strings, etc.) understates the length: the receiving transport reads a truncated JSON document, the stream desy
Read the thread · 2026-06-10 · closed · outside contributor · 0 comments
Bridge plugin health check closes the live RDP listener every 2s — port refuses most connections
Summary
The bridge plugin's "health check" (packages/zotero-plugin-mcp-rdp/src/bootstrap.js) calls openListener() every 2 seconds, and openListener() unconditionally closes the live listener before rebinding. The comment says a re-open "will fail harmlessly (port in use)" — but since the close frees the port first, the re-open always succeeds. The listening socket is therefore torn down and recreated every 2 seconds for the entire Zotero session.
Measured impact (Windows 11, Zo
Read the thread · 2026-06-10 · closed · outside contributor · 2 comments
MCP server cannot communicate with Zotero bridge plugin on Windows
Thanks so much for building this -- it'd be a great help, but I'm not currently getting it to work.
I have the MCP server show up in clode and the bridge plugin in Zotero 8.0.2-beta.1+62894d56e (64-bit). When I ask Claude code to do anything, I get an incoming communication message pop-up in Zotero, which I OK (could there be a way to permanently allow that rather then having to OK for every communication?). After that, Claude says it's not getting anything back and just keeps waiting until I e
Read the thread · 2026-01-30 · closed · external user · 3 comments
Most recent
The remaining reports are on the project's issue tracker.