content-array van MCP-inhoudsblokken. Teksttools retourneren { type: "text", text: "<json-string>" }. Afbeeldingstools retourneren { type: "image", data: "<base64>", mimeType: "image/png" }. Bij fout wordt isError: true ingesteld en bevat het tekstblok het foutbericht.
Bestandstools
list-files
Geef een lijst van Flowstep-bestanden voor de huidige gebruiker.
Invoer
Uitvoer — JSON-array van bestandsobjecten.
get-file
Haal een enkel bestand op via ID. Bestandsinhoud wordt opzettelijk weggelaten — gebruik get-screen of get-screen-image om schermen te inspecteren en get-design-guidelines om gekoppelde richtlijnen op te halen.
Invoer
Uitvoer — JSON-bestandsobject.
create-file
Maak een nieuw Flowstep-bestand aan.
Invoer
Uitvoer — JSON-bestandsobject met de
id van het nieuwe bestand.
id als fileId in volgende tooloproepen.
update-file
Hernoem een bestand.
Invoer
Uitvoer — Bijgewerkt bestandsobject in dezelfde vorm als
get-file.
delete-file
Verwijder een bestand permanent. De name die je doorgeeft wordt geverifieerd tegen de werkelijke naam van het bestand vóór verwijdering — als deze niet overeenkomt, wordt de verwijdering afgebroken. Dit voorkomt dat je per ongeluk het verkeerde bestand verwijdert.
Invoer
Uitvoer —
"File deleted successfully"
Schermtools
list-screens
Geef een lijst van alle gegenereerde schermen voor een bestand. Gebruik de geretourneerde screenId-waarden om naar schermen te verwijzen in get-screen, get-screen-image, upload-attachment en als targets in edit-design, regenerate-design of expand-design.
Invoer
Uitvoer — JSON-array van schermoverzichten.
name is de door de gebruiker toegewezen schermaam, of null als niet benoemd.
get-screen
Haal de JSX-code voor een scherm op zodat je deze kunt bewerken of buiten Flowstep kunt gebruiken. Gebruik get-screen-image voor een visuele voorvertoning in plaats daarvan.
Invoer
Uitvoer — Het scherm als code (JSX). Let op de commentaarregel aan het begin, die vereist is bij gebruik van het
add-screen-tool.
add-screen
Voeg een nieuw scherm aan een Flowstep-bestand toe uit een ruwe JSX-string.
Invoer
Opmerking - Een opmerking die lijkt op de onderstaande MOET aanwezig zijn als de eerste regel van de JSX, omdat deze wordt gebruikt om het scherm correct toe te voegen.
screenType, name en screenId zijn allemaal optioneel — screenId wordt gebruikt (intern) als aanwezig (bijvoorbeeld bij het doorgeven van JSX gekopieerd uit de get-screen-uitvoer) maar is niet verplicht. De schermnaam wordt gehaald uit het name-veld van de opmerking (weergegeven als “Copy of <name>”), of “Untitled” als afwezig.
<!-- screenType: "iphone-x-vertical" width: "375" height: "812" name: "Change to a light theme" colorTheme: "blue" -->
Uitvoer — De ID van het nieuw toegevoegde scherm.
get-screen-image
Render een scherm naar PNG en retourneer het als inline-afbeelding. Vereist een client die inhoudsblokken van afbeeldingen ondersteunt.
Invoer
Uitvoer — MCP-afbeeldingsinhoudsblok (
image/png).
AI-tools
create-new-design
Genereer een of meer schermontwerpen vanuit een tekstprompt. Laat fileId weg om automatisch een nieuw bestand te maken. Blokkeert totdat de generatie is voltooid of een time-out optreedt (180 seconden).
Invoer
Uitvoer —
{ fileId, screenIds }. Geef elke screenId door aan get-screen-image om resultaten te zien.
regenerate-design
Maak bestaande schermen opnieuw van nul af aan of met een stijlvariant. Vereist minstens één screenId in targets. Blokkeert totdat de generatie is voltooid of een time-out optreedt (180 seconden).
Invoer
Uitvoer —
{ fileId, screenIds }. Geef elke screenId door aan get-screen-image om resultaten te zien.
expand-design
Voeg vervolgschermen toe aan een bestaand ontwerp. Vereist minstens één screenId in targets en een verplichte operationVariant. Blokkeert totdat de generatie is voltooid of een time-out optreedt (180 seconden).
Invoer
Uitvoer —
{ fileId, screenIds }. Geef elke screenId door aan get-screen-image om resultaten te zien.
edit-design
Wijzig bestaande schermen via een prompt. Vereist minstens één screenId in targets. Blokkeert totdat de generatie is voltooid of een time-out optreedt (180 seconden).
Invoer
Uitvoer —
{ fileId, screenIds }. Geef elke screenId door aan get-screen-image om resultaten te zien.
upload-attachment
Upload een bestand om als bijlage in create-new-design of edit-design te gebruiken. Retourneert { id, path, type, mimeType } — geef dit object direct door in de attachments-array.
Twee modi:
Modus 1 — Scherm op ID
Geef screenId en fileId door. De server haalt de schermstatus uit de database en rendert deze als afbeelding.
Modus 2 — Extern bestand
Geef bestandsinhoud rechtstreeks door. Binaire bestanden moeten base64-gecodeerd zijn; tekstbestanden (inclusief broncode) worden als platte UTF-8-strings doorgegeven.
Max bestandsgrootte: 3 MB. Voor grote afbeeldingen kun je beter
image/jpeg gebruiken dan image/png.
Uitvoer
type is "image" voor uploads van afbeeldingen/PDF en "document" voor tekst-/codebestanden.
Chattools
get-chat-history
Haal de chatberichtgeschiedenis voor een bestand op.
Invoer
Uitvoer — JSON-object met een
messages-array. Elk bericht heeft een type ("request" of "response"), author ("human" of "ai"), en content_type ("text", "summary" of "followup").
Designtools
get-design-guidelines
Haal de voor een bestand opgeslagen ontwerprichtlijnen op.
Invoer
Uitvoer
guidelines is null als er nog geen richtlijnen zijn ingesteld.
update-design-guidelines
Stel of vervang de ontwerprichtlijnen voor een bestand. Richtlijnen worden doorgegeven als platte tekststring in Google’s design.md-indeling — geef geen object of JSON door.
De server voert zachte validatie uit en kan een Warnings:-sectie in de reactie retourneren met problemen (onbekende sleutels, niet-hex-kleuren) die zijn geaccepteerd maar kunnen worden genegeerd door de AI. Geef deze aan de gebruiker door.
Invoer
Validatieregels
- Frontmatter moet correct worden geopend en gesloten
- Frontmatter-regels moeten geldige blokstijl YAML zijn
- Markdown-lichaam mag geen dubbele
##-sectiekoppen bevatten
"Design guidelines updated successfully", optioneel gevolgd door een Warnings:-sectie.
delete-design-guidelines
Wis de ontwerprichtlijnen voor een bestand.
Invoer
Uitvoer —
"Design guidelines deleted successfully"
Figma-tools
import-figma
Importeer een Figma-frame in een Flowstep-bestand als bewerkbare elementen op het canvas. Het opnieuw importeren van hetzelfde frame werkt het ter plekke bij. De organisatie van het bestand moet Figma eerst in Flowstep-instellingen hebben verbonden.
Invoer
Uitvoer —
{ fileId, screenId }. screenId is de ID van het geïmporteerde screenelement — geef het door aan get-screen-image om het resultaat te zien. Wanneer een pagina-URL meerdere frames importeert, is screenId null en wordt frameCount in plaats daarvan geretourneerd.