Skip to main content
Glama

Zotero MCP Bridge

by colobas
bootstrap.js1.7 kB
/** * Most of this code is from Zotero team's official Make It Red example[1] * or the Zotero 7 documentation[2]. * [1] https://github.com/zotero/make-it-red * [2] https://www.zotero.org/support/dev/zotero_7_for_developers */ var chromeHandle; function install(data, reason) {} async function startup({ id, version, resourceURI, rootURI }, reason) { var aomStartup = Components.classes[ "@mozilla.org/addons/addon-manager-startup;1" ].getService(Components.interfaces.amIAddonManagerStartup); var manifestURI = Services.io.newURI(rootURI + "manifest.json"); chromeHandle = aomStartup.registerChrome(manifestURI, [ ["content", "__addonRef__", rootURI + "content/"], ]); /** * Global variables for plugin code. * The `_globalThis` is the global root variable of the plugin sandbox environment * and all child variables assigned to it is globally accessible. * See `src/index.ts` for details. */ const ctx = { rootURI }; ctx._globalThis = ctx; Services.scriptloader.loadSubScript( `${rootURI}/content/scripts/__addonRef__.js`, ctx, ); await Zotero.__addonInstance__.hooks.onStartup(); } async function onMainWindowLoad({ window }, reason) { await Zotero.__addonInstance__?.hooks.onMainWindowLoad(window); } async function onMainWindowUnload({ window }, reason) { await Zotero.__addonInstance__?.hooks.onMainWindowUnload(window); } async function shutdown({ id, version, resourceURI, rootURI }, reason) { if (reason === APP_SHUTDOWN) { return; } await Zotero.__addonInstance__?.hooks.onShutdown(); if (chromeHandle) { chromeHandle.destruct(); chromeHandle = null; } } async function uninstall(data, reason) {}

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