Serveur MCP

Aperçu

Creator embarque un serveur MCP (Model Context Protocol) intégré. Tout assistant IA compatible MCP — Claude sur claude.ai, Claude Code, MCP Inspector — peut se connecter à votre compte Creator et, depuis un chat, faire tout ce que fait l'éditeur :

  • Parcourir votre espace de travail et vos organisations
  • Créer des dossiers, cours, microlearnings et banques de questions
  • Ajouter, modifier, déplacer et supprimer des leçons et les 44 types de Bricks avec leur configuration complète
  • Configurer le thème du contenu (couleurs, polices, couverture, CSS personnalisé)
  • Exporter en SCORM, web ou PDF, publier des liens de partage, gérer les instantanés, dupliquer et traduire

L'authentification utilise OAuth via votre compte SLXD : l'assistant ne voit jamais votre mot de passe et vous pouvez révoquer l'accès à tout moment. Tout ce que fait l'assistant est limité à ce que votre utilisateur peut faire — l'appartenance à l'organisation et les rôles sont appliqués à chaque appel.

Connexion

Le point de terminaison MCP est l'URL de connecteur de votre organisation :

https://<votre-organisation>.slxd.app/mcp/creator

Inutile de la composer à la main : la plateforme SLXD l'affiche sous Organisation > Connecteurs, à côté des connecteurs des autres produits de la suite.

claude.ai

  1. Allez dans Paramètres > Connecteurs > Ajouter un connecteur personnalisé
  2. Collez l'URL du point de terminaison
  3. Terminez la connexion et autorisez l'accès

Claude Code

claude mcp add --transport http creator https://<votre-organisation>.slxd.app/mcp/creator

Le premier appel ouvre le navigateur pour se connecter et autoriser l'accès.

Les clients s'enregistrent automatiquement (enregistrement dynamique de client OAuth) — il n'y a rien à configurer côté serveur.

Fonctionnement des outils

Le serveur expose un ensemble sélectionné d'outils de premier niveau (navigation dans l'espace de travail, CRUD contenu/leçon, Bricks, thème, export, téléversement de fichiers, duplication d'un contenu) ainsi que trois méta-outils qui débloquent le catalogue complet.

browse_workspace répond à trois besoins : parcourir un niveau de dossier, rechercher dans toute la portée par titre/nom avec query, ou cartographier l'arborescence complète des dossiers en un seul appel avec recursive: true (chaque dossier avec son parentId). Pour cloner un contenu — leçons, Bricks et ressources — comme modèle, utilisez duplicate_content (premier niveau) ; duplicate_lesson fait de même pour une seule leçon.

Au-delà de la création de contenu, le catalogue couvre aussi : le cycle de vie complet de la corbeille pour les dossiers (restore_folder, delete_folder_permanently) et les opérations en lot sur les contenus (batch_move_contents, batch_trash_contents) ; le déplacement d'un contenu entre organisations (update_content avec targetOrganizationId) ; la gestion des versions (rename_snapshot, delete_snapshot) ; la recherche dans les bibliothèques de ressources sous licence et l'importation d'une ressource dans un contenu (search_stock_images/import_stock_image, search_stock_icons/import_stock_icon) ; ainsi que l'audit et la correction des problèmes d'accessibilité (voir ci-dessous). Les médias que le modèle génère lui-même sont téléversés avec request_asset_upload.

Méta-outilObjectif
find_toolsRechercher dans tout le catalogue par mot-clé (publication, instantanés, traduction, modèles, corbeille…)
tool_schemaObtenir le schéma d'entrée de n'importe quel outil du catalogue
run_toolExécuter un outil du catalogue par son nom

Pour les Bricks, list_brick_types liste chaque type regroupé par catégorie (texte, médias, collections, questions, jeux) avec une indication « quand l'utiliser » pour choisir celui qui convient à un objectif pédagogique, et get_brick_type_schema renvoie la forme exacte de rédaction (avec un exemple) pour chacun — le texte enrichi est rédigé en HTML simple.

Choisir le bon Brick

Pour aider l'assistant à choisir le Brick le plus approprié, list_brick_types porte une indication « quand l'utiliser » par type, et la ressource creator://guides/brick-selection est un guide de sélection complet (intention → Bricks recommandés). Les deux sont générés à partir de la même source, donc ils ne divergent jamais, et les deux fonctionnent dans n'importe quel client MCP.

Téléverser des fichiers

Le contenu Creator utilise des fichiers — images, vidéo, audio, sous-titres, pièces jointes téléchargeables, polices personnalisées, packages d'intégration — et le MCP peut les téléverser. Le binaire ne transite jamais par le MCP (pas de base64) : l'outil génère une URL de téléversement présignée à courte durée de vie et le client envoie le fichier directement au stockage, hors bande.

