- Beranda
- Dokumentasi
- Server MCP
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
| Mode | Endpoint | Autentikasi |
|---|---|---|
| Hosted (HTTP) | POST /api/mcp | Authorization: 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
| Tool | Deskripsi | Parameter |
|---|---|---|
| list_docs | Mendaftarkan file Markdown di docs/public/. | Tidak ada. |
| read_doc | Membaca dokumen berdasarkan path. Hanya dokumen di docs/public/ yang disajikan. | path: mis. MCP.md atau deckbase://docs/public/MCP.md. |
| list_template_block_types | Kunci tipe blok dan id numerik (text, media, interactive, layout). Gunakan sebelum create_template. Data statis. | Tidak ada. |
| list_block_schemas | Bentuk JSON per tipe blok: blocksSnapshot, values, configJson. Gabungkan dengan export_deck untuk contoh nyata. | Tidak ada. |
| list_elevenlabs_voices | Id 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_models | Id model gambar AI yang diizinkan untuk generate_image_for_card beserta label dan biaya kreditnya. | Tidak ada. |
| Tool | Deskripsi | Parameter |
|---|---|---|
| list_decks | Deck pengguna (deckId, judul, deskripsi, defaultTemplateId opsional, iconEmoji opsional). | Tidak ada. |
| create_deck | Membuat 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_deck | Memperbarui judul, deskripsi, template default, atau ikon deck. | deckId (wajib); judul, deskripsi, default_template_id, icon_emoji atau iconEmoji opsional (string kosong menghapus ikon). |
| list_templates | Template (templateId, nama, deskripsi). | Tidak ada. |
| get_template_schema | JSON persis untuk tata letak: blockId, tipe, side ("front" | "back"), configJson, valuesExample, petunjuk create_card. | templateId atau deckId untuk template default deck. |
| create_card | Kartu 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_cards | Pembuatan massal. Maks. 50 per permintaan. Jika gagal: created + failedAt. | deckId, array cards (wajib). Opsional di tingkat atas: templateId, voice_id, generate_audio. |
| update_card | Mengedit konten kartu. | deckId, cardId; opsional values / blocks_snapshot, atau gabungkan front / block_text. |
| delete_card | Menghapus 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_cards | Penghapusan 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_card | TTS ElevenLabs untuk kartu yang sudah ada. | deckId, cardId. Berikan voice_id atau audio_language + audio_gender. Opsional: text, block_id, replace_existing. |
| export_deck | JSON 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_template | Template 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_template | Memperbarui metadata dan/atau tata letak. Menaikkan version. | templateId (wajib); opsional nama, deskripsi, block_types / blocks, voice_id, audio_language + audio_gender, mainBlockId / subBlockId. |
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/listSatu resource per file .md di docs/public/ (mis. deckbase://docs/public/MCP.md).
resources/readMengambil konten dokumen berdasarkan URI tersebut.
Contoh: deck, template, dan kartu
- 1
Konfigurasikan klien Anda dengan URL MCP dan token bearer:
Authorization: Bearer YOUR_API_KEY(atau token akses OAuth dari halaman Connect). - 2
Panggil list_templates. Jika kosong, gunakan list_template_block_types dan create_template terlebih dahulu.
- 3
Panggil get_template_schema dengan
templateIdyang dipilih untuk mengetahui kunciblockIddan nilaisideyang tepat. - 4
Panggil create_deck dengan
title,descriptionopsional, danicon_emojibila agen harus memilih ikon yang sesuai dengan topiknya. - 5
Panggil create_card dengan
deckIddan opsionaltemplateId,front(blok utama), sertablock_textuntuk blok lain termasuk sisi belakang.
Detail teknis
Untuk pengaturan klien (Cursor, VS Code, Claude, dll.), lihat Menghubungkan ke MCP Deckbase • Untuk tautan lainnya, lihat Resources