Passer au contenu principal

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

OutilDescription
list_teamsListe 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

OutilDescription
create_projectCré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_projectsListe 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_projectRécupère les détails d’un projet et ses URLs pour un slug donné.
rename_projectRenomme un projet. Le slug et les URLs restent inchangés.
duplicate_projectCrée une copie complète d’un projet, y compris toutes les diapositives. Renvoie un nouveau projectSlug et un nouvel editorUrl.

Publication et domaines

OutilDescription
publish_projectPublie la dernière version d’un projet et le rend publiquement accessible. Renvoie l’publishedUrl.
unpublish_projectMet un projet publié hors ligne. Le projet et ses diapositives sont conservés.
get_project_urlRé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_urlChange le chemin d’un projet, bascule de sous-domaine ou le pointe vers un domaine personnalisé. Nécessite un plan payant.
create_custom_subdomainCrée un sous-domaine personnalisé sur lequel un projet peut être hébergé, puis connectez-le avec update_project_url.
create_custom_domainConnecte un domaine personnalisé et renvoie les enregistrements DNS à configurer. Connectez-le avec update_project_url une fois le DNS configuré.

Diapositives

OutilDescription
list_slidesListe toutes les diapositives d’un projet. Renvoie les IDs et les noms des diapositives.
get_slideLit les fichiers source d’une diapositive (face.tsx, face.content.json, face.controls.json).
create_slideCrée une nouvelle diapositive vide. Renvoie le nouveau slideId. Passez editing: true pour afficher immédiatement le dégradé de chargement.
update_slideMet à jour les fichiers source d’une diapositive. Valide et compile avant l’enregistrement, renvoie des erreurs si le code ne compile pas.
start_slide_editingAffiche le dégradé de chargement dans l’éditeur avant de faire des modifications.
finish_slide_editingEfface le dégradé de chargement après l’édition (appelez toujours cette commande, même en cas d’échec).
get_slide_guideRé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

  1. get_slide_guide : lire la référence de création (seulement la première fois)
  2. (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.
  3. create_project({ name, teamId? }) : renvoie le projectSlug et l’editorUrl
  4. Pour chaque diapositive :
    1. create_slide({ projectSlug, name, editing: true }) : renvoie le slideId
    2. update_slide({ projectSlug, slideId, files }) : écrit face.tsx, face.content.json, face.controls.json
    3. finish_slide_editing({ projectSlug, slideId }) : efface le dégradé de chargement
  5. Partagez l’editorUrl avec l’utilisateur.

Modifier une diapositive existante

  1. get_slide_guide : si vous ne l’avez pas encore lu
  2. start_slide_editing(slideId)
  3. get_slide(slideId) : lire les fichiers actuels
  4. update_slide(slideId, files)
  5. 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 ».