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

ModusEindpuntAuth
Gehost (HTTP)POST /api/mcpAuthorization: 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

Documentatie
ToolBeschrijvingParameters
list_docsLijst van Markdown-bestanden in docs/public/.Geen.
read_docLees een doc op pad. Alleen docs in docs/public/ worden aangeboden.path: bijv. MCP.md of deckbase://docs/public/MCP.md.
list_template_block_typesBloktype-sleutels en numerieke ids (text, media, interactive, layout). Gebruik vóór create_template. Statische data.Geen.
list_block_schemasJSON-structuren per bloktype: blocksSnapshot, values, configJson. Combineer met export_deck voor echte voorbeelden.Geen.
list_elevenlabs_voicesElevenLabs 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_modelsToegestane AI-afbeeldingsmodel-ids voor generate_image_for_card met labels en creditkosten.Geen.
Decks & kaarten: authenticatie vereist
ToolBeschrijvingParameters
list_decksDe decks van de gebruiker (deckId, titel, beschrijving, optioneel defaultTemplateId, optioneel iconEmoji).Geen.
create_deckMaak 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_deckWerk titel, beschrijving, standaardtemplate of deckicoon bij.deckId (vereist); optioneel title, description, default_template_id, icon_emoji of iconEmoji (lege string wist het icoon).
list_templatesTemplates (templateId, naam, beschrijving).Geen.
get_template_schemaExacte JSON voor de layout: blockId, type, side ("front" | "back"), configJson, valuesExample, create_card-hints.templateId of deckId voor de standaardtemplate van het deck.
create_cardNieuwe 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_cardsBulk aanmaken. Max. 50 per aanroep. Bij mislukking: created + failedAt.deckId, cards-array (vereist). Optioneel op hoofdniveau templateId, voice_id, generate_audio.
update_cardBewerk de inhoud van een kaart.deckId, cardId; optioneel values / blocks_snapshot, of merge front / block_text.
delete_cardSoft-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_cardsBulk 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_cardElevenLabs TTS voor een bestaande kaart.deckId, cardId. Geef voice_id of audio_language + audio_gender door. Optioneel text, block_id, replace_existing.
export_deckJSON 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_templateNieuwe 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_templateWerk metadata en/of layout bij. Verhoogt version.templateId (vereist); optioneel name, description, block_types / blocks, voice_id, audio_language + audio_gender, mainBlockId / subBlockId.
Tools die je gegevens lezen vereisen een geldig OAuth-token of API-sleutel. 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/list

Eén resource per .md-bestand in docs/public/ (bijv. deckbase://docs/public/MCP.md).

resources/read

Haal doc-inhoud op via die URI.

Voorbeeld: deck, template en kaart

  1. 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. 2

    Roep list_templates aan. Als het leeg is, gebruik dan eerst list_template_block_types en create_template.

  3. 3

    Roep get_template_schema aan met de gekozen templateId om de exacte blockId-sleutels en side-waarden te leren.

  4. 4

    Roep create_deck aan met een title, optionele description en icon_emoji als de agent een passend icoon voor het onderwerp moet kiezen.

  5. 5

    Roep create_card aan met deckId en optioneel templateId, front (hoofdblok) en block_text voor andere blokken, inclusief de achterkant.

Technische details

ProtocolMCP 2024-11-05
Servernaamdeckbase-mcp
GehostJSON-RPC 2.0 via POST. Gebruik een OAuth-access token of dashboard-API-sleutel (Bearer), geen Firebase-ID-token.
Kaartvormcreate_card kopieert de bloklayout van de template. Elk blok bevat side uit de template; standaard lege waarden. Data wordt opgeslagen in Firestore en gesynchroniseerd met dashboard en mobiele app.

Voor het instellen van clients (Cursor, VS Code, Claude, enz.), zie Verbinden met Deckbase MCP • Voor andere links, zie Resources