content-array af MCP-indholdsblokke. Tekstværktøjer returnerer { type: "text", text: "<json-string>" }. Billedværktøjer returnerer { type: "image", data: "<base64>", mimeType: "image/png" }. Hvis det mislykkes, sættes isError: true, og tekstblokken indeholder fejlmeddelelsen.
Filværktøjer
list-files
Oplist filer fra Flowstep for den aktuelle bruger.
Input
Output — JSON-array af filobjekter.
get-file
Få en enkelt fil efter ID. Filindhold er bevidst udeladt — brug get-screen eller get-screen-image for at inspicere skærme, og get-design-guidelines for at hente vedhæftede designretningslinjer.
Input
Output — JSON-filobjekt.
create-file
Opret en ny Flowstep-fil.
Input
Output — JSON-filobjekt med den nye fils
id.
id som fileId i efterfølgende værktøjskald.
update-file
Omdøb en fil.
Input
Output — Opdateret filobjekt i samme format som
get-file.
delete-file
Slet en fil permanent. Det name, du sender, bliver verificeret mod filens faktiske navn før sletning — hvis det ikke matcher, afbrydes sletningen. Dette forhindrer utilsigtet sletning af forkert fil.
Input
Output —
"File deleted successfully"
Skærmværktøjer
list-screens
Oplist alle genererede skærme for en fil. Brug de returnerede screenId-værdier til at referere til skærme i get-screen, get-screen-image, upload-attachment og som targets i edit-design, regenerate-design eller expand-design.
Input
Output — JSON-array af skærmsammenfattelser.
name er brugerens tildelte skærmnavn eller null, hvis ubenævnt.
get-screen
Få JSX-koden for en skærm, så du kan redigere eller bruge koden uden for Flowstep. Brug get-screen-image for at få en visuel forhåndsvisning i stedet.
Input
Output — Skærmen som kode (JSX). Bemærk den første linjekommentar, som er påkrævet ved brug af værktøjet
add-screen.
add-screen
Tilføj en ny skærm til en Flowstep-fil fra en rå JSX-streng.
Input
Note — En kommentar svarende til nedenstående SKAL være til stede som første linje af JSX’en, da den bruges til at tilføje skærmen korrekt.
screenType, name og screenId er alle valgfrie — screenId bruges (internt), hvis den er til stede (f.eks. når du indsætter JSX kopieret fra get-screen-output), men er ikke obligatorisk. Skærmnavnet kommer fra kommentarens name-felt (vises som “Copy of <name>”), eller “Untitled”, hvis det er udeladt.
<!-- screenType: "iphone-x-vertical" width: "375" height: "812" name: "Change to a light theme" colorTheme: "blue" -->
Output — Det nyligt tilføjede skærm-ID.
get-screen-image
Render en skærm som PNG og returner den som et integreret billede. Kræver en klient, der understøtter billedindholdsblokke.
Input
Output — MCP-billedindholdsblok (
image/png).
AI-værktøjer
create-new-design
Generer en eller flere skærmdesign ud fra en tekstprompt. Udelad fileId for at oprette en ny fil automatisk. Blokerer, indtil generering er fuldført eller timeout (180 sekunder).
Input
Output —
{ fileId, screenIds }. Send hver screenId til get-screen-image for at se resultaterne.
regenerate-design
Lav eksisterende skærme igen fra grunden eller med en stilvariation. Kræver mindst én screenId i targets. Blokerer, indtil generering er fuldført eller timeout (180 sekunder).
Input
Output —
{ fileId, screenIds }. Send hver screenId til get-screen-image for at se resultaterne.
expand-design
Tilføj opfølgende skærme til et eksisterende design. Kræver mindst én screenId i targets og en obligatorisk operationVariant. Blokerer, indtil generering er fuldført eller timeout (180 sekunder).
Input
Output —
{ fileId, screenIds }. Send hver screenId til get-screen-image for at se resultaterne.
edit-design
Modificer eksisterende skærme via en prompt. Kræver mindst én screenId i targets. Blokerer, indtil generering er fuldført eller timeout (180 sekunder).
Input
Output —
{ fileId, screenIds }. Send hver screenId til get-screen-image for at se resultaterne.
upload-attachment
Upload en fil, der skal bruges som vedhæftning i create-new-design eller edit-design. Returnerer { id, path, type, mimeType } — send dette objekt direkte til attachments-arrayet.
To tilstande:
Tilstand 1 — Skærm efter ID
Send screenId og fileId. Serveren henter skærmtilstanden fra databasen og renderer den som et billede.
Tilstand 2 — Ekstern fil
Send filindhold direkte. Binære filer skal være base64-kodet; tekstfiler (inklusiv kildekode) sendes som almindelige UTF-8-strenge.
Maksimal filstørrelse: 3 MB. For større billeder foretrækkes
image/jpeg frem for image/png.
Output
type er "image" for billede-/PDF-uploads og "document" for tekst-/kodefiler.
Chatværktøjer
get-chat-history
Få chatbeskedhistorikken for en fil.
Input
Output — JSON-objekt med et
messages-array. Hver besked har en type ("request" eller "response"), author ("human" eller "ai") og content_type ("text", "summary" eller "followup").
Designværktøjer
get-design-guidelines
Få designretningslinjer lagret for en fil.
Input
Output
guidelines er null, hvis der ikke er angivet retningslinjer.
update-design-guidelines
Indstil eller erstat designretningslinjer for en fil. Retningslinjer sendes som en almindelig tekststreng i Googles design.md-format — send ikke et objekt eller JSON.
Serveren udfører blød validering og kan returnere en Warnings:-sektion i svaret med en liste over problemer (ukendte nøgler, ikke-hex-farver), der blev accepteret, men kan ignoreres af AI’en. Vis disse for brugeren.
Input
Valideringsregler
- Frontmatter skal være åbnet og lukket korrekt
- Frontmatter-linjer skal være gyldig blok-stil YAML
- Markdown-indhold må ikke indeholde duplikerede
##-sektionsoverskrifter
"Design guidelines updated successfully", eventuelt efterfulgt af en Warnings:-sektion.
delete-design-guidelines
Ryd designretningslinjer for en fil.
Input
Output —
"Design guidelines deleted successfully"
Figma-værktøjer
import-figma
Importer en Figma-frame til en Flowstep-fil som redigerbare elementer på dens lærred. Genimportering af samme frame opdaterer den på plads. Filens organisation skal have Figma forbundet i Flowstep-indstillinger.
Input
Output —
{ fileId, screenId }. screenId er id’et på det importerede skærmelement — send det til get-screen-image for at se resultatet. Når et side-URL importerer flere frames, er screenId null og frameCount returneres i stedet.