Skip to main content
Tutti gli strumenti restituiscono un array 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 è intenzionalmente omesso — usa get-screen o get-screen-image per ispezionare le schermate, e get-design-guidelines per recuperare le linee guida allegate. Input Output — Oggetto file JSON.

create-file

Crea un nuovo file Flowstep. Input Output — Oggetto file JSON con l’id del nuovo file.
Usa l’id restituito come fileId nelle successive chiamate di strumento.

update-file

Rinomina un file. Input Output — Oggetto file aggiornato nella stessa forma di get-file.

delete-file

Elimina definitivamente un file. Il name che trasmetti 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"
Questo è irreversibile. Tutte le schermate nel file vengono eliminate.

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, e come targets in edit-design, regenerate-design o expand-design. Input Output — Array JSON di riepiloghi di schermate.
name è il nome della schermata assegnato dall’utente, o null se senza nome.

get-screen

Ottieni il codice JSX per una schermata consentendoti di modificarlo o usare il codice al di fuori di Flowstep. Usa get-screen-image per un’anteprima visiva invece. Input Output — La schermata come codice (JSX). Nota il commento della prima riga che è richiesto quando usi lo strumento add-screen.

add-screen

Aggiunge una nuova schermata a un file Flowstep da una stringa JSX non elaborata. Input Nota - Un commento simile a quello di seguito 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 esempio, quando si passa JSX copiato dall’output di get-screen), ma non è obbligatorio. Il nome della schermata è preso dal campo name del commento (visualizzato come “Copy of <name>”), o “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

Renderizza una schermata in PNG e restituiscila come un’immagine in linea. Richiede un client che supporta blocchi di contenuto di immagine. Input Output — Blocco di contenuto di immagine MCP (image/png).

rename-screen

Rinomina l’etichetta della tela di una schermata — il nome mostrato da list-screens e nell’editor. Questo cambia solo l’etichetta, non il layout, la dimensione o il contenuto della schermata — usa edit-design per quelli. Input Output — { screenId, name }.

Strumenti IA

regenerate-design, expand-design e edit-design richiedono il contesto di design che è presente solo sulle schermate originariamente generate con un array designs. Le schermate generate senza contesto di design restituiranno un errore.

create-new-design

Genera uno o più design di schermate da un prompt di testo. Ometti fileId per creare automaticamente un nuovo file. Blocca fino al completamento della generazione o al timeout (180 secondi). Input Output — { fileId, screenIds, designGuidelinesUpdated }. Passa ogni screenId a get-screen-image per visualizzare i risultati. designGuidelinesUpdated riporta se le linee guida di design del file sono state modificate come parte di questa generazione.

regenerate-design

Rifare schermate esistenti da zero o con una variazione di stile. Richiede almeno uno screenId in targets. Blocca fino al completamento della generazione o al timeout (180 secondi). Input Output — { fileId, screenIds, designGuidelinesUpdated }. Passa ogni screenId a get-screen-image per visualizzare i risultati.

expand-design

Aggiungi schermate di follow-on a un design esistente. Richiede almeno uno screenId in targets e un operationVariant obbligatorio. Blocca fino al completamento della generazione o al timeout (180 secondi). Input Output — { fileId, screenIds, designGuidelinesUpdated }. Passa ogni screenId a get-screen-image per visualizzare i risultati.

edit-design

Modifica schermate esistenti tramite un prompt. Richiede almeno uno screenId in targets. Blocca fino al completamento della generazione o al timeout (180 secondi). Input Output — { fileId, screenIds, designGuidelinesUpdated }. Passa ogni screenId a get-screen-image per visualizzare i risultati.

upload-attachment

Carica un file per usarlo come allegato in create-new-design o edit-design (non regenerate-design o expand-design). I byte del file non passano mai attraverso il modello, e il server non recupera mai gli URL per conto tuo. Ci sono due modalità — usa esattamente una, e non combinarle. Modalità A — file e immagini (mimeType + fileName) Un flusso richiesto in tre fasi per qualsiasi immagine, PDF o file di testo più grande:
  1. Chiama upload-attachment con mimeType e fileName solo (ad esempio image/png e dog.png). La risposta è un caricamento preparato, non un file memorizzato:
  2. Sostituisci LOCAL_FILE_PATH in uploadCommand con il percorso assoluto del tuo file ed esegui quel comando esatto nella tua shell — deve uscire 0. Il token in signedUrl autorizza solo questo singolo caricamento. Saltare questo passaggio lascia lo spazio di archiviazione vuoto e lo strumento di design non supera il controllo preliminare.
  3. Passa solo { id, path, type } nell’array attachments dello strumento di design — non signedUrl, uploadCommand o nextStep.
Per allegare un file remoto, scaricalo tu stesso in un percorso locale (ad esempio con curl), quindi segui gli stessi tre passaggi. Non passare mai un URL a upload-attachment. Modalità B — testo breve (text + mimeType) Carica testo che è già nel contesto — nessun comando di shell necessario. La risposta è pronta all’uso direttamente:
Passa il risultante { id, path, type } nell’array attachments di create-new-design o edit-design. La dimensione massima del file è 3 MB in entrambe le modalità, e i PDF sono limitati a 100 pagine. type è "image" per file di immagine e "document" per PDF e file di testo.

Strumenti di 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 di design

get-design-guidelines

Ottieni le linee guida di design archiviate per un file. Input Output
guidelines è null se nessuna linea guida è stata impostata.

update-design-guidelines

Imposta o sostituisci le linee guida di design per un file. Le linee guida vengono passate come una stringa di testo semplice nel formato design.md di Google — non passare un oggetto o JSON. Il server esegue la convalida morbida e può restituire una sezione Warnings: nella risposta che elenca i problemi (chiavi sconosciute, colori non esadecimali) che sono stati accettati ma potrebbero essere ignorati dall’IA. Presenta questi all’utente. Input Regole di convalida
  • Il frontmatter deve essere aperto e chiuso correttamente
  • Le righe del frontmatter devono essere YAML di stile blocco valido
  • Il corpo Markdown non deve contenere intestazioni di sezione ## duplicate
Output — "Design guidelines updated successfully", facoltativamente 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 Figma in un file Flowstep come elementi modificabili sulla sua canvas. Re-importare lo stesso frame lo aggiorna in posizione. L’organizzazione del file deve prima 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.

Strumenti di fatturazione

get-plan-details

Ottieni il piano dell’utente corrente, lo stato dell’abbonamento e la quota rimanente. Non accetta input. Output
I limiti variano in base al piano. Chiama questo strumento prima di un batch di generazioni per controllare la quota disponibile.