Labsco
MCP SERVER

MCP Bridge for Zotero

by introfini

Build and debug Zotero plugins with the assistant seeing what you see — screenshots, DOM, logs, and a live JavaScript context.

Runtime Debugging & Crash AnalysisVerified
Summary
Closes the loop that makes Zotero plugin work slow: the assistant can see the UI, run code inside it, and read the error it caused.

Screenshots plus the DOM tree plus the error console mean a broken panel can be diagnosed without you narrating it, and executing JavaScript in Zotero's own context turns "what does this API return" into a call rather than a guess. Two instances at once is a supported setup — give each profile its own bridge port — which is how you compare behaviour across Zotero versions.

What it is

A development server for Zotero 7 and later. A small bridge plugin opens Zotero's remote debugging port, and these tools drive the running application through it.

What you get
  • JavaScript executed inside Zotero's privileged context, with full access to the Zotero APIs, plus object inspection to discover what an API actually exposes
  • UI inspection: screenshots of the window or one element by CSS selector, a simplified DOM tree, element details, and computed styles
  • UI interaction that is shadow-DOM aware — click a toolbar button, menu item or list row, and type into an input or contenteditable
  • Debug output and the error console read back with stack traces and source locations, cleared on demand, or watched so new messages are collected while you work
  • Preferences read, set and searched, so you can find the key before changing it, and the preferences window opened at a specific pane
  • Build integration with zotero-plugin-scaffold: build, run the dev server with hot reload, lint, and typecheck the plugin project
  • Plugin management — list what is installed with versions and status, install from a local XPI, and reload the one you are working on
  • Read-only SQL against zotero.sqlite for debugging, with schema and statistics alongside it
  • Window listing, so tools can be aimed at a specific Zotero window
Requirements

Zotero 7 or later running locally, with the MCP Bridge plugin installed to open the remote debugging port — 6100 by default, set on both sides through the extensions.mcp-rdp.port preference if you change it, and note that Zotero's Config Editor defaults to Boolean when creating it, which silently produces a pipe instead of a TCP port. Node.js 20+ and npm; installed from npm as @introfini/mcp-server-zotero-dev, and install-mcp wires it into most clients. zotero-plugin-scaffold is needed for the build tools. Setting extensions.mcp-rdp.enabled to false closes the bridge without uninstalling anything.

Setup effort

One command — npx -y @introfini/mcp-server-zotero-dev@1.1.1