- Accueil
- Documentation
- Serveur MCP
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
| Mode | Point de terminaison | Authentification |
|---|---|---|
| Hébergé (HTTP) | POST /api/mcp | Authorization: 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
| Outil | Description | Paramètres |
|---|---|---|
| list_docs | Liste les fichiers Markdown dans docs/public/. | Aucun. |
| read_doc | Lit 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_types | Clés des types de blocs et identifiants numériques (text, media, interactive, layout). À utiliser avant create_template. Données statiques. | Aucun. |
| list_block_schemas | Structures JSON par type de bloc : blocksSnapshot, values, configJson. À combiner avec export_deck pour de vrais exemples. | Aucun. |
| list_elevenlabs_voices | Identifiants 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_models | Identifiants des modèles d'images IA autorisés pour generate_image_for_card, avec libellés et coûts en crédits. | Aucun. |
| Outil | Description | Paramètres |
|---|---|---|
| list_decks | Decks de l'utilisateur (deckId, titre, description, defaultTemplateId optionnel, iconEmoji optionnel). | Aucun. |
| create_deck | Cré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_deck | Met à 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_templates | Modèles (templateId, nom, description). | Aucun. |
| get_template_schema | JSON 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_card | Nouvelle 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_cards | Cré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_card | Modifie le contenu d'une carte. | deckId, cardId ; values / blocks_snapshot optionnels, ou fusion de front / block_text. |
| delete_card | Suppression 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_cards | Suppression 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_card | Synthèse vocale ElevenLabs pour une carte existante. | deckId, cardId. Indiquez voice_id ou audio_language + audio_gender. Optionnels : text, block_id, replace_existing. |
| export_deck | JSON 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_template | Nouveau 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_template | Met à 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. |
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/listUne ressource par fichier .md dans docs/public/ (par ex. deckbase://docs/public/MCP.md).
resources/readRécupère le contenu du document via cette URI.
Exemple : deck, modèle et carte
- 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
Appelez list_templates. Si la liste est vide, utilisez d'abord list_template_block_types puis create_template.
- 3
Appelez get_template_schema avec le
templateIdchoisi pour connaître les clésblockIdexactes et les valeursside. - 4
Appelez create_deck avec un
title, unedescriptionoptionnelle et unicon_emojilorsque l'agent doit choisir une icône adaptée au sujet. - 5
Appelez create_card avec
deckIdet, en option,templateId,front(bloc principal) etblock_textpour les autres blocs, dont le verso.
Détails techniques
Pour la configuration du client (Cursor, VS Code, Claude, etc.), voir Connexion à Deckbase MCP • Pour les autres liens, voir Ressources