Le flux pour une ressource de Brick :

  1. Appelez request_asset_upload avec le contentId cible, le kind (image | video | audio | subtitle | attachment | font) et le contentType du fichier (par exemple image/png). Chaque type dispose d'une liste MIME autorisée, donc un type incohérent est rejeté d'emblée.
  2. L'outil renvoie { uploadUrl, path, curlCommand, expiresAt }. Téléversez le fichier — exécutez la curlCommand renvoyée (en remplaçant <local-file> par le chemin réel) ou faites un PUT des octets vers uploadUrl avec le Content-Type exact. L'URL expire au bout de 15 minutes.
  3. Placez le path renvoyé dans le champ média du Brick via add_brick / update_brick (imagePath, videoPath, audioPath, filePath, posterPath, subtitlesPath, front*/back*/…), ou dans le thème via update_theme (image de couverture, logo, polices woff2 personnalisées).

list_content_assets renvoie les fichiers déjà téléversés pour un contenu, afin qu'une ressource existante puisse être réutilisée plutôt que téléversée à nouveau.

Les Bricks d'intégration (un package autonome index.html + ressources) utilisent request_embed_upload : téléversez chaque fichier du package sous le même folderId, puis définissez le embedFolderPrefix renvoyé sur le Brick EMBED. Ces fichiers atterrissent dans le bucket privé embeds avec leur Content-Type fixé, et sont servis aux spectateurs via des URL éphémères propres à chaque dossier — jamais depuis un domaine public.

Les imports suivent le même schéma présigné :

  • Articulate Rise — start_rise_import (téléverser le .zip) → confirm_rise_import → interroger get_rise_import jusqu'à completed pour lire le contentId créé.

L'import de documents pour l'ingénierie pédagogique n'est intentionnellement pas exposé via MCP : son étape d'analyse dépend d'une extraction côté navigateur dans l'application, donc le flux ne peut pas se terminer en mode headless — faites-le dans l'éditeur d'ingénierie pédagogique de l'application.

Tous les outils de téléversement autorisent le contenu cible (portée + appartenance à l'organisation) avant de signer, et le serveur construit la clé de stockage — un client ne fournit jamais de chemin brut.

Accessibilité

Le même vérificateur WCAG 2.2 qui alimente le vérificateur d'accessibilité de l'éditeur est exposé via MCP, afin qu'un assistant puisse examiner et corriger un cours de bout en bout :

  1. audit_content_accessibility — comptes d'erreurs/avertissements par leçon sur un contenu. Commencez ici pour une vue d'ensemble du cours.
  2. audit_lesson_accessibility — tous les problèmes d'une leçon : la règle, le critère WCAG, le Brick concerné, une raison et un texte de remédiation (dans la langue du contenu), et — lorsqu'une correction sûre existe — un descripteur autofixes.
  3. apply_accessibility_autofix — applique l'un de ces descripteurs (marquer une image comme décorative, corriger un niveau de titre, activer un en-tête de tableau, …) au Brick/élément exact. Une seule étape d'annulation ; les changements atteignent un éditeur ouvert en temps réel, comme update_brick.
  4. generate_accessibility_alt_text — pour les images sans correction déterministe sûre, envoie l'image au modèle de vision IA configuré et renvoie un texte alternatif suggéré. Cela n'écrit rien — appliquez le résultat avec apply_accessibility_autofix (kind: "set-property", ou "set-item-property"/"set-character-property" pour les images de galerie/dialogue). Consomme des Crédits de l'organisation, comme les autres outils IA.

Un flux typique : appelez audit_content_accessibility, choisissez une leçon avec des problèmes, appelez audit_lesson_accessibility dessus, appliquez les corrections déterministes, générez et appliquez le texte alternatif pour le reste, puis relancez l'audit de la leçon pour confirmer qu'elle est propre.

Collaboration en temps réel

Les modifications de Bricks effectuées via MCP sont fusionnées via le serveur de collaboration : si quelqu'un a la leçon ouverte dans l'éditeur, il voit les changements de l'assistant apparaître en temps réel, et le travail de personne n'est écrasé.

Actions destructrices

Supprimer du contenu, des leçons ou des Bricks, réinitialiser des thèmes, restaurer des instantanés et vider la corbeille exigent tous un confirm: true explicite. Sans cela, l'outil répond par un aperçu de ce qui se passerait afin que l'assistant puisse d'abord vous demander confirmation.

Notes d'exploitation

  • Le serveur d'autorisation OAuth fait partie de l'application (plugin mcp de Better Auth) ; les jetons vivent dans les tables oauth_* et expirent au bout d'1 heure (jetons de rafraîchissement : 7 jours).
  • Le point de terminaison est limité en débit par utilisateur (120 requêtes/minute).
  • Lorsque la facturation est activée, l'accès MCP est conditionné par la fonctionnalité apiAccess du plan, exactement comme les clés API.
Serveur MCP