Hopp til hovedinnhold
Ved suksess returnerer hvert verktøy unntatt 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.
Hvert verktøy publiserer også MCP-annotasjoner, slik at klienten din vet hva det gjør. 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 — true hvis du opprettet filen.
  • shared_with_me — true hvis 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, read eller write.
  • visibility — private, member eller public.
  • user_access_level — tilgangen din til filen: read eller write.

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 }
Dette kan ikke angres. Alle skjermer i filen slettes.

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 med add-screen-jsx).
  • fidelity — lofi, hifi eller ui.

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år includeIds er true.
  • 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 til replace-screen-jsx for å beholde eller oppdatere dem.
Se Feltverdier for skjerm for verdiene til 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.
Dette erstatter innholdet på skjermen på stedet.

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:
  1. Last det opp med upload-attachment i modus A (mimeType + fileName), og kjør den returnerte uploadCommand-en.
  2. Hvis type i svaret er "image", limer du inn assetUrl-en nøyaktig som den ble returnert, i img src eller bg-[url(assetUrl)].
Behold alle andre bilde-URL-er nøyaktig slik 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 er DESIGN.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
Hvis valideringen mislykkes, returnerer kallet en feil som starter med 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:
  1. Kall upload-attachment med bare mimeType og fileName (for eksempel image/png og dog.png). Svaret er en forberedt opplasting, ikke en lagret fil:
  2. Erstatt LOCAL_FILE_PATH i uploadCommand med den absolutte stien til filen din, og kjør nøyaktig den kommandoen i skallet ditt. Den må avsluttes med 0. Tokenet i signedUrl gir bare tilgang til denne ene opplastingen. Hvis du hopper over dette steget, blir lagringen tom, og designverktøyet feiler i forhåndssjekken.
  3. Send bare { id, path, type } inn i attachments-matrisen til ai-design-screens, ikke signedUrl, uploadCommand eller nextStep. For å plassere et bilde i din egen JSX, legger du assetUrl i img src eller bg-[url(...)] i JSX-en du sender til add-screen-jsx eller replace-screen-jsx. Se Bilder i JSX.
For å legge ved en ekstern fil laster du den ned til en lokal sti selv først (for eksempel med 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 for add-screen-jsx eller replace-screen-jsx bare når type er "image", og bare etter at uploadCommand-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år DESIGN.md-retningslinjene for filen ble oppdatert automatisk i løpet av denne runden. Ellers null.

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:
Utdata — { status, fileId, screenIds, designGuidelinesUpdated, reply? }.
  • status — "generated" når skjermer ble bygget eller endret. "chat" når Flowstep svarte uten å bygge. I så fall inneholder reply svaret, og screenIds er 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.
Skjermer du ber den om å redigere, overskrives på stedet.

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".
Dette overskriver innholdet på skjermen på stedet.

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.