Provides tools for browsing and querying a Zotero library, including listing open tabs, searching items, and browsing collections through the Zotero 7 application.
Zotero MCP Bridge
Zotero MCP Bridge is a Zotero 7 plugin that will expose a local Model Context Protocol (MCP) server so LLM clients can browse and query your Zotero library with tool calls. The plugin is written in TypeScript and will integrate the modelcontextprotocol/typescript-sdk for the MCP implementation.
This repository started from the canonical Zotero plugin template, but the template-only samples and UI chrome have been removed so we can focus on the MCP bridge code.
Project Goals
Ship a local MCP server that runs inside Zotero and surfaces Zotero-specific tools such as listing open tabs, searching items, and browsing collections.
Provide a lightweight communication shim so LLMs can attach to the running Zotero MCP server.
Keep the UI surface minimal—most interaction should happen through MCP tool calls rather than extra Zotero menus.
Repository Layout
src/– TypeScript source for the plugin, including the MCP runtime scaffolding.addon/– Static assets packaged with the XPI (manifest, icons, locale strings).test/– Mocha test suite executed vianpm test.zotero-plugin.config.ts– Build configuration forzotero-plugin-scaffold.
Getting Started
During development you can hot-reload the plugin into Zotero with:
Run tests in a scaffolded Zotero instance with:
Note: the build pipeline expects Zotero 7 and the latest Node.js LTS release. See the official developer guide for environment prerequisites.
Contributing
Track work with
bd(seeAGENTS.md).Keep code TypeScript-first with strict linting (
npm run lint:check).Commit code and
.beads/issues.jsonltogether so issue state mirrors code state.
This server cannot be installed
local-only server
The server can only run on the client's local machine because it depends on local resources.
Enables LLM clients to browse and query your Zotero library through tool calls. Provides access to Zotero-specific functions like listing open tabs, searching items, and browsing collections via a local MCP server running inside Zotero.