MCP 服务器

Deckbase MCP

适用于 Deckbase 的 Model Context Protocol 服务器。AI 工具(Cursor、Claude Code、VS Code 等)可以读取文档,并管理牌组和卡片。

端点

模式端点身份验证
托管模式(HTTP)POST /api/mcpAuthorization: Bearer:仪表板 API 密钥或 OAuth 访问令牌。生产环境使用同一路径:/api/mcp。

OAuth(浏览器登录)是最快的连接方式,详见连接 Deckbase MCP。脚本和 CI 也可以使用仪表板 API 密钥。MCP 面向 Basic、Pro 和 VIP 订阅用户开放。完整参考见 docs/public/MCP.md,可通过 read_doc 读取。

工具

文档
工具说明参数
list_docs列出 docs/public/ 中的 Markdown 文件。无。
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_schemas各区块类型的 JSON 结构:blocksSnapshot、values、configJson。可配合 export_deck 获取真实示例。无。
list_elevenlabs_voices用于 generate_audio_for_card 中 voice_id 的 ElevenLabs 语音 ID 和名称。Deckbase 精选目录。不读取用户的 Firestore 数据。可选:language、gender、search。
list_ai_image_models可用于 generate_image_for_card 的 AI 图像模型 ID,含名称和点数消耗。无。
牌组与卡片:需要身份验证
工具说明参数
list_decks用户的牌组(deckId、标题、描述、可选的 defaultTemplateId、可选的 iconEmoji)。无。
create_deck创建牌组。返回 deckId,若设置了图标则返回 icon_emoji / iconEmoji。title(必填)、description(可选)、可选的 icon_emoji 或 iconEmoji(单个 emoji;除非用户明确不要,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(必填布尔值)。
delete_cards在单个牌组中批量软删除。同意规则同 delete_card。每次请求最多 50 张。deckId、card_ids(非空数组)、user_confirmed。
generate_audio_for_card为已有卡片生成 ElevenLabs TTS 语音。deckId、cardId。传入 voice_id,或 audio_language + audio_gender。可选 text、block_id、replace_existing。
export_deck牌组与卡片的 JSON。包含 truncated、exportType。完整导出会包含每张卡片的 blocksSnapshot,其中含 side + values。deckId(必填);可选 max_cards(默认 2000,上限 5000)、export_type:full 或 values_only。
create_template新建模板(区块布局)。返回 templateId 和区块 ID。若省略 block_types,默认使用问答(Q+A)布局。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。

资源

服务器会为 docs/public/ 中的文档提供 MCP 资源:

resources/list

docs/public/ 中的每个 .md 文件对应一个资源(例如 deckbase://docs/public/MCP.md)。

resources/read

通过该 URI 获取文档内容。

示例:牌组、模板和卡片

  1. 1

    在客户端中配置 MCP URL 和 Bearer 令牌:Authorization: Bearer YOUR_API_KEY(或从连接页面获取的 OAuth 访问令牌)。

  2. 2

    调用 list_templates。若结果为空,请先使用 list_template_block_types 和 create_template。

  3. 3

    用选定的 templateId 调用 get_template_schema,了解确切的 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
托管基于 POST 的 JSON-RPC 2.0。请使用 OAuth 访问令牌或仪表板 API 密钥(Bearer),而不是 Firebase ID 令牌。
卡片结构create_card 会复制模板的区块布局。每个区块都包含模板中的 side;默认值为空。数据存储在 Firestore 中,并同步到仪表板和移动应用。

有关客户端配置(Cursor、VS Code、Claude 等),请参阅 连接 Deckbase MCP • 其他链接请参阅 资源