MCP-сервер

Deckbase MCP

Сервер Model Context Protocol для Deckbase. AI-инструменты (Cursor, Claude Code, VS Code и др.) могут читать документацию и управлять колодами и карточками.

Эндпоинты

РежимЭндпоинтАвторизация
Облачный (HTTP)POST /api/mcpAuthorization: Bearer: API-ключ из панели управления или OAuth access token. Тот же путь в продакшене: /api/mcp.

Самый быстрый способ подключиться: OAuth (вход через браузер), см. Подключение к Deckbase MCP. API-ключи из панели управления тоже доступны для скриптов и CI. MCP доступен подписчикам Basic, Pro и VIP. Полный справочник в docs/public/MCP.md через read_doc.

Инструменты

Документация
ИнструментОписаниеПараметры
list_docsСписок Markdown-файлов в docs/public/.Нет.
read_docЧитает документ по пути. Отдаются только документы из docs/public/.path, например MCP.md или deckbase://docs/public/MCP.md.
list_template_block_typesКлючи типов блоков и их числовые id (text, media, interactive, layout). Используй перед create_template. Статические данные.Нет.
list_block_schemasJSON-структуры для каждого типа блока: blocksSnapshot, values, configJson. Смотри вместе с export_deck, чтобы получить реальные примеры.Нет.
list_elevenlabs_voicesid и названия голосов ElevenLabs для voice_id в generate_audio_for_card. Курируемый каталог Deckbase. Без чтения пользовательского Firestore.Необязательные language, gender, search.
list_ai_image_modelsРазрешённые id AI-моделей изображений для generate_image_for_card с названиями и стоимостью в кредитах.Нет.
Колоды и карточки: требуется аутентификация
ИнструментОписаниеПараметры
list_decksКолоды пользователя (deckId, название, описание, необязательные defaultTemplateId и iconEmoji).Нет.
create_deckСоздаёт колоду. Возвращает deckId, а также icon_emoji / iconEmoji, если они заданы.title (обязательно), description (необязательно), необязательный icon_emoji или iconEmoji (один эмодзи; AI-клиенты должны выбирать подходящий к названию, если пользователь не против).
update_deckОбновляет название, описание, шаблон по умолчанию или иконку колоды.deckId (обязательно); необязательные title, description, default_template_id, icon_emoji или iconEmoji (пустая строка убирает иконку).
list_templatesШаблоны (templateId, название, описание).Нет.
get_template_schemaТочный JSON для макета: blockId, тип, side ("front" | "back"), configJson, valuesExample, подсказки для create_card.templateId или deckId для шаблона по умолчанию этой колоды.
create_cardНовая карточка из шаблона. Возвращает cardId, templateId, usedDeckDefault. front заполняет основной блок; ключи block_text включают блоки обратной стороны (side из get_template_schema).deckId обязателен. Необязательные templateId, front, block_text, generate_audio, voice_id, audio_language, audio_gender.
create_cardsМассовое создание. Максимум 50 за запрос. При ошибке: created + failedAt.deckId, массив cards (обязательно). Необязательные на верхнем уровне templateId, voice_id, generate_audio.
update_cardРедактирует содержимое карточки.deckId, cardId; необязательные values / blocks_snapshot или слияние front / block_text.
delete_cardМягко удаляет одну карточку (в корзину). Сервер откажет, если user_confirmed не true: используй только после явного согласия человека.deckId, cardId, user_confirmed (обязательный boolean).
delete_cardsМассовое мягкое удаление в одной колоде. То же правило согласия, что и в delete_card. Максимум 50 за запрос.deckId, card_ids (непустой массив), user_confirmed.
generate_audio_for_cardElevenLabs TTS для существующей карточки.deckId, cardId. Передай voice_id либо audio_language + audio_gender. Необязательные text, block_id, replace_existing.
export_deckJSON колоды и карточек. Включает truncated, exportType. Полный экспорт содержит blocksSnapshot для каждой карточки с side + values.deckId (обязательно); необязательные max_cards (по умолчанию 2000, максимум 5000), export_type: full или values_only.
create_templateНовый шаблон (макет блоков). Возвращает templateId и id блоков. По умолчанию вопрос + ответ, если block_types не указан.name (обязательно); необязательные description, block_types / blocks (side для каждого блока), voice_id, audio_language, audio_gender, mainBlockId / subBlockId.
update_templateОбновляет метаданные и/или макет. Повышает version.templateId (обязательно); необязательные name, description, block_types / blocks, voice_id, audio_language + audio_gender, mainBlockId / subBlockId.
Инструменты, которые читают твои данные, требуют валидный OAuth-токен или API-ключ. list_template_block_types и list_block_schemas возвращают статические данные (аутентификация не нужна). list_elevenlabs_voices не читает Firestore. Запросы без аутентификации возвращают 401.

Ресурсы

Сервер предоставляет MCP-ресурсы для документов в docs/public/:

resources/list

Один ресурс на каждый .md-файл в docs/public/ (например, deckbase://docs/public/MCP.md).

resources/read

Получает содержимое документа по этому URI.

Пример: колода, шаблон и карточка

  1. 1

    Настрой клиента с MCP URL и bearer-токеном: Authorization: Bearer YOUR_API_KEY (или OAuth access token со страницы подключения).

  2. 2

    Вызови list_templates. Если список пуст, сначала используй list_template_block_types и create_template.

  3. 3

    Вызови get_template_schema с выбранным templateId, чтобы узнать точные ключи blockId и значения side.

  4. 4

    Вызови create_deck с title, необязательным description и icon_emoji, когда агент должен подобрать подходящую иконку для темы.

  5. 5

    Вызови create_card с deckId и, при необходимости, templateId, front (основной блок) и block_text для остальных блоков, включая обратную сторону.

Технические детали

ПротоколMCP 2024-11-05
Имя сервераdeckbase-mcp
ХостингJSON-RPC 2.0 поверх POST. Используй OAuth access token или API-ключ из панели управления (Bearer), а не Firebase ID token.
Структура карточкиcreate_card копирует макет блоков шаблона. Каждый блок получает side из шаблона; по умолчанию значения пустые. Данные хранятся в Firestore и синхронизируются с панелью управления и мобильным приложением.

Как настроить клиент (Cursor, VS Code, Claude и др.), смотри в разделе Подключение к Deckbase MCP • Другие ссылки смотри в разделе Ресурсы