Skip to content
Agentmart
Submit a tool

MCP Server Zotero Dev

MCP server enabling AI assistants to build, test, and debug Zotero plugins

Connector by introfini · GitHub account verified by the MCP Registry

IndexedMITLocal (stdio)★ 40
Write a review

Install

Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.

npx agentmarket install connector/introfini-mcp-server-zotero-dev

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

MCP server enabling AI assistants to build, test, and debug Zotero plugins

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this server can do and what it asks for, from its tool list and install config. Checked Oct 25, 2026.

Tools
14 read · 7 write · 2 delete · 5 not yet classified
Secrets
None asked for
Install scripts
Not scanned yet
Runs as
Node.js package

Tools by what they do 28

Read from the source code; the running server may list different tools.

Read 14 · Look things up without changing anything.

  • zotero_db_schema
  • zotero_db_stats
  • zotero_get_dom_tree
  • zotero_get_pref
  • zotero_get_styles
  • zotero_inspect_element
  • zotero_inspect_object
  • zotero_list_windows
  • zotero_ping
  • zotero_plugin_list
  • zotero_read_errors
  • zotero_read_logs
Show 2 more tools
  • zotero_screenshot
  • zotero_search_prefs

Write 7 · Create, change, send or run things.

  • zotero_click_element
  • zotero_plugin_install
  • zotero_scaffold_build
  • zotero_scaffold_serve
  • zotero_scaffold_typecheck
  • zotero_send_keys
  • zotero_set_pref

Delete 2 · Delete, drop, revoke or wipe things.

  • zotero_clear_logs
  • zotero_execute_js

Not yet classified 5 · We could not tell from the name and description.

  • zotero_db_query
  • zotero_open_preferences
  • zotero_plugin_reload
  • zotero_scaffold_lint
  • zotero_watch_logs

Secrets and settings it asks for

Other settings (environment variables or headers).

  • ZOTERO_RDP_HOST
  • ZOTERO_RDP_PORT

Files it touches

  • Any path the agent passes to its tools

