MCPサーバー
Deckbase MCP
DeckbaseのModel Context Protocolサーバー。AIツール(Cursor、Claude Code、VS Codeなど)がドキュメントを読み、デッキとカードを管理できます。
エンドポイント
| モード | エンドポイント | 認証 |
|---|---|---|
| ホスト型(HTTP) | POST /api/mcp | Authorization: Bearer — ダッシュボードのAPIキーまたはOAuthアクセストークン。本番環境でも同じパス: /api/mcp。 |
APIキーはダッシュボードで作成します。MCPはProおよびVIP購読者が利用できます。OAuth(ブラウザログイン)は任意です — Deckbase MCPへの接続と、read_doc経由のdocs/public/MCP.mdにある完全なリファレンスをご覧ください。
ツール
| ツール | 説明 | パラメータ |
|---|---|---|
| list_docs | docs/public/内のMarkdownファイルを一覧表示します。 | なし。 |
| read_doc | パスでドキュメントを読み込みます。docs/public/内のドキュメントのみが提供されます。 | path — 例: MCP.mdまたはdeckbase://docs/public/MCP.md。 |
| list_template_block_types | ブロックタイプのキーと数値ID(text、media、quiz、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(絵文字1つ。ユーザーが選択しない限り、AIクライアントがタイトルに合うものを選ぶべきです)。 |
| update_deck | タイトル、説明、デフォルトテンプレート、デッキアイコンを更新します。 | deckId(必須)。任意でタイトル、説明、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のキーには裏面のブロック(get_template_schemaからのside)が含まれます。 | 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 | 1枚のカードをソフト削除(ゴミ箱へ)。user_confirmedがtrueでない限りサーバーは拒否します — 明示的な人間の同意の後にのみ使用してください。 | deckId、cardId、user_confirmed(必須のboolean)。 |
| delete_cards | 1つのデッキ内で一括ソフト削除。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を含みます。完全なエクスポートには、カードごとにside + valuesを含むblocksSnapshotが含まれます。 | deckId(必須)。任意でmax_cards(デフォルト2000、上限5000)、export_type: fullまたはvalues_only。 |
| create_template | 新しいテンプレート(ブロックレイアウト)。templateIdとブロックIDを返します。block_typesが省略された場合はデフォルトのQ+A。 | name(必須)。任意で説明、block_types / blocks(ブロックごとのside)、voice_id、audio_language、audio_gender、mainBlockId / subBlockId。 |
| update_template | メタデータやレイアウトを更新します。versionを上げます。 | templateId(必須)。任意で名前、説明、block_types / blocks、voice_id、audio_language + audio_gender、mainBlockId / subBlockId。 |
list_template_block_typesとlist_block_schemasは静的データを返します(認証不要)。list_elevenlabs_voicesはFirestoreを読み取りません。未認証のリクエストは401を返します。リソース
サーバーはdocs/public/内のドキュメント用にMCPリソースを公開しています:
resources/listdocs/public/内の各.mdファイルにつき1つのリソース(例: deckbase://docs/public/MCP.md)。
resources/readそのURIでドキュメント内容を取得します。
例: デッキ、テンプレート、カード
- 1
MCP URLと
Authorization: Bearer YOUR_API_KEYでクライアントを設定します。 - 2
list_templatesを呼び出します。空の場合は、まずlist_template_block_typesとcreate_templateを使います。
- 3
選択した
templateIdでget_template_schemaを呼び出し、正確なblockIdキーとsideの値を確認します。 - 4
title、任意でdescription、エージェントがトピックに合うアイコンを選ぶべき場合はicon_emojiとともにcreate_deckを呼び出します。 - 5
deckIdと、任意でtemplateId、front(メインブロック)、裏面を含む他のブロック用のblock_textとともにcreate_cardを呼び出します。
技術詳細
クライアントのセットアップ(Cursor、VS Code、Claudeなど)については Deckbase MCPへの接続 • その他のリンクについては リソース