content di blocchi di contenuto MCP. Gli strumenti di testo restituiscono { type: "text", text: "<json-string>" }. Gli strumenti di immagine restituiscono { type: "image", data: "<base64>", mimeType: "image/png" }. In caso di errore, isError: true è impostato e il blocco di testo contiene il messaggio di errore.
Strumenti file
list-files
Elenca i file Flowstep per l’utente corrente.
Input
Output — Array JSON di oggetti file.
get-file
Ottieni un singolo file per ID. Il contenuto del file è volutamente omesso — usa get-screen o get-screen-image per ispezionare le schermate, e get-design-guidelines per recuperare le linee guida di design allegate.
Input
Output — Oggetto file JSON.
create-file
Crea un nuovo file Flowstep.
Input
Output — Oggetto file JSON con l’
id del nuovo file.
id restituito come fileId nelle successive chiamate agli strumenti.
update-file
Rinomina un file.
Input
Output — Oggetto file aggiornato nella stessa forma di
get-file.
delete-file
Elimina permanentemente un file. Il name che passi viene verificato rispetto al nome effettivo del file prima dell’eliminazione — se non corrisponde, l’eliminazione viene interrotta. Questo previene l’eliminazione accidentale del file sbagliato.
Input
Output —
"File deleted successfully"
Strumenti schermata
list-screens
Elenca tutte le schermate generate per un file. Usa i valori screenId restituiti per fare riferimento alle schermate in get-screen, get-screen-image, upload-attachment, e come targets in edit-design, regenerate-design, o expand-design.
Input
Output — Array JSON di riepiloghi schermata.
name è il nome della schermata assegnato dall’utente, oppure null se senza nome.
get-screen
Ottieni il codice JSX per una schermata per poterlo modificare o utilizzare al di fuori di Flowstep. Usa get-screen-image per un’anteprima visiva invece.
Input
Output — La schermata come codice (JSX). Nota il commento sulla prima riga che è obbligatorio quando si usa lo strumento
add-screen.
add-screen
Aggiungi una nuova schermata a un file Flowstep da una stringa JSX raw.
Input
Note - Un commento simile a quello sottostante DEVE essere presente come prima riga del JSX poiché viene utilizzato per aggiungere correttamente la schermata.
screenType, name, e screenId sono tutti facoltativi — screenId viene utilizzato (internamente) se presente (ad es. quando si passa JSX copiato dall’output di get-screen) ma non è obbligatorio. Il nome della schermata viene preso dal campo name del commento (visualizzato come “Copy of <name>”), oppure “Untitled” se assente.
<!-- screenType: "iphone-x-vertical" width: "375" height: "812" name: "Change to a light theme" colorTheme: "blue" -->
Output — L’ID della schermata appena aggiunta.
get-screen-image
Rendering di una schermata in PNG e restituzione come immagine inline. Richiede un client che supporti blocchi di contenuto immagine.
Input
Output — Blocco di contenuto immagine MCP (
image/png).
Strumenti AI
create-new-design
Genera uno o più design di schermata da un prompt di testo. Ometti fileId per creare automaticamente un nuovo file. Si blocca fino al completamento della generazione o al timeout (180 secondi).
Input
Output —
{ fileId, screenIds }. Passa ogni screenId a get-screen-image per visualizzare i risultati.
regenerate-design
Ripeti le schermate esistenti da zero o con una variazione di stile. Richiede almeno un screenId in targets. Si blocca fino al completamento della generazione o al timeout (180 secondi).
Input
Output —
{ fileId, screenIds }. Passa ogni screenId a get-screen-image per visualizzare i risultati.
expand-design
Aggiungi schermate successive a un design esistente. Richiede almeno un screenId in targets e un operationVariant obbligatorio. Si blocca fino al completamento della generazione o al timeout (180 secondi).
Input
Output —
{ fileId, screenIds }. Passa ogni screenId a get-screen-image per visualizzare i risultati.
edit-design
Modifica le schermate esistenti tramite un prompt. Richiede almeno un screenId in targets. Si blocca fino al completamento della generazione o al timeout (180 secondi).
Input
Output —
{ fileId, screenIds }. Passa ogni screenId a get-screen-image per visualizzare i risultati.
upload-attachment
Carica un file da usare come allegato in create-new-design o edit-design. Restituisce { id, path, type, mimeType } — passa questo oggetto direttamente nell’array attachments.
Due modalità:
Modalità 1 — Schermata per ID
Passa screenId e fileId. Il server recupera lo stato della schermata dal database e la esegue il rendering come immagine.
Modalità 2 — File esterno
Passa il contenuto del file direttamente. I file binari devono essere codificati in base64; i file di testo (incluso il codice sorgente) vengono passati come stringhe UTF-8 semplici.
Dimensione massima file: 3 MB. Per le immagini grandi, preferisci
image/jpeg a image/png.
Output
type è "image" per upload di immagini/PDF e "document" per file di testo/codice.
Strumenti chat
get-chat-history
Ottieni la cronologia dei messaggi di chat per un file.
Input
Output — Oggetto JSON con un array
messages. Ogni messaggio ha un type ("request" o "response"), author ("human" o "ai"), e content_type ("text", "summary", o "followup").
Strumenti design
get-design-guidelines
Ottieni le linee guida di design memorizzate per un file.
Input
Output
guidelines è null se non sono state impostate linee guida.
update-design-guidelines
Imposta o sostituisci le linee guida di design per un file. Le linee guida vengono passate come stringa di testo semplice nel formato design.md di Google — non passare un oggetto o JSON.
Il server esegue la convalida soft e può restituire una sezione Warnings: nella risposta che elenca i problemi (chiavi sconosciute, colori non-hex) che sono stati accettati ma potrebbero essere ignorati dall’IA. Presentali all’utente.
Input
Regole di convalida
- Il frontmatter deve essere aperto e chiuso correttamente
- Le righe frontmatter devono essere YAML valido in stile blocco
- Il corpo Markdown non deve contenere intestazioni
##duplicate
"Design guidelines updated successfully", opzionalmente seguito da una sezione Warnings:.
delete-design-guidelines
Cancella le linee guida di design per un file.
Input
Output —
"Design guidelines deleted successfully"
Strumenti Figma
import-figma
Importa un frame di Figma in un file di Flowstep come elementi modificabili sulla sua canvas. Reimportando lo stesso frame lo aggiorna sul posto. L’organizzazione del file deve avere Figma connesso nelle impostazioni di Flowstep.
Input
Output —
{ fileId, screenId }. screenId è l’id dell’elemento schermata importato — passalo a get-screen-image per visualizzare il risultato. Quando un URL di pagina importa più frame, screenId è null e frameCount viene restituito invece.