Documentation Index
Fetch the complete documentation index at: https://docs.faces.app/llms.txt
Use this file to discover all available pages before exploring further.
Le server MCP (Model Context Protocol) de Faces permet aux assistants IA comme Claude de construire des présentations interactives et explorables diapositive par diapositive. Votre assistant écrit lui-même le code de chaque diapositive, sans utiliser de crédits.
Qu’est-ce que MCP ?
MCP est un protocole ouvert qui permet aux assistants IA de se connecter à des outils externes. Lorsque vous connectez Claude au server MCP de Faces, Claude peut :
- Créer un projet vide pour démarrer une nouvelle présentation (dans votre équipe personnelle ou n’importe quelle équipe à laquelle vous appartenez)
- Lister les équipes auxquelles vous appartenez pour que l’assistant puisse choisir la bonne
- Lister et parcourir vos projets existants (y compris les projets partagés en équipe)
- Lire et modifier des diapositives individuelles : inspecter les fichiers source des diapositives et en écrire de nouveaux. Fonctionne pour tout projet dont vous êtes le propriétaire, un membre de l’équipe (pour les projets partagés en équipe) ou un éditeur invité
Il n’y a pas d’outil côté server du type « générer une présentation complète » exposé via MCP. L’assistant lui-même crée chaque diapositive. Pour construire une nouvelle présentation, il crée un projet vide puis remplit les diapositives une par une.
Outils disponibles
Équipes
| Outil | Description |
|---|
list_teams | Liste les équipes auxquelles vous appartenez. Renvoie id, slug, name, role et isPersonal. Utilisez l’id de l’équipe lors de l’appel à create_project. |
Projets
| Outil | Description |
|---|
create_project | Crée un nouveau projet vide. Renvoie le projectSlug et l’editorUrl. Accepte un teamId optionnel. Omettez-le pour utiliser votre équipe personnelle, ou passez un id renvoyé par list_teams pour créer le projet sous une équipe spécifique. |
list_projects | Liste les projets auxquels vous avez accès (possédés, partagés en équipe, ou partagés avec vous) avec pagination (cursor, limit, published). |
get_project | Récupère les détails d’un projet et ses URLs pour un slug donné. |
rename_project | Renomme un projet. Le slug et les URLs restent inchangés. |
duplicate_project | Crée une copie complète d’un projet, y compris toutes les diapositives. Renvoie un nouveau projectSlug et un nouvel editorUrl. |
Publication et domaines
| Outil | Description |
|---|
publish_project | Publie la dernière version d’un projet et le rend publiquement accessible. Renvoie l’publishedUrl. |
unpublish_project | Met un projet publié hors ligne. Le projet et ses diapositives sont conservés. |
get_project_url | Récupère l’URL en direct actuelle d’un projet (sous-domaine ou domaine personnalisé plus chemin) ainsi que les sous-domaines et domaines disponibles vers lesquels basculer. |
update_project_url | Change le chemin d’un projet, bascule de sous-domaine ou le pointe vers un domaine personnalisé. Nécessite un plan payant. |
create_custom_subdomain | Crée un sous-domaine personnalisé sur lequel un projet peut être hébergé, puis connectez-le avec update_project_url. |
create_custom_domain | Connecte un domaine personnalisé et renvoie les enregistrements DNS à configurer. Connectez-le avec update_project_url une fois le DNS configuré. |
Diapositives
| Outil | Description |
|---|
list_slides | Liste toutes les diapositives d’un projet. Renvoie les IDs et les noms des diapositives. |
get_slide | Lit les fichiers source d’une diapositive (face.tsx, face.content.json, face.controls.json). |
create_slide | Crée une nouvelle diapositive vide. Renvoie le nouveau slideId. Passez editing: true pour afficher immédiatement le dégradé de chargement. |
update_slide | Met à jour les fichiers source d’une diapositive. Valide et compile avant l’enregistrement, renvoie des erreurs si le code ne compile pas. |
start_slide_editing | Affiche le dégradé de chargement dans l’éditeur avant de faire des modifications. |
finish_slide_editing | Efface le dégradé de chargement après l’édition (appelez toujours cette commande, même en cas d’échec). |
get_slide_guide | Récupère la référence complète de création de diapositive (formats de fichiers, types de blocs, contrôles, typographie, exemples). À appeler avant d’écrire du code de diapositive pour la première fois. |
Construire une nouvelle présentation
get_slide_guide : lire la référence de création (seulement la première fois)
- (Optionnel)
list_teams : si l’utilisateur peut souhaiter le projet dans une équipe spécifique, listez-les et demandez. Sinon, ignorez et l’équipe personnelle sera utilisée.
create_project({ name, teamId? }) : renvoie le projectSlug et l’editorUrl
- Pour chaque diapositive :
create_slide({ projectSlug, name, editing: true }) : renvoie le slideId
update_slide({ projectSlug, slideId, files }) : écrit face.tsx, face.content.json, face.controls.json
finish_slide_editing({ projectSlug, slideId }) : efface le dégradé de chargement
- Partagez l’
editorUrl avec l’utilisateur.
Modifier une diapositive existante
get_slide_guide : si vous ne l’avez pas encore lu
start_slide_editing(slideId)
get_slide(slideId) : lire les fichiers actuels
update_slide(slideId, files)
finish_slide_editing(slideId)
Authentification
Le server MCP utilise OAuth pour l’authentification. Lors de votre première connexion, vous serez invité à vous connecter à votre compte Faces via votre navigateur. Aucune gestion de clé API nécessaire, le flow OAuth gère tout automatiquement.
Comme MCP est authentifié par compte (et non par équipe), les nouveaux projets sont par défaut créés dans votre équipe personnelle, à moins que l’assistant ne passe un teamId explicite issu de list_teams. Cela diffère de l’API REST et du CLI, qui s’authentifient avec des clés API associées à une équipe et créent toujours les projets sous l’équipe de la clé. (Pour le CLI, l’équipe est choisie via faces login --team <slug-or-id> ; pour les clés API REST, dans Settings > Developers sur le tableau de bord.)
Contrôle d’accès
Les outils MCP respectent le même modèle de permissions que le reste de Faces :
- Propriétaire du projet : accès complet en lecture/écriture.
- Projets partagés en équipe : tout membre de l’équipe propriétaire peut lire et modifier.
- Collaborateurs invités : peuvent lire ; seuls les collaborateurs avec la permission d’édition peuvent mettre à jour les diapositives.
Si l’utilisateur connecté n’a pas accès à un projet, les outils MCP renvoient « Project not found or you don’t have access ».