Skip to main content
Tous les outils retournent un tableau content de blocs de contenu MCP. Les outils texte retournent { type: "text", text: "<json-string>" }. Les outils image retournent { type: "image", data: "<base64>", mimeType: "image/png" }. En cas d’échec, isError: true est défini et le bloc texte contient le message d’erreur.

Outils fichier

list-files

Lister les fichiers Flowstep de l’utilisateur actuel. Entrée Sortie — Tableau JSON d’objets fichier.

get-file

Obtenir un fichier unique par ID. Le contenu du fichier est intentionnellement omis — utilisez get-screen ou get-screen-image pour inspecter les écrans et get-design-guidelines pour récupérer les directives jointes. Entrée Sortie — Objet fichier JSON.

create-file

Créer un nouveau fichier Flowstep. Entrée Sortie — Objet fichier JSON avec l’id du nouveau fichier.
Utilisez l’id retourné comme fileId dans les appels d’outils ultérieurs.

update-file

Renommer un fichier. Entrée Sortie — Objet fichier mis à jour avec la même forme que get-file.

delete-file

Supprimer définitivement un fichier. Le name que vous transmettez est vérifié par rapport au nom réel du fichier avant la suppression — s’il ne correspond pas, la suppression est abandonnée. Cela empêche la suppression accidentelle du mauvais fichier. Entrée Sortie — "File deleted successfully"
C’est irréversible. Tous les écrans du fichier sont supprimés.

Outils écran

list-screens

Lister tous les écrans générés pour un fichier. Utilisez les valeurs screenId retournées pour référencer les écrans dans get-screen, get-screen-image et comme targets dans edit-design, regenerate-design ou expand-design. Entrée Sortie — Tableau JSON de résumés d’écran.
name est le nom d’écran assigné par l’utilisateur, ou null s’il n’est pas nommé.

get-screen

Obtenir le code JSX pour un écran permettant de modifier ou d’utiliser le code en dehors de Flowstep. Utilisez get-screen-image pour un aperçu visuel à la place. Entrée Sortie — L’écran en tant que code (JSX). Notez le commentaire de première ligne qui est requis lors de l’utilisation de l’outil add-screen.

add-screen

Ajoute un nouvel écran à un fichier Flowstep à partir d’une chaîne JSX brute. Entrée Note - Un commentaire similaire à celui ci-dessous DOIT être présent en tant que première ligne du JSX car il est utilisé pour ajouter l’écran correctement. screenType, name et screenId sont tous optionnels — screenId est utilisé (en interne) s’il est présent (par exemple lors de la transmission du JSX copié à partir de la sortie get-screen) mais n’est pas obligatoire. Le nom de l’écran est extrait du champ name du commentaire (affiché comme « Copy of <name> »), ou « Untitled » s’il est absent. <!-- screenType: "iphone-x-vertical" width: "375" height: "812" name: "Change to a light theme" colorTheme: "blue" --> Sortie — L’ID du nouvel écran ajouté.

get-screen-image

Rendre un écran à PNG et le retourner en tant qu’image en ligne. Nécessite un client qui prend en charge les blocs de contenu image. Entrée Sortie — Bloc de contenu image MCP (image/png).

Outils IA

regenerate-design, expand-design et edit-design nécessitent un contexte de conception qui n’est présent que sur les écrans générés à l’origine avec un tableau designs. Les écrans générés sans contexte de conception retourneront une erreur.

create-new-design

Générer un ou plusieurs designs d’écran à partir d’un prompt textuel. Omettez fileId pour créer automatiquement un nouveau fichier. Blocs jusqu’à ce que la génération se termine ou expire (180 secondes). Entrée Sortie — { fileId, screenIds, designGuidelinesUpdated }. Transmettez chaque screenId à get-screen-image pour afficher les résultats. designGuidelinesUpdated signale si les directives de conception du fichier ont été modifiées dans le cadre de cette génération.

regenerate-design

Refaire les écrans existants de zéro ou avec une variation de style. Nécessite au moins un screenId dans targets. Blocs jusqu’à ce que la génération se termine ou expire (180 secondes). Entrée Sortie — { fileId, screenIds, designGuidelinesUpdated }. Transmettez chaque screenId à get-screen-image pour afficher les résultats.

expand-design