Tools (28)

Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].

  • zotero_clear_logs

    Clear the debug log buffer and error console.

  • zotero_click_element

    Click an element in a Zotero window by CSS selector (toolbar/menu button, preference control, list row, etc.). Resolves light DOM first, then pierces open shadow roots (Zotero's XUL custom elements keep internals in shadow DOM). If the selector matches several elements, use index to pick one. By default calls element.click() (which fires the XUL command for buttons/menuitems); set mouseEvents=true to dispatch a synthesized mousedown/mouseup/click sequence for content that needs real mouse events. Cannot dismiss a BLOCKING native modal dialog (Services.prompt.confirmEx) — see the module note.

  • zotero_db_query

    Execute a SELECT query on Zotero's database. Only SELECT queries are allowed for safety. Note: Database may be locked if Zotero is running - a copy may be used.

  • zotero_db_schema

    Get database schema information. If table is specified, returns columns for that table. Otherwise returns list of all tables.

  • zotero_db_stats

    Get database statistics: item counts, file size, etc.

  • zotero_execute_js

    Execute JavaScript code in Zotero's privileged chrome context. Has full access to Zotero APIs (Zotero.*, ZoteroPane, etc.). Use for testing code snippets, inspecting state, or performing actions. Prefer a dedicated tool when one fits the question (zotero_db_query for library data, zotero_read_logs/zotero_read_errors for output, zotero_inspect_object for API discovery); reach for raw JS only when none does. Code with top-level 'return' statements is auto-wrapped in an IIFE. Tip: For complex objects, use JSON.stringify(obj) to get full data. IMPORTANT: Before calling unknown APIs, use zotero_ins…

  • zotero_get_dom_tree

    Get a simplified DOM tree structure. Shows tag names, IDs, classes, and child counts for navigation.

  • zotero_get_pref

    Get a Zotero preference value. Common prefs: extensions.zotero.*, general.*, export.*

  • zotero_get_styles

    Get computed CSS styles for an element. Useful for debugging layout and styling issues.

  • zotero_inspect_element

    Find DOM elements by CSS selector and return their details. Returns: tagName, id, className, attributes, text content, bounding rect, child count.

  • zotero_inspect_object

    Inspect a Zotero/JavaScript object to discover its methods and properties. Use to explore APIs like Zotero.Items, ZoteroPane, Zotero.Prefs without manual JS execution. Returns methods with signatures and properties with their types/values.

  • zotero_list_windows

    List all open Zotero windows with their IDs, types, and titles. Use the windowId in other tools to target specific windows.

  • zotero_open_preferences

    Open Zotero's preferences/settings window. Optionally navigate directly to a specific pane. For built-in panes, use: 'general', 'sync', 'export', 'cite', 'advanced'. For plugin panes, use the plugin ID (e.g., 'zotseek@zotero.org' or just 'zotseek').

  • zotero_ping

    Test connection to Zotero and get version info. Use this to verify that Zotero is running and the MCP Bridge for Zotero plugin is active.

  • zotero_plugin_install

    Install a Zotero plugin from a local XPI file. The plugin will be installed and Zotero may need to be restarted.

Show 13 more tools
  • zotero_plugin_list

    List all installed Zotero plugins/add-ons with their IDs, names, versions, and status.

  • zotero_plugin_reload

    Reload a Zotero plugin. If a plugin ID is provided, reloads that specific plugin. Otherwise attempts to reload based on the current project.

  • zotero_read_errors

    Read errors from Zotero's error console. Returns JavaScript errors with stack traces and source locations.

  • zotero_read_logs

    Read Zotero's debug log output. Shows recent debug messages from Zotero.debug() calls.

  • zotero_scaffold_build

    Build a Zotero plugin project using zotero-plugin-scaffold. Runs 'npm run build' or 'npm run build:dev' in the project directory.

  • zotero_scaffold_lint

    Run ESLint on a Zotero plugin project.

  • zotero_scaffold_serve

    Start/stop the zotero-plugin-scaffold dev server with hot reload. This watches for changes and automatically rebuilds/reloads the plugin.

  • zotero_scaffold_typecheck

    Run TypeScript type checking on a Zotero plugin project.

  • zotero_screenshot

    Capture a screenshot of Zotero. Can capture the main window, a specific window, or a specific element by CSS selector. Optionally highlight an element with a red border.

  • zotero_search_prefs

    Search and list Zotero/Firefox preferences. Use to discover available preference keys before using zotero_get_pref/zotero_set_pref. Can filter by branch prefix (e.g., 'extensions.zotero.') and/or substring pattern.

  • zotero_send_keys

    Type text into an element in a Zotero window (an input/textarea or any contenteditable). If a selector is given the element is focused first (light DOM, then open shadow roots); otherwise the window's active element is used. Fires input/change events so listeners react. Optionally clear first and/or press Enter afterwards. Note: a few widgets (e.g. Zotero's quick-search) only fully react to their own command handler, not a raw input event — prefer a direct field where possible.

  • zotero_set_pref

    Set a Zotero preference value. Use with caution - some preferences require restart.

  • zotero_watch_logs

    Start/stop watching for new log messages. Use action='start' to begin collecting, 'get' to retrieve collected logs, 'stop' to end.

Compare and alternatives

    Featured in

    Signals

    Stars
    40
    Forks
    8
    Open issues
    8
    Contributors
    6
    Weekly downloads
    35
    Last commit (this folder)
    Sep 20, 2026 (1 month ago)
    Last release
    Sep 20, 2026 (1 month ago)
    Last package publish
    Sep 20, 2026 (1 month ago)

    From GitHub (fetched Oct 24, 2026) and the package registry.

    Details

    Registry name
    io.github.introfini/mcp-server-zotero-dev
    Version
    1.1.4
    Auth
    No auth
    License
    MIT
    First seen
    Oct 24, 2026
    Last checked
    Oct 24, 2026
    Cite this page

    MCP Server Zotero Dev. Agent Mart. https://agentmart.dev/connectors/introfini-mcp-server-zotero-dev (last updated 2026-10-24)