Skip to main content
Glama

Zotero MCP Bridge

by colobas
prefs.ts1.23 kB
import { config } from "../../package.json"; type PluginPrefsMap = _ZoteroTypes.Prefs["PluginPrefsMap"]; const PREFS_PREFIX = config.prefsPrefix; type PrefValue = string | number | boolean; function assertValidPrefValue(value: unknown): asserts value is PrefValue { if ( typeof value !== "string" && typeof value !== "number" && typeof value !== "boolean" ) { throw new TypeError( `Invalid preference value type: ${typeof value}. Expected string, number, or boolean.`, ); } } /** * Get preference value. * Wrapper of `Zotero.Prefs.get`. * @param key */ export function getPref<K extends keyof PluginPrefsMap>(key: K) { return Zotero.Prefs.get(`${PREFS_PREFIX}.${key}`, true) as PluginPrefsMap[K]; } /** * Set preference value. * Wrapper of `Zotero.Prefs.set`. * @param key * @param value */ export function setPref<K extends keyof PluginPrefsMap>( key: K, value: PluginPrefsMap[K], ) { assertValidPrefValue(value); return Zotero.Prefs.set(`${PREFS_PREFIX}.${key}`, value, true); } /** * Clear preference value. * Wrapper of `Zotero.Prefs.clear`. * @param key */ export function clearPref(key: string) { return Zotero.Prefs.clear(`${PREFS_PREFIX}.${key}`, true); }

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