content-matris med MCP-innehållsblock. Textverktyg returnerar { type: "text", text: "<json-string>" }. Bildverktyg returnerar { type: "image", data: "<base64>", mimeType: "image/png" }. Vid fel ställs isError: true in och textblocket innehåller felmeddelandet.
Filverktyg
list-files
Visa Flowstep-filer för den aktuella användaren.
Input
Utdata — JSON-matris med filobjekt.
get-file
Hämta en enstaka fil med ID. Filinnehållet är avsiktligt utelämnat — använd get-screen eller get-screen-image för att inspektera skärmar och get-design-guidelines för att hämta bifogade riktlinjer.
Input
Utdata — JSON-filobjekt.
create-file
Skapa en ny Flowstep-fil.
Input
Utdata — JSON-filobjekt med den nya filens
id.
id-värdet som fileId i senare verktygsanrop.
update-file
Byt namn på en fil.
Input
Utdata — Uppdaterat filobjekt i samma format som
get-file.
delete-file
Radera en fil permanent. Det name-värde du överför verifieras mot filens faktiska namn innan borttagning — om det inte matchar avbryts borttagningen. Detta förhindrar oavsiktlig borttagning av fel fil.
Input
Utdata —
"File deleted successfully"
Skärmverktyg
list-screens
Visa alla genererade skärmar för en fil. Använd de returnerade screenId-värdena för att referera till skärmar i get-screen, get-screen-image, upload-attachment och som targets i edit-design, regenerate-design eller expand-design.
Input
Utdata — JSON-matris med skärmsammanfattningar.
name är det användardefinierade skärmnamnet, eller null om skärmen inte har ett namn.
get-screen
Hämta JSX-koden för en skärm så att du kan redigera eller använda koden utanför Flowstep. Använd get-screen-image för en visuell förhandsgranskning istället.
Input
Utdata — Skärmen som kod (JSX). Notera den första radkommentaren som krävs när du använder verktyget
add-screen.
add-screen
Lägg till en ny skärm till en Flowstep-fil från en raw JSX-sträng.
Input
Notering - En kommentar liknande den nedan MÅSTE finnas som den första raden i JSX:en eftersom den används för att lägga till skärmen korrekt.
screenType, name och screenId är alla valfria — screenId används (internt) om den finns (t.ex. när JSX som kopierats från get-screen-utdata överförs) men är inte obligatorisk. Skärmnamnet hämtas från kommentarens name-fält (visas som “Copy of <name>”), eller “Untitled” om det saknas.
<!-- screenType: "iphone-x-vertical" width: "375" height: "812" name: "Change to a light theme" colorTheme: "blue" -->
Utdata — Det nyligen tillagda skärm-Id:t.
get-screen-image
Rendera en skärm till PNG och returnera den som en infogad bild. Kräver en klient som stöder bildinnehållsblock.
Input
Utdata — MCP-bildinnehållsblock (
image/png).
AI-verktyg
create-new-design
Generera en eller flera skärmdesigner från en textprompt. Utelämna fileId för att skapa en ny fil automatiskt. Blockeras tills genereringen är färdig eller når timeout (180 sekunder).
Input
Utdata —
{ fileId, screenIds }. Överför varje screenId till get-screen-image för att visa resultat.
regenerate-design
Gör om befintliga skärmar från början eller med en stilvariation. Kräver minst ett screenId i targets. Blockeras tills genereringen är färdig eller når timeout (180 sekunder).
Input
Utdata —
{ fileId, screenIds }. Överför varje screenId till get-screen-image för att visa resultat.
expand-design
Lägg till uppföljningsskärmar till en befintlig design. Kräver minst ett screenId i targets och en obligatorisk operationVariant. Blockeras tills genereringen är färdig eller når timeout (180 sekunder).
Input
Utdata —
{ fileId, screenIds }. Överför varje screenId till get-screen-image för att visa resultat.
edit-design
Ändra befintliga skärmar via en prompt. Kräver minst ett screenId i targets. Blockeras tills genereringen är färdig eller når timeout (180 sekunder).
Input
Utdata —
{ fileId, screenIds }. Överför varje screenId till get-screen-image för att visa resultat.
upload-attachment
Ladda upp en fil som ska användas som bilaga i create-new-design eller edit-design. Returnerar { id, path, type, mimeType } — överför detta objekt direkt till attachments-matrisen.
Två lägen:
Läge 1 — Skärm efter ID
Överför screenId och fileId. Servern hämtar skärmtillståndet från databasen och renderar det som en bild.
Läge 2 — Extern fil
Överför filinnehål direkt. Binära filer måste vara base64-kodade; textfiler (inklusive källkod) överförs som vanliga UTF-8-strängar.
Största filstorlek: 3 MB. För stora bilder föredrar du
image/jpeg framför image/png.
Utdata
type är "image" för bild/PDF-uppladdningar och "document" för text/kodfiler.
Chattverktyg
get-chat-history
Hämta meddelandehistoriken för en fil.
Input
Utdata — JSON-objekt med en
messages-matris. Varje meddelande har en type ("request" eller "response"), author ("human" eller "ai") och content_type ("text", "summary" eller "followup").
Designverktyg
get-design-guidelines
Hämta designriktlinjerna som lagrats för en fil.
Input
Utdata
guidelines är null om inga riktlinjer har angetts.
update-design-guidelines
Ange eller ersätt designriktlinjerna för en fil. Riktlinjer överförs som en vanlig textsträng i Google:s design.md-format — överför inte ett objekt eller JSON.
Servern utför mjuk validering och kan returnera en Warnings:-sektion i svaret som visar problem (okända nycklar, icke-hex-färger) som accepterades men som kan ignoreras av AI:n. Presentera dessa för användaren.
Input
Valideringsregler
- Frontmatter måste öppnas och stängas korrekt
- Frontmatter-rader måste vara giltigt block-stil YAML
- Markdown-brödtexten får inte innehålla dubblerade
##-avsnittsrubriker
"Design guidelines updated successfully", eventuellt följt av en Warnings:-sektion.
delete-design-guidelines
Rensa designriktlinjerna för en fil.
Input
Utdata —
"Design guidelines deleted successfully"
Figma-verktyg
import-figma
Importera en Figma-ram till en Flowstep-fil som redigerbara element på arbetsytan. Omimportering av samma ram uppdaterar den på plats. Organisationen måste ha Figma anslutet i Flowstep-inställningarna.
Input
Utdata —
{ fileId, screenId }. screenId är ID:t för det importerade skärmelementet — överför det till get-screen-image för att se resultatet. När en sid-URL importerar flera ramar är screenId null och frameCount returneras istället.