MCP-server
Deckbase MCP
Model Context Protocol-server voor Deckbase. AI-tools (Cursor, Claude Code, VS Code, enz.) kunnen docs lezen en decks en kaarten beheren.
Eindpunten
| Modus | Eindpunt | Auth |
|---|---|---|
| Gehost (HTTP) | POST /api/mcp | Authorization: Bearer: dashboard-API-sleutel of OAuth-access token. Zelfde pad in productie: /api/mcp. |
OAuth (browserlogin) is de snelste manier om te verbinden: zie Verbinden met Deckbase MCP. Dashboard-API-sleutels zijn ook beschikbaar voor scripts en CI. MCP is beschikbaar voor Basic-, Pro- en VIP-abonnees. Volledige referentie in docs/public/MCP.md via read_doc.
Tools
| Tool | Beschrijving | Parameters |
|---|---|---|
| list_docs | Lijst van Markdown-bestanden in docs/public/. | Geen. |
| read_doc | Lees een doc op pad. Alleen docs in docs/public/ worden aangeboden. | path: bijv. MCP.md of deckbase://docs/public/MCP.md. |
| list_template_block_types | Bloktype-sleutels en numerieke ids (text, media, interactive, layout). Gebruik vóór create_template. Statische data. | Geen. |
| list_block_schemas | JSON-structuren per bloktype: blocksSnapshot, values, configJson. Combineer met export_deck voor echte voorbeelden. | Geen. |
| list_elevenlabs_voices | ElevenLabs voice-ids en labels voor voice_id bij generate_audio_for_card. Zorgvuldig samengestelde catalogus van Deckbase. Geen Firestore-leesbewerkingen voor gebruikers. | Optioneel language, gender, search. |
| list_ai_image_models | Toegestane AI-afbeeldingsmodel-ids voor generate_image_for_card met labels en creditkosten. | Geen. |
| Tool | Beschrijving | Parameters |
|---|---|---|
| list_decks | De decks van de gebruiker (deckId, titel, beschrijving, optioneel defaultTemplateId, optioneel iconEmoji). | Geen. |
| create_deck | Maak een deck. Geeft deckId terug, plus icon_emoji / iconEmoji als ingesteld. | title (vereist), description (optioneel), optioneel icon_emoji of iconEmoji (één emoji; AI-clients moeten er één kiezen die bij de titel past, tenzij de gebruiker dat uitschakelt). |
| update_deck | Werk titel, beschrijving, standaardtemplate of deckicoon bij. | deckId (vereist); optioneel title, description, default_template_id, icon_emoji of iconEmoji (lege string wist het icoon). |
| list_templates | Templates (templateId, naam, beschrijving). | Geen. |
| get_template_schema | Exacte JSON voor de layout: blockId, type, side ("front" | "back"), configJson, valuesExample, create_card-hints. | templateId of deckId voor de standaardtemplate van het deck. |
| create_card | Nieuwe kaart van een template. Geeft cardId, templateId en usedDeckDefault terug. front vult het hoofdblok; block_text-sleutels omvatten blokken op de achterkant (side uit get_template_schema). | deckId vereist. Optioneel templateId, front, block_text, generate_audio, voice_id, audio_language, audio_gender. |
| create_cards | Bulk aanmaken. Max. 50 per aanroep. Bij mislukking: created + failedAt. | deckId, cards-array (vereist). Optioneel op hoofdniveau templateId, voice_id, generate_audio. |
| update_card | Bewerk de inhoud van een kaart. | deckId, cardId; optioneel values / blocks_snapshot, of merge front / block_text. |
| delete_card | Soft-delete van één kaart (prullenbak). De server weigert tenzij user_confirmed true is: gebruik alleen na expliciete menselijke toestemming. | deckId, cardId, user_confirmed (vereiste boolean). |
| delete_cards | Bulk soft-delete in één deck. Zelfde toestemmingsregel als delete_card. Max. 50 per aanroep. | deckId, card_ids (array, niet leeg), user_confirmed. |
| generate_audio_for_card | ElevenLabs TTS voor een bestaande kaart. | deckId, cardId. Geef voice_id of audio_language + audio_gender door. Optioneel text, block_id, replace_existing. |
| export_deck | JSON van deck + kaarten. Bevat truncated en exportType. Volledige export bevat per kaart een blocksSnapshot met side + values. | deckId (vereist); optioneel max_cards (standaard 2000, maximum 5000), export_type: full of values_only. |
| create_template | Nieuwe template (bloklayout). Geeft templateId en blok-ids terug. Standaard Q+A als block_types wordt weggelaten. | name (vereist); optioneel description, block_types / blocks (per blok side), voice_id, audio_language, audio_gender, mainBlockId / subBlockId. |
| update_template | Werk metadata en/of layout bij. Verhoogt version. | templateId (vereist); optioneel name, description, block_types / blocks, voice_id, audio_language + audio_gender, mainBlockId / subBlockId. |
list_template_block_types en list_block_schemas geven statische data terug (geen auth nodig). list_elevenlabs_voices leest geen Firestore. Aanroepen zonder authenticatie geven 401 terug.Resources
De server biedt MCP-resources voor docs in docs/public/:
resources/listEén resource per .md-bestand in docs/public/ (bijv. deckbase://docs/public/MCP.md).
resources/readHaal doc-inhoud op via die URI.
Voorbeeld: deck, template en kaart
- 1
Configureer je client met de MCP-URL en een bearer token:
Authorization: Bearer YOUR_API_KEY(of een OAuth-access token van de Connect-pagina). - 2
Roep list_templates aan. Als het leeg is, gebruik dan eerst list_template_block_types en create_template.
- 3
Roep get_template_schema aan met de gekozen
templateIdom de exacteblockId-sleutels enside-waarden te leren. - 4
Roep create_deck aan met een
title, optioneledescriptionenicon_emojials de agent een passend icoon voor het onderwerp moet kiezen. - 5
Roep create_card aan met
deckIden optioneeltemplateId,front(hoofdblok) enblock_textvoor andere blokken, inclusief de achterkant.
Technische details
Voor het instellen van clients (Cursor, VS Code, Claude, enz.), zie Verbinden met Deckbase MCP • Voor andere links, zie Resources