home / mcp / zotero dev mcp server
Provides MCU-style access to Zotero for UI inspection, JS execution, plugin management, and debugging through an MCP client.
Configuration
View docs{
"mcpServers": {
"introfini-mcp-server-zotero-dev": {
"command": "npx",
"args": [
"-y",
"@introfini/mcp-server-zotero-dev"
],
"env": {
"ZOTERO_DATA_DIR": "<ZOTERO_DATA_DIR>",
"ZOTERO_RDP_HOST": "<ZOTERO_RDP_HOST>",
"ZOTERO_RDP_PORT": "6100",
"ZOTERO_PROFILE_PATH": "<ZOTERO_PROFILE_PATH>"
}
}
}
}You run an MCP server that lets your AI assistant interact with Zotero plugin development. It provides a lightweight bridge to Zotero’s context, enabling UI inspection, code execution, build tooling, and debugging in a secure, read-only environment. This makes building and testing Zotero plugins faster and more reliable by giving your AI a rich, actionable view of Zotero’s state.
Open Zotero normally and start your AI assistant. The MCP server exposes a stdio-based interface that the client connects to, so you can perform actions like taking screenshots, inspecting the DOM, running code in Zotero’s privileged context, building plugins, and reading logs. Start by issuing commands through your MCP client to access the available tools and begin interactive development sessions.
Prerequisites: Install Node.js 20 or newer and npm. Ensure you have Zotero 7 or newer installed on your system.
1) Install the MCP server client integration using the inline command shown here.
npx -y install-mcp @introfini/mcp-server-zotero-dev --client claude-codeInstall the MCP Bridge plugin in Zotero to enable the Remote Debugging Protocol. This needs to be done once and works across Zotero 7+ builds.
2) Add the following MCP client configuration to enable development with Zotero. This example uses the local stdio flow via npx.
{
"mcpServers": {
"zotero-dev": {
"command": "npx",
"args": ["-y", "@introfini/mcp-server-zotero-dev"],
"env": {
"ZOTERO_RDP_PORT": "6100"
}
}
}
}Open Zotero and start your AI assistant. You can now issue requests like taking a screenshot of Zotero or listing installed plugins to begin your development session. No extra launch flags are required.
If you prefer to run the MCP server directly from the terminal without the assistant’s first-party installer, you can start the server using the same command shown in the configuration example above. The port for remote debugging is 6100 by default, and you can override it via ZOTERO_RDP_PORT.
Run the MCP server on trusted networks and keep Zotero’s data directory access read-only for debugging sessions. Use the provided tooling to inspect and mutate only the intended plugin code during development.
If you encounter connection issues, verify that Zotero is running and that the MCP Bridge plugin is installed. Check that ZOTERO_RDP_PORT is accessible and that your MCP client is configured to connect to the same port.
Capture window, element, or region screenshots for visual context.
Find elements by CSS selector to inspect the DOM.
Retrieve the DOM tree of a window or panel for structural understanding.
Fetch computed CSS styles for a selected element.
List all open Zotero windows to identify targets.
Run JavaScript in Zotero's privileged context and return results.
Explore Zotero APIs and inspect methods/properties of objects.
Open Zotero preferences window, optionally at a specific pane.
Search preferences by pattern to discover keys and values.
Retrieve a preference value from Zotero.
Set a preference value in Zotero.
Build a Zotero plugin using the scaffold tool.
Serve a Zotero plugin with hot reload during development.
Run ESLint on the plugin source code.
Run TypeScript type checking for the plugin.
Read debug output from Zotero (Zotero.debug).
Read error console entries from Zotero.
Stream Zotero logs in real-time for live monitoring.
Clear the log buffer in the MCP environment.
Hot reload your development plugin without restarting Zotero.
Install a plugin from an XPI path.
List installed plugins with version and status.
Execute SELECT queries on zotero.sqlite for debugging.
Get database schema information for Zotero tables.
Get statistics about items, attachments, and size.