get-screen-image resultatet to ganger: som structuredContent (validert mot verktøyets publiserte utdataskjema) og som det samme objektet serialisert i en tekstblokk, { type: "text", text: "<json-string>" }, for klienter som ikke leser strukturert innhold. get-screen-image returnerer bare en MCP-bildeblokk: { type: "image", data: "<base64>", mimeType: "image/png" }.
Ved feil er isError: true satt, og tekstblokken inneholder en kort feilmelding. Feil du kan gjøre noe med, for eksempel en navnefeil ved sletting, en ugyldig Figma-lenke, ugyldige designretningslinjer, et problem med et vedlegg eller en tidsavbrudd ved generering, forklarer hva du må rette. Andre feil returnerer en generell melding, for eksempel Failed to list files.
Priser: de tre AI-designverktøyene —
ai-design-screens, ai-generate-screen-variant og ai-edit-screen-variant — bruker den samme meldingskvoten som Flowstep-appen. Alle andre verktøy er gratis. Se Bruksgrenser.delete-file, delete-screen, delete-design-guidelines, replace-screen-jsx, ai-design-screens og ai-edit-screen-variant er merket som destruktive fordi de fjerner eller overskriver eksisterende innhold.
Filverktøy
list-files
Liste over metadata for filene dine i Flowstep. Kall dette først for å sjekke om en relevant fil allerede finnes. Det returnerer ikke skjerminnhold. Bruk get-screen-image eller get-screen-jsx til det.
Inndata
Utdata —
{ files }.
owner—truehvis du opprettet filen.shared_with_me—truehvis filen ble delt med deg direkte, og ikke bare gjennom organisasjonen din.url— åpner filen i Flowstep-editoren.
get-file
Hent metadata for én fil. Filinnhold er bevisst utelatt. Bruk get-screen-image eller get-screen-jsx for å inspisere skjermer, og get-design-guidelines for å hente tilknyttede retningslinjer. Hvis du har en ventende invitasjon til filen, aksepterer du den ved å kalle get-file.
Inndata
Utdata —
{ file, user_access_level }.
access_level—private,readellerwrite.visibility—private,memberellerpublic.user_access_level— tilgangen din til filen:readellerwrite.
create-file
Opprett en tom Flowstep-fil uten skjermer. For å opprette en fil og generere skjermer i ett steg kaller du ai-design-screens uten fileId i stedet. Bruk create-file til kodefirst-arbeidsflyter, etterfulgt av add-screen-jsx.
Inndata
Utdata —
{ file, user_access_level }, i samme form som get-file. owner er alltid true, og user_access_level er alltid write.
Bruk den returnerte file.id-en som fileId i de påfølgende verktøykallene.
update-file
Gi en fil nytt navn.
Inndata
Utdata —
{ file, user_access_level }, i samme form som get-file.
delete-file
Slett en fil permanent. Navnet du sender inn, sjekkes mot filens gjeldende visningsnavn før sletting. Hvis det ikke stemmer, avbrytes slettingen. Dette forhindrer at du sletter feil fil ved et uhell. Agenter får instruks om å bekrefte med deg først.
Inndata
Utdata —
{ "deleted": true }
Skjermverktøy
list-screens
Liste over skjermene i en fil, i lerretsrekkefølge. Kall dette etter list-files for å se hva som allerede finnes i en fil. Bruk de returnerte screenId-verdiene med de andre skjermverktøyene og AI-designverktøyene.
Inndata
Utdata —
{ screens }.
prompt— den siste genereringsprompten for skjermen, eller en tom streng hvis den aldri ble generert (for eksempel en skjerm lagt til medadd-screen-jsx).fidelity—lofi,hifiellerui.
get-screen-image
Gjengi en skjerm til PNG og returner den som et innebygd bilde. Krever en klient som støtter bildeinnholdsblokker. Kall det én gang for hver screenId som returneres av et AI-designverktøy, add-screen-jsx, replace-screen-jsx eller import-figma.
Inndata
Utdata — MCP-bildeinnholdsblokk (
image/png). data er standard base64 for PNG-bytene, ikke en data-URI. Det finnes ingen structuredContent for dette verktøyet.
get-screen-jsx
Hent en skjerm som JSX, med metadataene den har. Da kan du bygge videre på den i kodebasen din, eller redigere den og skrive den tilbake med replace-screen-jsx. Bruk get-screen-image for en visuell forhåndsvisning i stedet.
Inndata
Utdata —
{ fileId, screenId, name, prompt, fidelity, screenType, colorTheme, jsx, fragments }.
jsx— kun markup.data-id-attributter tas med bare nårincludeIdsertrue.prompt— den siste genereringsprompten, eller en tom streng hvis skjermen aldri ble generert.fragments— felles elementer lagret på skjermen, for eksempel en navigasjonslinje, en topptekst eller en logo, som{ purpose, markup }-objekter. Tom når det ikke finnes noen. Send dem tilbake tilreplace-screen-jsxfor å beholde eller oppdatere dem.
fidelity, screenType og colorTheme.
add-screen-jsx
Legg til en ny skjerm i en fil fra JSX du har skrevet. Dette er kodefirst-veien, og den er gratis. Bruk ai-design-screens når du vil at Flowsteps AI skal designe skjermen. add-screen-jsx oppretter alltid en ny skjerm. For å overskrive en eksisterende skjerm bruker du replace-screen-jsx.
For å vise et bilde du har lastet opp, se Bilder i JSX.
Når den nye skjermen er basert på en eksisterende, starter du fra get-screen-jsx (uten includeIds) for name, fidelity, screenType, colorTheme og jsx, og endrer deretter det som skal være annerledes.
Inndata
Utdata —
{ fileId, screenId }. Kall get-screen-image med screenId for å se resultatet.
replace-screen-jsx
Overskriv en eksisterende skjerm med JSX du har skrevet. Skjermen beholder screenId-en og plasseringen sin på lerretet. Innebygde elementer får nye ID-er. Dette er kodefirst-veien, og den er gratis. Bruk ai-design-screens eller ai-edit-screen-variant for AI-endringer, og add-screen-jsx for å opprette en ny skjerm i stedet.
Start fra get-screen-jsx (uten includeIds), og endre deretter det som skal være annerledes. For å vise et bilde du har lastet opp, se Bilder i JSX.
Inndata
Utdata —
{ fileId, screenId }. Kall get-screen-image med screenId for å se resultatet.
rename-screen
Gi en skjerm nytt navn på lerretet, altså navnet som vises i list-screens og i editoren. Dette endrer bare etiketten, ikke skjermens oppsett, størrelse eller innhold. Bruk ai-design-screens for disse.
Inndata
Utdata —
{ screenId, name }.
delete-screen
Slett en skjerm fra en fil permanent. Navnet du sender inn, sjekkes mot skjermens gjeldende visningsnavn. Hvis det ikke stemmer, avbrytes slettingen. Agenter får instruks om å bekrefte med deg først.
Inndata
Utdata —
{ "deleted": true }
Bilder i JSX
add-screen-jsx og replace-screen-jsx godtar bilder i en img-src, eller som bakgrunn i className med bg-[url(...)]. Skriv alt-tekst, og tilpass størrelsen på hvert bilde til formålet.
Slik legger du inn et eget bilde:
- Last det opp med
upload-attachmenti modus A (mimeType+fileName), og kjør den returnerteuploadCommand-en. - Hvis
typei svaret er"image", limer du innassetUrl-en nøyaktig som den ble returnert, iimg srcellerbg-[url(assetUrl)].
get-screen-jsx returnerte dem. Ikke legg path, signedUrl eller uploadCommand i src.
Feltverdier for skjerm
get-screen-jsx returnerer, og add-screen-jsx og replace-screen-jsx godtar, disse verdiene:
Verktøy for designretningslinjer
Designretningslinjer erDESIGN.md-tekst lagret på en fil. Når de er satt, tas de med i hver AI-generering for den filen. Se Designretningslinjer.
get-design-guidelines
Hent designretningslinjene som er knyttet til en fil.
Inndata
Utdata —
{ guidelines }.
guidelines er null hvis ingen retningslinjer er satt.
update-design-guidelines
Sett eller erstatt designretningslinjene for en fil. Send retningslinjene som en ren streng i Googles DESIGN.md-format, ikke som et objekt eller JSON. Hvis du leser fra en fil, sender du filens tekst.
Inndata
Valideringsregler
- Frontmatter må åpnes og lukkes korrekt
- Frontmatter-linjer må være gyldig YAML i blokkform
- Markdown-brødteksten må ikke inneholde dupliserte
##-overskrifter for seksjoner
Invalid design guidelines:.
Utdata — { updated, warnings? }.
warnings lister myke valideringsproblemer (ukjente nøkler, ikke-heksadesimale farger) som ble godtatt, men som AI-en kan ignorere. Det utelates når det ikke finnes noen. Vis disse til brukeren.
delete-design-guidelines
Fjern designretningslinjene for en fil. Å slette retningslinjer som ikke finnes, har ingen effekt.
Inndata
Utdata —
{ "deleted": true }
Chatverktøy
get-chat-history
Hent designsamtalen knyttet til en fil, altså filens Flowstep-chat og ikke samtalen i MCP-klienten din. Bruk den til å fortsette tidligere arbeid på filen.
Inndata
Utdata —
{ messages }. messages er tom når du ikke har noen designsamtale på filen. Hver melding har en type ("request" eller "response"), en author ("human" eller "ai") og en content_type. Svarmeldinger bruker "text", "summary" eller "followup".
Vedleggsverktøy
upload-attachment
Last opp en referansefil som vedlegg i ai-design-screens, eller et bilde som du vil plassere i din egen JSX med add-screen-jsx eller replace-screen-jsx. ai-generate-screen-variant og ai-edit-screen-variant tar ikke vedlegg. Filbytes går aldri gjennom modellen, og serveren henter aldri URL-er på dine vegne. For å referere til en nettside tar du med URL-en i message i ai-design-screens.
Det finnes to moduser. Bruk nøyaktig én, og ikke kombiner dem.
Modus A — filer og bilder (mimeType + fileName)
En obligatorisk tretrinnsflyt for alle bilder, PDF-er og større tekstfiler:
-
Kall
upload-attachmentmed baremimeTypeogfileName(for eksempelimage/pngogdog.png). Svaret er en forberedt opplasting, ikke en lagret fil: -
Erstatt
LOCAL_FILE_PATHiuploadCommandmed den absolutte stien til filen din, og kjør nøyaktig den kommandoen i skallet ditt. Den må avsluttes med 0. Tokenet isignedUrlgir bare tilgang til denne ene opplastingen. Hvis du hopper over dette steget, blir lagringen tom, og designverktøyet feiler i forhåndssjekken. -
Send bare
{ id, path, type }inn iattachments-matrisen tilai-design-screens, ikkesignedUrl,uploadCommandellernextStep. For å plassere et bilde i din egen JSX, legger duassetUrliimg srcellerbg-[url(...)]i JSX-en du sender tiladd-screen-jsxellerreplace-screen-jsx. Se Bilder i JSX.
curl), og følger deretter de samme tre stegene. Send aldri en URL til upload-attachment.
Modus B — kort tekst (
text + mimeType)
Last opp tekst som allerede er i konteksten, uten skallkommando. Svaret kan brukes direkte:
Send den resulterende
{ id, path, type }-en inn i attachments-matrisen til ai-design-screens.
Maksimal filstørrelse er 3 MB i begge moduser, og PDF-er er begrenset til 100 sider.
Utdata — { id, path, assetUrl, type, mimeType, signedUrl?, uploadCommand?, nextStep? }.
type—"image"for bildefiler og"document"for PDF-er og tekstfiler.assetUrl— URL-en til den opplastede filen, returnert i begge moduser. Bruk den i JSX foradd-screen-jsxellerreplace-screen-jsxbare nårtypeer"image", og bare etter atuploadCommand-en fra modus A har kjørt.signedUrl,uploadCommand,nextStep— settes bare i modus A. Ikke send dem inn i designverktøyene.
Figma-verktøy
import-figma
Importer en Figma-ramme til en Flowstep-fil som redigerbare elementer på lerretet. Hver import legger til en ny skjerm. Hvis du importerer den samme rammen to ganger, får du to skjermer, så slett den gamle med delete-screen hvis du mente å erstatte den. Organisasjonen som eier filen, må ha Figma koblet til i innstillingene i Flowstep.
Inndata
Utdata —
{ fileId, screenId, frameCount? }. screenId er den importerte skjermen. Send den til get-screen-image for å se resultatet. Når en sidelenke importerer flere rammer, er screenId null, og frameCount returneres i stedet. Kall da list-screens, og deretter get-screen-image for hver ny skjerm.
Verktøy for abonnement og fakturering
get-plan-details
Hent organisasjonens Flowstep-abonnement, abonnementsstatus, bruk og gjenværende kvote. Krever ingen inndata. Organisasjonen finnes fra den innloggede brukeren. Bruk det til å sjekke kvoten din før du kaller AI-designverktøyene.
Utdata — { plan, subscription, limits, usage, remaining }.
Grensene varierer etter abonnement. Se Priser og Bruksgrenser.
AI-designverktøy
Disse tre verktøyene designer ut fra en beskrivelse eller en forhåndsinnstilling. De tar aldri imot eller gjenbruker JSX. Hvert kall bruker den samme meldingskvoten som Flowstep-appen, og blokkerer til genereringen er ferdig eller har fått tidsavbrudd (180 sekunder).
Alle tre returnerer
{ status, fileId, screenIds, designGuidelinesUpdated }. Kall get-screen-image én gang for hver screenId for å se resultatet.
designGuidelinesUpdated— en kort oppsummering av endringen nårDESIGN.md-retningslinjene for filen ble oppdatert automatisk i løpet av denne runden. Ellersnull.
ai-design-screens
Generer én eller flere nye skjermer, endre eksisterende skjermer på stedet, eller begge deler i ett kall, ut fra en tekstbeskrivelse. Dette gjelder nye flyter, tematisering, tekst, oppsett og koordinerte endringer på tvers av flere skjermer. Det er den samme designagenten som chatten i Flowstep-editoren. Den avgjør ut fra message og elementIds hva som skal bygges og hva som skal endres.
Utelat fileId for å starte en ny fil. Send inn fileId for å jobbe i en eksisterende fil. Hvis forespørselen kan gjelde en fil du allerede har, bør agenten sjekke list-files og list-screens først. For et neste steg, en feil- eller tomtilstand eller en plattformvariant av én skjerm bruker du ai-generate-screen-variant. For en forhåndsinnstilt redigering eller redesign av én skjerm bruker du ai-edit-screen-variant. Hvis du allerede har JSX, bruker du add-screen-jsx eller replace-screen-jsx i stedet.
Inndata
Eksempel — rediger én skjerm og legg til en annen i ett kall:
{ status, fileId, screenIds, designGuidelinesUpdated, reply? }.
status—"generated"når skjermer ble bygget eller endret."chat"når Flowstep svarte uten å bygge. I så fall inneholderreplysvaret, ogscreenIdser tom. Hvis oppdraget ditt er tvetydig, bør agenten be deg om å avklare, og kalle verktøyet på nytt.screenIds— hver skjerm som ble bygget eller endret under kallet, inkludert skjermer som ble redigert på stedet. Hvis kallet får tidsavbrudd etter at noen skjermer er bygget, returnerer det disse skjermene i stedet for en feil.
ai-generate-screen-variant
Legg til en ny skjerm avledet fra nøyaktig én eksisterende skjerm. Det kan være neste steg i flyten, en feil- eller tomtilstand, eller en versjon for en annen plattform. Originalskjermen forblir uendret. For å legge til en skjerm som ikke er en variant av en eksisterende (for eksempel en innstillingsskjerm), bruker du ai-design-screens med en fileId.
Inndata
Utdata —
{ status, fileId, screenIds, designGuidelinesUpdated }. status er alltid "generated".
ai-edit-screen-variant
Endre nøyaktig én eksisterende skjerm på stedet med en forhåndsinnstilling. Du kan tematisere eller polere den, prøve et annet oppsett eller en annen visuell stil, eller designe den på nytt fra bunnen av. For nye skjermer, fritekstinstruksjoner eller presise endringer på enkelte elementer, bruker du ai-design-screens.
Inndata
Utdata —
{ status, fileId, screenIds, designGuidelinesUpdated }. status er alltid "generated".
Omdøpte verktøy
Verktøynavn ble endret i september og oktober 2026. Hvis du har prompter, skript eller instruksjoner for agenter som bruker de gamle navnene, oppdaterer du dem:
Inndataene er også endret. AI-designverktøyene tar
elementIds (eller en enkelt screenId for variantverktøyene) i stedet for targets. add-screen-jsx tar jsx og eksplisitte metadatafelter i stedet for jsxContent med en metadatakommentar. create-file tar name i stedet for title. Verktøyene for designretningslinjer tar fileId i stedet for resourceId og linkedTo.