Server MCP

MCP Deckbase

Server Model Context Protocol untuk Deckbase. Alat AI (Cursor, Claude Code, VS Code, dll.) dapat membaca dokumen dan mengelola deck serta kartu.

Endpoint

ModeEndpointAutentikasi
Hosted (HTTP)POST /api/mcpAuthorization: Bearer: kunci API dasbor atau token akses OAuth. Jalur yang sama di produksi: /api/mcp.

OAuth (login melalui browser) adalah cara tercepat untuk terhubung: lihat Menghubungkan ke MCP Deckbase. Kunci API dasbor juga tersedia untuk skrip dan CI. MCP tersedia untuk pelanggan Basic, Pro, dan VIP. Referensi lengkap ada di docs/public/MCP.md melalui read_doc.

Tool

Dokumentasi
ToolDeskripsiParameter
list_docsMendaftarkan file Markdown di docs/public/.Tidak ada.
read_docMembaca dokumen berdasarkan path. Hanya dokumen di docs/public/ yang disajikan.path: mis. MCP.md atau deckbase://docs/public/MCP.md.
list_template_block_typesKunci tipe blok dan id numerik (text, media, interactive, layout). Gunakan sebelum create_template. Data statis.Tidak ada.
list_block_schemasBentuk JSON per tipe blok: blocksSnapshot, values, configJson. Gabungkan dengan export_deck untuk contoh nyata.Tidak ada.
list_elevenlabs_voicesId dan label suara ElevenLabs untuk voice_id pada generate_audio_for_card. Katalog kurasi Deckbase. Tidak membaca Firestore pengguna.language, gender, search opsional.
list_ai_image_modelsId model gambar AI yang diizinkan untuk generate_image_for_card beserta label dan biaya kreditnya.Tidak ada.
Deck & Kartu: memerlukan autentikasi
ToolDeskripsiParameter
list_decksDeck pengguna (deckId, judul, deskripsi, defaultTemplateId opsional, iconEmoji opsional).Tidak ada.
create_deckMembuat deck. Mengembalikan deckId, icon_emoji / iconEmoji bila diatur.title (wajib), description (opsional), icon_emoji atau iconEmoji opsional (satu emoji; klien AI sebaiknya memilih yang cocok dengan judul kecuali pengguna menolak).
update_deckMemperbarui judul, deskripsi, template default, atau ikon deck.deckId (wajib); judul, deskripsi, default_template_id, icon_emoji atau iconEmoji opsional (string kosong menghapus ikon).
list_templatesTemplate (templateId, nama, deskripsi).Tidak ada.
get_template_schemaJSON persis untuk tata letak: blockId, tipe, side ("front" | "back"), configJson, valuesExample, petunjuk create_card.templateId atau deckId untuk template default deck.
create_cardKartu baru dari template. Mengembalikan cardId, templateId, usedDeckDefault. front mengisi blok utama; kunci block_text mencakup blok sisi belakang (side dari get_template_schema).deckId wajib. Opsional: templateId, front, block_text, generate_audio, voice_id, audio_language, audio_gender.
create_cardsPembuatan massal. Maks. 50 per permintaan. Jika gagal: created + failedAt.deckId, array cards (wajib). Opsional di tingkat atas: templateId, voice_id, generate_audio.
update_cardMengedit konten kartu.deckId, cardId; opsional values / blocks_snapshot, atau gabungkan front / block_text.
delete_cardMenghapus satu kartu secara lembut (ke sampah). Server menolak kecuali user_confirmed bernilai true: gunakan hanya setelah persetujuan eksplisit dari manusia.deckId, cardId, user_confirmed (boolean, wajib).
delete_cardsPenghapusan lembut massal dalam satu deck. Aturan persetujuan sama dengan delete_card. Maks. 50 per permintaan.deckId, card_ids (array tidak kosong), user_confirmed.
generate_audio_for_cardTTS ElevenLabs untuk kartu yang sudah ada.deckId, cardId. Berikan voice_id atau audio_language + audio_gender. Opsional: text, block_id, replace_existing.
export_deckJSON deck + kartu. Termasuk truncated, exportType. Ekspor penuh mencakup blocksSnapshot per kartu dengan side + values.deckId (wajib); opsional max_cards (default 2000, batas 5000), export_type: full atau values_only.
create_templateTemplate baru (tata letak blok). Mengembalikan templateId dan id blok. Default Q+A jika block_types dihilangkan.name (wajib); opsional deskripsi, block_types / blocks (side per blok), voice_id, audio_language, audio_gender, mainBlockId / subBlockId.
update_templateMemperbarui metadata dan/atau tata letak. Menaikkan version.templateId (wajib); opsional nama, deskripsi, block_types / blocks, voice_id, audio_language + audio_gender, mainBlockId / subBlockId.
Tool yang membaca data Anda memerlukan token OAuth atau kunci API yang valid. list_template_block_types dan list_block_schemas mengembalikan data statis (tanpa autentikasi). list_elevenlabs_voices tidak membaca Firestore. Permintaan tanpa autentikasi mengembalikan 401.

Resources

Server mengekspos resource MCP untuk dokumen di docs/public/:

resources/list

Satu resource per file .md di docs/public/ (mis. deckbase://docs/public/MCP.md).

resources/read

Mengambil konten dokumen berdasarkan URI tersebut.

Contoh: deck, template, dan kartu

  1. 1

    Konfigurasikan klien Anda dengan URL MCP dan token bearer: Authorization: Bearer YOUR_API_KEY (atau token akses OAuth dari halaman Connect).

  2. 2

    Panggil list_templates. Jika kosong, gunakan list_template_block_types dan create_template terlebih dahulu.

  3. 3

    Panggil get_template_schema dengan templateId yang dipilih untuk mengetahui kunci blockId dan nilai side yang tepat.

  4. 4

    Panggil create_deck dengan title, description opsional, dan icon_emoji bila agen harus memilih ikon yang sesuai dengan topiknya.

  5. 5

    Panggil create_card dengan deckId dan opsional templateId, front (blok utama), serta block_text untuk blok lain termasuk sisi belakang.

Detail teknis

ProtokolMCP 2024-11-05
Nama serverdeckbase-mcp
HostedJSON-RPC 2.0 melalui POST. Gunakan token akses OAuth atau kunci API dasbor (Bearer), bukan token ID Firebase.
Bentuk kartucreate_card menyalin tata letak blok dari template. Setiap blok mencakup side dari template; nilai kosong secara default. Data disimpan di Firestore dan tersinkron ke dasbor dan aplikasi seluler.

Untuk pengaturan klien (Cursor, VS Code, Claude, dll.), lihat Menghubungkan ke MCP Deckbase • Untuk tautan lainnya, lihat Resources