cite-caddy

Cite Caddy — полный доступ к библиотеке Zotero из Claude и ChatGPT

От сообщества: Добавлен пользователем или импортирован; проверьте владельца перед подключениемРаботаетБез входаГлобальныйБесплатноМожет изменять данные

Что умеет

  • Искать элементы библиотеки по заданным критериям
  • Создавать и переименовывать коллекции и элементы
  • Загружать и скачивать вложения, читать извлечённый текст
  • Управлять тегами, корзиной и сохранёнными поисками
  • Экспортировать библиографию по элементам

Какие данные видит

Ассистент получает полный доступ на чтение и запись к библиотеке Zotero пользователя, включая коллекции, вложения и заметки.

Нужен ли аккаунт

Не нужен: сервер работает без входа

Cite Caddy подключает ассистента к библиотеке Zotero: сервер читает и меняет элементы, коллекции, вложения и заметки. Можно искать источники, добавлять теги, загружать файлы и получать распознанный текст вложений, а также работать с корзиной и сохранёнными поисками.

Как подключить

Как подключить cite-caddy к Claude

Адрес сервера, который нужно вставить в настройках Claude:

https://cite-caddy--herbertkokholm.run.tools

  1. Откройте Claude (сайт claude.ai или приложение для компьютера).
  2. Перейдите в Настройки → Коннекторы (в английском интерфейсе: Settings → Connectors).
  3. Нажмите Добавить пользовательский коннектор (Add custom connector).
  4. Вставьте адрес сервера, скопированный ниже, в поле URL удалённого MCP-сервера и нажмите Добавить.
  5. В чате нажмите + → Коннекторы и включите новый коннектор.

Пользовательские коннекторы доступны на тарифах Free, Pro, Max, Team и Enterprise. На Free можно добавить только один. В Team и Enterprise коннектор сначала добавляет владелец организации в Настройки организации → Коннекторы.

Авторизация

После нажатия Добавить откроется окно входа в сервис. Войдите под своим аккаунтом и подтвердите доступ. Пароль Claude не видит.

Как подключить cite-caddy к ChatGPT

Адрес сервера, который нужно вставить в настройках ChatGPT:

https://cite-caddy--herbertkokholm.run.tools

  1. Откройте ChatGPT в браузере (chatgpt.com). Нужен тариф Plus, Pro, Business, Enterprise или Edu.
  2. Один раз включите режим разработчика: Настройки → Приложения → Дополнительные настройки → Режим разработчика (Settings → Apps → Advanced settings → Developer mode).
  3. Откройте Настройки → Коннекторы и нажмите Создать (Create).
  4. Заполните форму: Название (любое), Описание (одна фраза, что делает сервис), URL MCP-сервера (скопируйте ниже).
  5. В поле Аутентификация выберите OAuth, если сервис требует вход, иначе Нет. Нажмите Создать.
  6. В новом чате откройте + → Приложения/Коннекторы и включите коннектор.

Название раздела у OpenAI менялось (Connectors → Apps/Plugins). Если пункт называется иначе, ищите «режим разработчика» в настройках. В рабочих пространствах Business/Enterprise администратор должен разрешить пользовательские коннекторы.

Авторизация

При первом использовании ChatGPT откроет окно входа в сервис. Войдите и подтвердите доступ.

Как подключить cite-caddy к Cursor

Адрес сервера, который нужно вставить в настройках Cursor:

https://cite-caddy--herbertkokholm.run.tools

Быстрый способ: нажмите кнопку Открыть в Cursor ниже, Cursor сам предложит добавить сервер.

Вручную:

  1. В Cursor откройте Settings → Cursor Settings → MCP и нажмите Add new global MCP server.
  2. Вставьте JSON, скопированный ниже, в открывшийся файл ~/.cursor/mcp.json (для одного проекта: .cursor/mcp.json в корне проекта).
  3. Сохраните файл. Сервер появится в списке MCP; при необходимости пройдите авторизацию по кнопке рядом с ним.

