Skip to main content
Glama

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 via npm test.

  • zotero-plugin.config.ts – Build configuration for zotero-plugin-scaffold.

Getting Started

npm install npm run build # bundles the plugin and runs `tsc --noEmit`

During development you can hot-reload the plugin into Zotero with:

npm run start

Run tests in a scaffolded Zotero instance with:

npm test

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 (see AGENTS.md).

  • Keep code TypeScript-first with strict linting (npm run lint:check).

  • Commit code and .beads/issues.jsonl together so issue state mirrors code state.

-
security - not tested
A
license - permissive license
-
quality - not tested

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/colobas/zotero_mcp_plugin'

If you have feedback or need assistance with the MCP directory API, please join our Discord server