Serveur MCP

Deckbase MCP

Serveur Model Context Protocol pour Deckbase. Les outils IA (Cursor, Claude Code, VS Code, etc.) peuvent lire la documentation et gérer les decks et les cartes.

Points de terminaison

ModePoint de terminaisonAuthentification
Hébergé (HTTP)POST /api/mcpAuthorization: Bearer : clé API du tableau de bord ou jeton d'accès OAuth. Même chemin en production : /api/mcp.

OAuth (connexion via navigateur) est le moyen le plus rapide de se connecter : voir Connexion à Deckbase MCP. Des clés API du tableau de bord sont également disponibles pour les scripts et l'intégration continue. MCP est accessible aux abonnés Basic, Pro et VIP. Référence complète dans docs/public/MCP.md via read_doc.

Outils

Documentation
OutilDescriptionParamètres
list_docsListe les fichiers Markdown dans docs/public/.Aucun.
read_docLit une documentation par son chemin. Seuls les documents de docs/public/ sont servis.path : par ex. MCP.md ou deckbase://docs/public/MCP.md.
list_template_block_typesClés des types de blocs et identifiants numériques (text, media, interactive, layout). À utiliser avant create_template. Données statiques.Aucun.
list_block_schemasStructures JSON par type de bloc : blocksSnapshot, values, configJson. À combiner avec export_deck pour de vrais exemples.Aucun.
list_elevenlabs_voicesIdentifiants et libellés des voix ElevenLabs pour voice_id dans generate_audio_for_card. Catalogue sélectionné par Deckbase. Aucune lecture Firestore de l'utilisateur.language, gender, search optionnels.
list_ai_image_modelsIdentifiants des modèles d'images IA autorisés pour generate_image_for_card, avec libellés et coûts en crédits.Aucun.
Decks et cartes : nécessitent une authentification
OutilDescriptionParamètres
list_decksDecks de l'utilisateur (deckId, titre, description, defaultTemplateId optionnel, iconEmoji optionnel).Aucun.
create_deckCrée un deck. Renvoie deckId, icon_emoji / iconEmoji lorsqu'ils sont définis.title (requis), description (optionnel), icon_emoji ou iconEmoji optionnel (un seul emoji ; les clients IA doivent en choisir un qui correspond au titre, sauf si l'utilisateur s'y oppose).
update_deckMet à jour le titre, la description, le modèle par défaut ou l'icône du deck.deckId (requis) ; titre, description, default_template_id, icon_emoji ou iconEmoji optionnels (une chaîne vide efface l'icône).
list_templatesModèles (templateId, nom, description).Aucun.
get_template_schemaJSON exact de la mise en page : blockId, type, side ("front" | "back"), configJson, valuesExample, indices create_card.templateId ou deckId pour le modèle par défaut du deck.
create_cardNouvelle carte à partir d'un modèle. Renvoie cardId, templateId, usedDeckDefault. front remplit le bloc principal ; les clés block_text incluent les blocs du verso (side issu de get_template_schema).deckId requis. Optionnels : templateId, front, block_text, generate_audio, voice_id, audio_language, audio_gender.
create_cardsCréation en masse. 50 maximum par requête. En cas d'échec : created + failedAt.deckId, tableau cards (requis). Optionnels au niveau racine : templateId, voice_id, generate_audio.
update_cardModifie le contenu d'une carte.deckId, cardId ; values / blocks_snapshot optionnels, ou fusion de front / block_text.
delete_cardSuppression douce d'une carte (corbeille). Le serveur refuse si user_confirmed n'est pas true : à utiliser uniquement après un consentement humain explicite.deckId, cardId, user_confirmed (booléen requis).
delete_cardsSuppression douce en masse dans un deck. Même règle de consentement que delete_card. 50 maximum par requête.deckId, card_ids (tableau non vide), user_confirmed.
generate_audio_for_cardSynthèse vocale ElevenLabs pour une carte existante.deckId, cardId. Indiquez voice_id ou audio_language + audio_gender. Optionnels : text, block_id, replace_existing.
export_deckJSON du deck et de ses cartes. Inclut truncated, exportType. L'export complet inclut blocksSnapshot par carte avec side + values.deckId (requis) ; optionnels : max_cards (2000 par défaut, plafond 5000), export_type : full ou values_only.
create_templateNouveau modèle (mise en page de blocs). Renvoie templateId et les identifiants de blocs. Q+A par défaut si block_types est omis.name (requis) ; optionnels : description, block_types / blocks (side par bloc), voice_id, audio_language, audio_gender, mainBlockId / subBlockId.
update_templateMet à jour les métadonnées et/ou la mise en page. Incrémente version.templateId (requis) ; optionnels : nom, description, block_types / blocks, voice_id, audio_language + audio_gender, mainBlockId / subBlockId.
Les outils qui lisent vos données exigent un jeton OAuth valide ou une clé API. list_template_block_types et list_block_schemas renvoient des données statiques (aucune authentification requise). list_elevenlabs_voices ne lit pas Firestore. Les requêtes non authentifiées renvoient 401.

Ressources

Le serveur expose des ressources MCP pour les documents de docs/public/ :

resources/list

Une ressource par fichier .md dans docs/public/ (par ex. deckbase://docs/public/MCP.md).

resources/read

Récupère le contenu du document via cette URI.

Exemple : deck, modèle et carte

  1. 1

    Configurez votre client avec l'URL MCP et un jeton Bearer : Authorization: Bearer YOUR_API_KEY (ou un jeton d'accès OAuth depuis la page Connexion).

  2. 2

    Appelez list_templates. Si la liste est vide, utilisez d'abord list_template_block_types puis create_template.

  3. 3

    Appelez get_template_schema avec le templateId choisi pour connaître les clés blockId exactes et les valeurs side.

  4. 4

    Appelez create_deck avec un title, une description optionnelle et un icon_emoji lorsque l'agent doit choisir une icône adaptée au sujet.

  5. 5

    Appelez create_card avec deckId et, en option, templateId, front (bloc principal) et block_text pour les autres blocs, dont le verso.

Détails techniques

ProtocoleMCP 2024-11-05
Nom du serveurdeckbase-mcp
HébergéJSON-RPC 2.0 via POST. Utilisez un jeton d'accès OAuth ou une clé API du tableau de bord (Bearer), pas un jeton d'identifiant Firebase.
Forme des cartescreate_card copie la mise en page en blocs du modèle. Chaque bloc inclut le side du modèle ; les valeurs sont vides par défaut. Les données sont stockées dans Firestore et synchronisées avec le tableau de bord et l'application mobile.

Pour la configuration du client (Cursor, VS Code, Claude, etc.), voir Connexion à Deckbase MCP • Pour les autres liens, voir Ressources