Авторизация

Если сервис требует вход, рядом с сервером в списке MCP появится кнопка авторизации.

Список инструментов сервера (39)

Технические названия из tools/list. Нужны только разработчикам.

search_itemsSearch the Zotero library. Read-only.
get_itemFetch one item by key. Read-only. Use this to get an item's current `version` right before a mutating call, if you don't already have a fresh one from search_items. `creators` is a list of {creatorType, firstName, lastName} (or {creatorType, name} for single-field/ institutional creators) entries -- see search_items' docstring.
list_trashList items currently in the trash -- soft-deleted (e.g. via the Zotero desktop app's "Move to Trash", or trash_item), but not yet permanently gone. Read-only. Each result's `key`/`version` can be passed to restore_from_trash. limit/start: pagination (default limit 25). `creators` shape matches search_items/get_item.
list_collectionsList all collections in the library (key, name, parent_collection). Read-only.
list_saved_searchesList saved searches -- Zotero's own stored search definitions (visible in the desktop app's left-hand pane), not ad-hoc calls to search_items. Read-only. Each result's `key` can be passed to delete_saved_search.
list_groupsList the Zotero groups the configured API key's user account belongs to. Read-only. Each result's `id` can be passed as target_library_id (with target_library_type="group") to move_item_to_different_library, if the group you want isn't this server's own configured library.
list_item_typesList every Zotero item type (e.g. "book", "journalArticle", "webpage") -- valid values for create_item's item_type argument. Read-only.
list_item_fieldsList every bibliographic field Zotero recognizes across all item types combined -- not which fields are valid for one specific type (see list_item_type_fields for that, which is what create_item actually needs). Read-only.
list_item_type_fieldsList the bibliographic fields valid for one item type -- only these keys are valid in create_item/update_item's `fields` argument for this item_type; anything else raises a validation error. Read-only.
list_item_creator_typesList the valid `creatorType` values (e.g. "author", "editor") for one item type -- for create_item/update_item's `creators` entries, e.g. {"creatorType": "author", ...}. Read-only.
list_creator_fieldsList the name-shape fields Zotero recognizes on a `creators` entry (e.g. "firstName", "lastName", "name") -- for building creators entries in create_item/update_item's `creators` argument. Distinct from list_item_creator_types, which lists creatorType *roles* (author, editor, ...) rather than name fields. Read-only.
list_tagsList distinct tags used anywhere in the library -- not one item's tags (see search_items/get_item for those). Read-only.
list_attachmentsList the file attachments (PDFs, snapshots, etc.) filed under an item -- not its notes. Read-only. Each result's `key` can be passed to download_attachment or get_fulltext.
get_fulltextFetch Zotero's extracted full-text content and indexing progress for an attachment (see list_attachments for keys). Only meaningful for attachments Zotero has indexed -- PDFs/text files with extracted text -- not e.g. images; raises an error if there's no indexed full text for this key. Read-only.
download_attachmentDownload an attachment's file content (see list_attachments for keys). Read-only. Returns `content_base64` -- this server runs remotely, so raw bytes travel as a base64 string rather than a local file path; decode it to reconstruct the file.
list_notesList the notes filed under an item -- not its file attachments (see list_attachments for those). Read-only. Each result includes full note content and `version` -- pass both to update_note.
export_bibliographyGenerate formatted bibliography/citation entries or portable export data for one or more items. Read-only.
create_itemAdd a new item to the library. Safe: creates a brand-new key, never touches an existing one.
create_collectionCreate a new collection, optionally nested under parent_key. Safe.
create_saved_searchCreate a new saved search. Safe: creates a brand-new key, never touches an existing one.
update_collectionRename and/or move (reparent) a collection, in place. Safe: the collection's key is unchanged, so items filed in it and any sub-collections stay put.
trash_itemMove an item to the trash (soft delete). Unlike delete_item_permanently, this is reversible via restore_from_trash -- prefer it whenever a delete might need to be undone. Safe, key-preserving: the item's key is unchanged, so a Word citation referencing it keeps resolving unless/until it's later permanently deleted (e.g. via delete_item_permanently, or "Empty Trash" in the Zotero desktop app).
restore_from_trashRemove an item from the trash, restoring it to the library. Safe, key-preserving. version: the item's current version (from list_trash).
upload_attachmentUpload a new file attachment as a child of an existing item (e.g. attach a PDF to a journalArticle item). Safe: creates a brand-new attachment item with its own key; never touches the parent item's own fields or version.
create_noteAdd a new note as a child of an existing item (e.g. a research note attached to a journalArticle). Safe: creates a brand-new note item with its own key; never touches the parent item's own fields or version.
update_itemEdit bibliographic fields (title, date, DOI, url, abstractNote, publicationTitle, creators, etc.) on an existing item, in place. Safe: the item's key is unchanged, so any Word citation referencing it keeps working. `creators` (if included) replaces the whole author/editor list -- e.g. [{"creatorType": "author", "firstName": "Ada", "lastName": "Lovelace"}], not a merge into the existing list.
update_publication_statusUpdate an item in place to reflect that a preprint has been formally published -- e.g. an arXiv preprint that just received a journal DOI. Same key-preserving patch as update_item (Word citations keep working) -- prefer this or update_item over deleting and recreating the item whenever a preprint's status changes.
update_noteEdit a note's content, in place. Safe, key-preserving. version: the note's current version (from list_notes).
add_tagsAdd one or more tags to an item, keeping its existing tags. Safe, key-preserving. version: the item's current version (see update_item).
remove_tagsRemove one or more tags from an item; other tags are kept. Safe, key-preserving. version: the item's current version (see update_item).
set_tagsReplace ALL of an item's tags with exactly this list (not merged -- use add_tags/remove_tags to change tags incrementally instead). Safe, key-preserving. version: the item's current version (see update_item).
rename_tagRename a tag across every item in the library that carries it (not just one item -- see add_tags/remove_tags/set_tags for single-item edits). Zotero has no native tag-rename: this adds new_tag and removes old_tag on each affected item individually, merging with each item's existing tags.
add_to_collectionFile an item into a collection, in addition to any it's already in. Safe, key-preserving reorganization within the same library -- prefer this over move_item_to_different_library whenever the goal is just organizing, not actually relocating to a different library. version: the item's current version (see update_item).
remove_from_collectionRemove an item from one collection; it stays in the library and any other collections it's filed under. Safe, key-preserving. version: the item's current version (see update_item).
delete_item_permanentlyDESTRUCTIVE -- permanently deletes the item from its library. Cannot be undone through this server.
delete_tagDESTRUCTIVE -- permanently removes this tag from every item in the library that carries it (not one item -- see remove_tags for that). Cannot be undone through this server.
delete_collectionDESTRUCTIVE -- permanently deletes the collection. Matches Zotero's own "Delete Collection" behavior: any sub-collections nested under it are deleted too, cascading -- but items filed in it (or in a deleted sub-collection) are NOT deleted from the library, only unfiled from that collection.
delete_saved_searchDESTRUCTIVE, but low-risk -- permanently deletes this saved search definition. Unlike delete_item_permanently/delete_collection, this doesn't touch any items or their citations -- a saved search is just a stored filter, not a container. idempotency_key: optional opaque string; if a call with this exact key already completed, that same outcome is replayed instead of running against Zotero again -- see delete_item_permanently's docstring for the full explanation.
move_item_to_different_libraryDESTRUCTIVE -- moves an item to a different Zotero library (e.g. from this user library into a group library, or vice versa). Zotero has no native cross-library move: this recreates the item in the target library under a BRAND-NEW key, then deletes the original.