Перейти к основному содержимому

MCP-сервер

Обзор

MCP (Model Context Protocol) Сервер — это встроенный сервис протокола, который предоставляет вашу библиотеку Zotero и возможности Synthesis как 40+ инструментов MCP. Клиенты, совместимые с MCP (Claude Desktop, Cursor, расширения VS Code и т.д.), могут напрямую обращаться к данным Zotero.

MCP-сервер разделяет базовый реестр возможностей Host Bridge, но следует спецификации протокола MCP (Streamable HTTP транспорт, JSON-RPC 2.0).

Конфигурация

Zotero → Настройки → Zotero Agents → Host Bridge → Включить MCP-сервер

Один флажок переключает сервер вкл/выкл. Включено по умолчанию.

Ненастраиваемые значения по умолчанию

НастройкаЗначениеПричина
Адрес прослушивания127.0.0.1Безопасность: только loopback
Проверка источникаСтрогаяТолько 127.0.0.1, localhost, [::1]
Ограничение размера запроса1 MBЗащита памяти
Защита записиВключенаВсе операции записи требуют подтверждения

Безопасность

  • Аутентификация Bearer Token: использует тот же сессионный/мастер-токен, что и Host Bridge
  • Только loopback: удалённый доступ невозможен
  • Проверка источника: запросы с других источников отклоняются (403)
  • Ограничение 1 MB: слишком большие тела отклоняются с кодом 413
  • Однопоточная очередь: 1 выполняющийся + 8 ожидающих, тайм-аут выполнения 45с, тайм-аут очереди 30с
  • Прерыватели цепи: 3 сбоя за 5 минут → инструмент приостановлен на 60с

Подключение клиентов MCP

Конечная точка

http://127.0.0.1:<port>/mcp

Порт назначается автоматически (диапазон 26370-26569). Проверьте конечную точку Host Bridge в настройках для фактического порта.

Пример конфигурации Claude Desktop

{
"mcpServers": {
"zotero-skills": {
"type": "http",
"url": "http://127.0.0.1:26370/mcp",
"headers": {
"Authorization": "Bearer <your-token>"
}
}
}
}

Получите токен из Настройки → Host Bridge → Копировать мастер-токен.

Детали протокола

  • Транспорт: Streamable HTTP (POST /mcp)
  • Версия: 2025-06-18
  • Идентичность сервера: zotero-skills / "Zotero Agents Context Broker" v0.4.0
  • GET /mcp → 405 (принимается только POST)
  • Запросы без id → рассматриваются как уведомления (без ответа)
  • id: null → явно недействительно

Инвентарь инструментов

Все 40+ инструментов

Инструменты чтения

ИнструментОписание
get_current_viewИнформация о текущем представлении Zotero
get_selected_itemsСводки текущих выбранных элементов
search_itemsПоиск элементов (лимит ≤ 50)
list_library_itemsСписок элементов с пагинацией
get_item_detailПолные метаданные элемента
get_item_notesСписок дочерних заметок
get_note_detailЧтение тела заметки (частями, ≤16k символов на часть)
list_note_payloadsСписок полезных нагрузок Workflow в заметке
get_note_payloadЧтение одной полезной нагрузки
get_item_attachmentsСписок манифестов вложений (без байтов файлов)
prepare_paper_reading_contextАгрегация метаданных, заметок, полезных нагрузок, вложений для одной статьи

Инструменты записи (требуют подтверждения)

ИнструментОписание
preview_mutationПредпросмотр операции записи без выполнения
update_item_fieldsОбновление разрешённых полей одного элемента
add_item_tagsДобавление тегов к одному или нескольким элементам
remove_item_tagsУдаление тегов
create_child_noteСоздание дочерней заметки
update_noteОбновление тела заметки
create_markdown_noteСоздание заметки с отрендеренным HTML + полезной нагрузкой markdown base64
update_markdown_noteОбновление существующей заметки на основе markdown
ingest_paperПриём статьи по DOI/arXiv/PMID/ISBN (с вложением PDF)
add_items_to_collectionДобавление элементов в коллекцию
remove_items_from_collectionУдаление элементов из коллекции

Инструмент диагностики

ИнструментОписание
get_mcp_statusДиагностика сервиса: очередь, прерыватели цепи, последние запросы

Инструменты Synthesis

ИнструментОписание
topics.listСписок всех тем
topics.find_by_paper_refПоиск тем по ссылке на статью
topics.get_contextПолучение полного контекста темы
topics.get_review_inputСборка пакета рецензирования темы
schemas.getПолучение определений схемы
concepts.queryЗапрос базы знаний концепций
citation_graph.query_clusterЗапрос кластера цитирований
citation_graph.get_overviewПолучение обзора графа
citation_graph.get_sliceИзвлечение среза подграфа
citation_graph.get_metricsВычисление метрик графа (pagerank, foundation, frontier)
citation_graph.rank_external_referencesРанжирование внешних ссылок
citation_graph.rank_library_papersРанжирование статей библиотеки
library_index.getИндекс библиотеки с пагинацией
resolvers.resolveРазрешение резолверов ссылок/тем
reference_index.getПолучение индекса ссылок
paper_artifacts.get_manifestПолучение манифеста артефактов
paper_artifacts.readЧтение содержимого артефактов
paper_artifacts.export_filteredЭкспорт отфильтрованных артефактов
paper_artifacts.resolve_topic_digestРазрешение дайджеста темы
insights.get_attention_queueПолучение очереди внимания

Защита записи

Инструменты записи следуют той же модели подтверждения, что и Host Bridge:

Клиент MCP вызывает инструмент записи

├── Bearer Token проверен
├── Область инструмента извлечена
├── Проверка подтверждения:
│ ├── Инструмент только для чтения → выполнить немедленно
│ ├── Предварительно одобренная запись → выполнить немедленно
│ └── Требуется подтверждение → в очередь в UI Zotero
└── Выполнить / Отклонить

Очередь: максимум 50 ожидающих подтверждений; >10 отклонённых записей за 5 минут → прерыватель цепи (отключён на 30с).

Следующие шаги

  • Host Bridge — Базовый транспорт и инструмент CLI
  • Настройки — Просмотр настроек MCP-сервера