content de blocs de contingut MCP. Les eines de text retornen { type: "text", text: "<json-string>" }. Les eines d’imatge retornen { type: "image", data: "<base64>", mimeType: "image/png" }. En cas d’error, es estableix isError: true i el bloc de text conté el missatge d’error.
Eines de fitxers
list-files
Llista els fitxers de Flowstep de l’usuari actual.
Entrada
Sortida — Matriu JSON d’objectes fitxer.
get-file
Obté un fitxer individual per ID. El contingut del fitxer s’omet intencionadament — utilitza get-screen o get-screen-image per inspeccionar pantalles, i get-design-guidelines per recuperar les directrius adjuntes.
Entrada
Sortida — Objecte fitxer JSON.
create-file
Crea un fitxer de Flowstep nou.
Entrada
Sortida — Objecte fitxer JSON amb l’
id del fitxer nou.
id retornat com a fileId en les crides posteriors de l’eina.
update-file
Reanomena un fitxer.
Entrada
Sortida — Objecte fitxer actualitzat amb la mateixa forma que
get-file.
delete-file
Suprimeix permanentment un fitxer. El name que passes es verifica contra el nom actual del fitxer abans de la supressió — si no coincideix, la supressió s’interromp. Això evita suprimir accidentalment el fitxer equivocat.
Entrada
Sortida —
"File deleted successfully"
Eines de pantalles
list-screens
Llista totes les pantalles generades per a un fitxer. Utilitza els valors de screenId retornats per referir-te a les pantalles en get-screen, get-screen-image, upload-attachment, i com a targets en edit-design, regenerate-design o expand-design.
Entrada
Sortida — Matriu JSON de resum de pantalles.
name és el nom de pantalla assignat per l’usuari, o null si sense nom.
get-screen
Obté el codi JSX per a una pantalla permetent-te editar o utilitzar el codi fora de Flowstep. Utilitza get-screen-image per a una vista prèvia visual.
Entrada
Sortida — La pantalla com a codi (JSX). Nota el comentari de la primera línia que és obligatori quan es fa servir l’eina
add-screen.
add-screen
Afegeix una nova pantalla a un fitxer de Flowstep a partir d’una cadena JSX bruta.
Entrada
Nota - Un comentari similar al següent HA D’estar present com a primera línia del JSX ja que s’utilitza per afegir la pantalla correctament.
screenType, name i screenId són tots opcionals — screenId s’utilitza (internament) si és present (per exemple, quan es passa JSX copiat de la sortida get-screen) però no és obligatori. El nom de la pantalla es pren del camp name del comentari (mostrat com a “Copy of <name>”), o “Untitled” si absència.
<!-- screenType: "iphone-x-vertical" width: "375" height: "812" name: "Change to a light theme" colorTheme: "blue" -->
Sortida — L’ID de la pantalla nouvinguda.
get-screen-image
Representa una pantalla a PNG i la retorna com a imatge en línia. Requereix un client que suporti blocs de contingut d’imatge.
Entrada
Sortida — Bloc de contingut d’imatge MCP (
image/png).
Eines d’IA
create-new-design
Genera una o més dissenys de pantalla a partir d’un prompt de text. Omet fileId per crear un fitxer nou automàticament. Es bloqueja fins que la generació es completa o expira (180 segons).
Entrada
Sortida —
{ fileId, screenIds }. Passa cada screenId a get-screen-image per veure els resultats.
regenerate-design
Refes pantalles existents des de zero o amb una variació d’estil. Requereix almenys un screenId a targets. Es bloqueja fins que la generació es completa o expira (180 segons).
Entrada
Sortida —
{ fileId, screenIds }. Passa cada screenId a get-screen-image per veure els resultats.
expand-design
Afegeix pantalles de continuació a un disseny existent. Requereix almenys un screenId a targets i un operationVariant obligatori. Es bloqueja fins que la generació es completa o expira (180 segons).
Entrada
Sortida —
{ fileId, screenIds }. Passa cada screenId a get-screen-image per veure els resultats.
edit-design
Modifica les pantalles existents a través d’un prompt. Requereix almenys un screenId a targets. Es bloqueja fins que la generació es completa o expira (180 segons).
Entrada
Sortida —
{ fileId, screenIds }. Passa cada screenId a get-screen-image per veure els resultats.
upload-attachment
Carrega un fitxer per utilitzar-lo com a adjunt en create-new-design o edit-design. Retorna { id, path, type, mimeType } — passa aquest objecte directament a la matriu attachments.
Dos modes:
Mode 1 — Pantalla per ID
Passa screenId i fileId. El servidor obté l’estat de la pantalla de la base de dades i la representa com a imatge.
Mode 2 — Fitxer extern
Passa el contingut del fitxer directament. Els fitxers binaris han de codificar-se en base64; els fitxers de text (inclòs codi font) es passen com a cadenes UTF-8 simples.
Mida màxima del fitxer: 3 MB. Per a imatges grans, prefereix
image/jpeg sobre image/png.
Sortida
type és "image" per a carregues d’imatge/PDF i "document" per a fitxers de text/codi.
Eines de xat
get-chat-history
Obté l’historial de missatges de xat per a un fitxer.
Entrada
Sortida — Objecte JSON amb una matriu
messages. Cada missatge té un type ("request" o "response"), author ("human" o "ai") i content_type ("text", "summary" o "followup").
Eines de disseny
get-design-guidelines
Obté les directrius de disseny emmagatzemades per a un fitxer.
Entrada
Sortida
guidelines és null si no s’han establert directrius.
update-design-guidelines
Estableix o reemplaça les directrius de disseny per a un fitxer. Les directrius es passen com a una cadena de text simple en el format design.md de Google — no passes un objecte o JSON.
El servidor realitza validació suau i pot retornar una secció Warnings: a la resposta que enumera problemes (claus desconegudes, colors no-hex) que es van acceptar però que el AI pot ignorar. Mostra-les a l’usuari.
Entrada
Regles de validació
- Frontmatter s’ha d’obrir i tancar correctament
- Les línies de frontmatter han de ser YAML vàlid d’estil de bloc
- El cos Markdown no ha de contenir encapçalaments de secció
##duplicats
"Design guidelines updated successfully", opcionalment seguit d’una secció Warnings:.
delete-design-guidelines
Esborra les directrius de disseny per a un fitxer.
Entrada
Sortida —
"Design guidelines deleted successfully"
Eines de Figma
import-figma
Importa un marc de Figma a un fitxer de Flowstep com a elements editables al seu llenç. Reimportar el mateix marc l’actualitza in situ. L’organització del fitxer ha de tenir Figma connectada a la configuració de Flowstep.
Entrada
Sortida —
{ fileId, screenId }. screenId és l’id de l’element de pantalla importat — passa-ho a get-screen-image per veure el resultat. Quan una URL de pàgina importa múltiples marcs, screenId és null i frameCount es retorna en lloc.