content-matrise med MCP-innholdsblokker. Tekstverktøy returnerer { type: "text", text: "<json-string>" }. Bildeverktøy returnerer { type: "image", data: "<base64>", mimeType: "image/png" }. Ved feil settes isError: true og tekstblokken inneholder feilmeldingen.
Filverktøy
list-files
List Flowstep-filer for gjeldende bruker.
Inndata
| Parameter | Type | Standard | Beskrivelse |
|---|---|---|---|
orderByCreation | boolean | true | Sorter etter opprettelsesdato |
limit | integer (1–100) | 20 | Antall filer som skal returneres |
offset | integer (≥0) | 0 | Paginasjonsforskyvning |
get-file
Hent en enkelt fil etter ID. Filinnholdet er med vilje utelatt — bruk get-screen eller get-screen-image for å inspisere skjermer, og get-design-guidelines for å hente tilknyttede retningslinjer.
Inndata
| Parameter | Type | Beskrivelse |
|---|---|---|
id | uuid | Fil-ID |
create-file
Opprett en ny Flowstep-fil.
Inndata
| Parameter | Type | Beskrivelse |
|---|---|---|
title | string (min 1) | Filnavn |
id.
id-en som fileId i senere verktøykall.
update-file
Gi nytt navn til en fil.
Inndata
| Parameter | Type | Beskrivelse |
|---|---|---|
id | uuid | Fil-ID |
name | string (min 1) | Nytt navn |
get-file.
delete-file
Slett en fil permanent. name-verdien du oppgir valideres mot filens faktiske navn før sletting — hvis den ikke stemmer, avbrytes slettingen. Dette forhindrer utilsiktet sletting av feil fil.
Inndata
| Parameter | Type | Beskrivelse |
|---|---|---|
id | uuid | Fil-ID |
name | string | Gjeldende navn på filen — må stemme nøyaktig eller slettingen avbrytes |
"File deleted successfully"
Skjermverktøy
list-screens
List alle genererte skjermer for en fil. Bruk de returnerte screenId-verdiene for å referere til skjermer i get-screen, get-screen-image, upload-attachment, og som targets i edit-design, regenerate-design eller expand-design.
Inndata
| Parameter | Type | Beskrivelse |
|---|---|---|
fileId | uuid | Fil-ID |
name er det brukertildelte skjermnavnet, eller null hvis skjermen ikke er navngitt.
get-screen
Hent JSX-koden for en skjerm slik at du kan redigere eller bruke koden utenfor Flowstep. Bruk get-screen-image for en visuell forhåndsvisning i stedet.
Inndata
| Parameter | Type | Beskrivelse |
|---|---|---|
fileId | uuid | Fil-ID |
screenId | uuid | Den screenId som returneres av list-screens eller fra screenIds-matrisen som returneres av et designverktøy |
add-screen-verktøyet.
add-screen
Legger til en ny skjerm i en Flowstep-fil fra en rå JSX-streng.
Inndata
| Parameter | Type | Beskrivelse |
|---|---|---|
fileId | uuid | Fil-ID |
jsxContent | string | JSX som skal legges til filen som en skjerm |
screenType | string | Påkrevd hvis skjermtypen ikke er definert som en kommentar i starten av JSX-en |
screenType, name og screenId er alle valgfrie — screenId brukes (internt) hvis den er tilstede (f.eks. når du sender JSX kopiert fra get-screen-utdata) men er ikke obligatorisk. Skjermnavnet er hentet fra kommentarens name-felt (vises som «Copy of <name>»), eller «Untitled» hvis det mangler.
<!-- screenType: "iphone-x-vertical" width: "375" height: "812" name: "Change to a light theme" colorTheme: "blue" -->
Utdata — ID-en til den nylig tillagte skjermen.
get-screen-image
Gjengir en skjerm som PNG og returnerer den som et innebygd bilde. Krever en klient som støtter bildeinnholdsblokker.
Inndata
| Parameter | Type | Beskrivelse |
|---|---|---|
fileId | uuid | Fil-ID |
screenId | uuid | Den screenId som returneres av list-screens eller fra screenIds-matrisen som returneres av et designverktøy |
image/png).
AI-verktøy
create-new-design
Generer ett eller flere skjermdesigner fra en tekstprompt. Utelat fileId for å opprette en ny fil automatisk. Blokkerer til genereringen er ferdig eller tidsavbruddet (180 sekunder) oppstår.
Inndata
| Parameter | Type | Standard | Beskrivelse |
|---|---|---|---|
fileId | uuid | — | Målfil — utelat for å opprette en ny fil automatisk |
message | string | — | Prompt som beskriver skjermene som skal genereres |
attachments | AttachmentRequestData[] (maks 5) | [] | Forhåndslastede vedlegg — bilder, PDF-er eller kodefiler. Last alltid opp via upload-attachment først; ikke bygg inn filinnholdet i meldingen |
designs | DesignRequestData[] | [] | Designreferanser |
{ fileId, screenIds }. Gi hver screenId til get-screen-image for å se resultatene.
regenerate-design
Gjør eksisterende skjermer på nytt fra bunnen av eller med en stilvariant. Krever minst en screenId i targets. Blokkerer til genereringen er ferdig eller tidsavbruddet (180 sekunder) oppstår.
Inndata
| Parameter | Type | Standard | Beskrivelse |
|---|---|---|---|
fileId | uuid | — | Målfil |
message | string | — | Prompttekst |
targets | uuid[] (min 1) | — | screenIds for skjermer som skal genereres på nytt |
operationVariant | "different_layout" | "different_style" | "from_scratch" | — | Valgfri stilvariant |
designs | DesignRequestData[] | [] | Designreferanser (løses automatisk) |
{ fileId, screenIds }. Gi hver screenId til get-screen-image for å se resultatene.
expand-design
Legg til oppfølgingsskjermer til et eksisterende design. Krever minst en screenId i targets og en obligatorisk operationVariant. Blokkerer til genereringen er ferdig eller tidsavbruddet (180 sekunder) oppstår.
Inndata
| Parameter | Type | Standard | Beskrivelse |
|---|---|---|---|
fileId | uuid | — | Målfil |
message | string | — | Prompttekst |
targets | uuid[] (min 1) | — | screenIds for skjermer som skal utvides fra |
operationVariant | "next_screen" | "error_state" | "empty_state" | "web_version" | "mobile_version" | "tablet_version" | "mobile_ios_version" | "mobile_android_version" | — | Obligatorisk — type oppfølgingsskjerm som skal genereres |
designs | DesignRequestData[] | [] | Designreferanser (løses automatisk) |
{ fileId, screenIds }. Gi hver screenId til get-screen-image for å se resultatene.
edit-design
Endre eksisterende skjermer via en prompt. Krever minst en screenId i targets. Blokkerer til genereringen er ferdig eller tidsavbruddet (180 sekunder) oppstår.
Inndata
| Parameter | Type | Standard | Beskrivelse |
|---|---|---|---|
fileId | uuid | — | Målfil |
message | string | — | Instruksjoner som beskriver redigeringene som skal brukes |
targets | uuid[] (min 1) | — | screenIds for skjermer som skal redigeres |
operationVariant | "dark_theme" | "light_theme" | "make_pretty" | — | Valgfri stilsnarvei |
attachments | AttachmentRequestData[] (maks 5) | [] | Forhåndslastede vedlegg. Last alltid opp via upload-attachment først |
designs | DesignRequestData[] | [] | Designreferanser (løses automatisk) |
{ fileId, screenIds }. Gi hver screenId til get-screen-image for å se resultatene.
upload-attachment
Last opp en fil som skal brukes som vedlegg i create-new-design eller edit-design. Returnerer { id, path, type, mimeType } — gi dette objektet direkte inn i attachments-matrisen.
To modus:
Modus 1 — Skjerm etter ID
Gi screenId og fileId. Serveren henter skjermtilstanden fra databasen og gjengir den som et bilde.
| Parameter | Type | Beskrivelse |
|---|---|---|
fileId | uuid | Fil som inneholder skjermen (obligatorisk) |
screenId | uuid | Skjerm som skal gjengis |
| Parameter | Type | Beskrivelse |
|---|---|---|
fileData | string | Filinnhold — base64 for binær, UTF-8-streng for tekst |
fileName | string | Opprinnelig filnavn |
mimeType | "image/jpeg" | "image/png" | "image/webp" | "application/pdf" | "text/plain" | "text/javascript" | MIME-type. Bruk text/javascript for .jsx-, .tsx-, .js- og .ts-filer |
image/jpeg fremfor image/png.
Utdata
type er "image" for bilde-/PDF-opplastinger og "document" for tekst-/kodefiler.
Chatverktøy
get-chat-history
Hent meldingshistorikken for en fil.
Inndata
| Parameter | Type | Beskrivelse |
|---|---|---|
fileId | uuid | Fil-ID |
messages-matrise. Hver melding har en type ("request" eller "response"), author ("human" eller "ai"), og content_type ("text", "summary" eller "followup").
Designverktøy
get-design-guidelines
Hent designretningslinjene som er lagret for en fil.
Inndata
| Parameter | Type | Standard | Beskrivelse |
|---|---|---|---|
resourceId | uuid | — | Fil-ID |
linkedTo | "file" | "file" | Ressurstype |
guidelines er null hvis ingen retningslinjer er angitt.
update-design-guidelines
Angi eller erstatt designretningslinjene for en fil. Retningslinjer oppgis som en rein tekststreng i Googles design.md-format — ikke oppgi et objekt eller JSON.
Serveren utfører myk validering og kan returnere en Warnings:-seksjon i svaret som viser problemer (ukjente nøkler, ikke-heksadesimale farger) som ble akseptert, men som kan ignoreres av AI-en. Gjør disse synlige for brukeren.
Inndata
| Parameter | Type | Standard | Beskrivelse |
|---|---|---|---|
resourceId | uuid | — | Fil-ID |
designGuidelines | string (min 1) | — | Rå tekstinnhold i retningslinjene. Må være en ren streng — ikke JSON-kodet |
linkedTo | "file" | "file" | Ressurstype |
- Frontmatter må åpnes og lukkes riktig
- Frontmatter-linjer må være gyldig blokkstil-YAML
- Markdown-brødteksten må ikke inneholde dupliserte
##-seksjonshoder
"Design guidelines updated successfully", eventuelt etterfulgt av en Warnings:-seksjon.
delete-design-guidelines
Fjern designretningslinjene for en fil.
Inndata
| Parameter | Type | Standard | Beskrivelse |
|---|---|---|---|
resourceId | uuid | — | Fil-ID |
linkedTo | "file" | "file" | Ressurstype |
"Design guidelines deleted successfully"