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
Utdata — JSON-matrise med filobjekter.
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
Utdata — JSON-filobjekt.
create-file
Opprett en ny Flowstep-fil.
Inndata
Utdata — JSON-filobjekt med den nye filens
id.
id-en som fileId i senere verktøykall.
update-file
Gi nytt navn til en fil.
Inndata
Utdata — Oppdatert filobjekt i samme format som
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
Utdata —
"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
Utdata — JSON-matrise med skjermoppsummeringer.
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
Utdata — Skjermen som kode (JSX). Legg merke til kommentaren på første linje, som er påkrevd når du bruker
add-screen-verktøyet.
add-screen
Legger til en ny skjerm i en Flowstep-fil fra en rå JSX-streng.
Inndata
Merknad — En kommentar lignende den nedenfor MÅ være tilstede som første linje i JSX fordi den brukes til å legge til skjermen riktig.
screenType, name og screenId er alle valgfrie — screenId brukes (internt) hvis den er tilstede (for eksempel når du viderefører JSX kopiert fra get-screen-utdata) men er ikke obligatorisk. Skjermnavnet hentes fra kommentarens name-felt (vist som “Copy of <name>”), eller “Untitled” hvis fraværende.
<!-- screenType: "iphone-x-vertical" width: "375" height: "812" name: "Change to a light theme" colorTheme: "blue" -->
Utdata — Den nylig tillagte skjerm-ID-en.
get-screen-image
Gjengi en skjerm til PNG og returner den som et inline-bilde. Krever en klient som støtter innholdsblokker for bilder.
Inndata
Utdata — MCP-innholdsblokk for bilde (
image/png).
AI-verktøy
create-new-design
Generer en eller flere skjermdesign fra en tekstprompt. Utelat fileId for å opprette en ny fil automatisk. Blokkerer inntil genereringen er fullført eller tidsavbrudd oppstår (180 sekunder).
Inndata
Utdata —
{ fileId, screenIds }. Videoføring hver screenId til get-screen-image for å se resultatene.
regenerate-design
Gjøre eksisterende skjermer om igjen fra bunnen av eller med en stilvariant. Krever minst en screenId i targets. Blokkerer inntil genereringen er fullført eller tidsavbrudd oppstår (180 sekunder).
Inndata
Utdata —
{ fileId, screenIds }. Videoføring 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 inntil genereringen er fullført eller tidsavbrudd oppstår (180 sekunder).
Inndata
Utdata —
{ fileId, screenIds }. Videoføring hver screenId til get-screen-image for å se resultatene.
edit-design
Endre eksisterende skjermer via en prompt. Krever minst en screenId i targets. Blokkerer inntil genereringen er fullført eller tidsavbrudd oppstår (180 sekunder).
Inndata
Utdata —
{ fileId, screenIds }. Videoføring 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 } — send dette objektet direkte inn i attachments-matrisen.
To modus:
Modus 1 — Skjerm etter ID
Pass screenId og fileId. Serveren henter skjermtilstanden fra databasen og gjengivelsen som et bilde.
Modus 2 — Ekstern fil
Pass filinnholdet direkte. Binære filer må være base64-kodet; tekstfiler (inkludert kildekode) sendes som vanlige UTF-8-strenger.
Maksimal filstørrelse: 3 MB. For store bilder foretrekkes
image/jpeg fremfor image/png.
Utdata
type er "image" for bilde/PDF-opplastinger og "document" for tekst-/kodefiler.
Chat-verktøy
get-chat-history
Hent meldingshistorikken for en fil.
Inndata
Utdata — JSON-objekt med en
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
Utdata
guidelines er null hvis ingen retningslinjer har blitt angitt.
update-design-guidelines
Angi eller erstatt designretningslinjene for en fil. Retningslinjer sendes som en vanlig tekststreng i Googles design.md-format — ikke send et objekt eller JSON.
Serveren utfører mykt validering og kan returnere en Warnings:-seksjon i svaret som viser problemer (ukjente nøkler, ikke-heksdesimalfarger) som ble akseptert men kan bli ignorert av AI. Vis disse til brukeren.
Inndata
Valideringsregler
- Frontmatter må åpnes og lukkes riktig
- Frontmatter-linjer må være gyldig blokk-stil YAML
- Markdown-kroppen må ikke inneholde duplikat
##-seksjonstitler
"Design guidelines updated successfully", eventuelt fulgt av en Warnings:-seksjon.
delete-design-guidelines
Fjern designretningslinjene for en fil.
Inndata
Utdata —
"Design guidelines deleted successfully"
Figma-verktøy
import-figma
Importer en Figma-ramme inn i en Flowstep-fil som redigerbare elementer på lerretet. Reimportering av samme ramme oppdaterer den på stedet. Filorganisasjonen må ha Figma koblet i Flowstep-innstillinger.
Inndata
Utdata —
{ fileId, screenId }. screenId er ID-en for det importerte skjermelementet — send det til get-screen-image for å se resultatet. Når en siden-URL importerer flere rammer, er screenId null og frameCount returneres i stedet.