Ajouter des écrans de suivi à un design existant. Nécessite au moins un screenId dans targets et un operationVariant obligatoire. Blocs jusqu’à ce que la génération se termine ou expire (180 secondes). Entrée Sortie — { fileId, screenIds, designGuidelinesUpdated }. Transmettez chaque screenId à get-screen-image pour afficher les résultats.

edit-design

Modifier les écrans existants via un prompt. Nécessite au moins un screenId dans targets. Blocs jusqu’à ce que la génération se termine ou expire (180 secondes). Entrée Sortie — { fileId, screenIds, designGuidelinesUpdated }. Transmettez chaque screenId à get-screen-image pour afficher les résultats.

upload-attachment

Télécharger un fichier à utiliser comme pièce jointe dans create-new-design ou edit-design (pas regenerate-design ou expand-design). Les octets du fichier ne passent jamais par le modèle, et le serveur ne récupère jamais les URL en votre nom. Il y a deux modes — utilisez exactement un seul, et ne les combinez pas. Mode A — fichiers et images (mimeType + fileName) Un flux en trois étapes requis pour tout fichier image, PDF ou texte plus volumineux :
  1. Appelez upload-attachment avec uniquement mimeType et fileName (par exemple image/png et dog.png). La réponse est un téléchargement préparé, pas un fichier stocké :
  2. Remplacez LOCAL_FILE_PATH dans uploadCommand par le chemin absolu de votre fichier et exécutez cette commande exacte dans votre shell — elle doit quitter 0. Le jeton dans signedUrl autorise uniquement ce seul téléchargement. Ignorer cette étape laisse le stockage vide et l’outil de conception échoue sa vérification préalable.
  3. Transmettez uniquement { id, path, type } dans le tableau attachments de l’outil de conception — pas signedUrl, uploadCommand ou nextStep.
Pour joindre un fichier distant, téléchargez-le d’abord dans un chemin local (par exemple avec curl), puis suivez les mêmes trois étapes. Ne transmettez jamais une URL à upload-attachment. Mode B — texte court (text + mimeType) Télécharger du texte déjà en contexte — aucune commande shell nécessaire. La réponse est prête à être utilisée directement :
Transmettez le { id, path, type } résultant dans le tableau attachments de create-new-design ou edit-design. La taille maximale du fichier est 3 Mo sur les deux modes, et les PDF sont limités à 100 pages. type est "image" pour les fichiers image et "document" pour les PDF et fichiers texte.

Outils de chat

get-chat-history

Obtenir l’historique des messages de chat pour un fichier. Entrée Sortie — Objet JSON avec un tableau messages. Chaque message a un type ("request" ou "response"), author ("human" ou "ai") et content_type ("text", "summary" ou "followup").

Outils de conception

get-design-guidelines

Obtenir les directives de conception stockées pour un fichier. Entrée Sortie
guidelines est null si aucune directive n’a été définie.

update-design-guidelines

Définir ou remplacer les directives de conception pour un fichier. Les directives sont transmises en tant que chaîne de texte brut au format design.md de Google — ne transmettez pas un objet ou JSON. Le serveur effectue une validation logicielle et peut retourner une section Warnings: dans la réponse listant les problèmes (clés inconnues, couleurs non-hex) qui ont été acceptés mais peuvent être ignorés par l’IA. Surfacez-les à l’utilisateur. Entrée Règles de validation
  • Le préambule doit être ouvert et fermé correctement
  • Les lignes du préambule doivent être du YAML valide de style bloc
  • Le corps Markdown ne doit pas contenir les rubriques en double ##
Sortie — "Design guidelines updated successfully", éventuellement suivie d’une section Warnings:.

delete-design-guidelines

Effacer les directives de conception pour un fichier. Entrée Sortie — "Design guidelines deleted successfully"

Outils Figma

import-figma

Importer une frame Figma dans un fichier Flowstep en tant qu’éléments modifiables sur son canevas. Ré-importer la même frame la met à jour sur place. L’organisation du fichier doit d’abord avoir Figma connecté dans les paramètres Flowstep. Entrée Sortie — { fileId, screenId }. screenId est l’id de l’élément d’écran importé — transmettez-le à get-screen-image pour afficher le résultat. Quand une URL de page importe plusieurs frames, screenId est null et frameCount est retourné à la place.

Outils de facturation

get-plan-details

Obtenir le forfait actuel de l’utilisateur, le statut de l’abonnement et le quota restant. Ne prend aucune entrée. Sortie
Les limites varient selon le forfait. Appelez cet outil avant un lot de générations pour vérifier le quota disponible.