content-Array von MCP-Content-Blöcken zurück. Text-Tools geben { type: "text", text: "<json-string>" } zurück. Bild-Tools geben { type: "image", data: "<base64>", mimeType: "image/png" } zurück. Im Fehlerfall ist isError: true gesetzt und der Text-Block enthält die Fehlermeldung.
Datei-Tools
list-files
Listet Flowstep-Dateien für den aktuellen Benutzer auf.
Eingabe
| Parameter | Typ | Standard | Beschreibung |
|---|---|---|---|
orderByCreation | boolean | true | Nach Erstellungsdatum sortieren |
limit | integer (1–100) | 20 | Anzahl der zurückzugebenden Dateien |
offset | integer (≥0) | 0 | Paginierungs-Offset |
get-file
Ruft eine einzelne Datei anhand ihrer ID ab. Der Dateiinhalt wird absichtlich weggelassen — verwenden Sie get-screen oder get-screen-image, um Screens zu prüfen, und get-design-guidelines, um angehängte Richtlinien abzurufen.
Eingabe
| Parameter | Typ | Beschreibung |
|---|---|---|
id | uuid | Datei-ID |
create-file
Erstellt eine neue Flowstep-Datei.
Eingabe
| Parameter | Typ | Beschreibung |
|---|---|---|
title | string (min 1) | Dateiname |
id der neuen Datei.
id als fileId in nachfolgenden Tool-Aufrufen.
update-file
Benennt eine Datei um.
Eingabe
| Parameter | Typ | Beschreibung |
|---|---|---|
id | uuid | Datei-ID |
name | string (min 1) | Neuer Name |
get-file.
delete-file
Löscht eine Datei dauerhaft. Der name, den Sie übergeben, wird vor dem Löschen mit dem tatsächlichen Namen der Datei verglichen — wenn er nicht übereinstimmt, wird das Löschen abgebrochen. Dies verhindert, dass Sie versehentlich die falsche Datei löschen.
Eingabe
| Parameter | Typ | Beschreibung |
|---|---|---|
id | uuid | Datei-ID |
name | string | Aktueller Name der Datei — muss genau übereinstimmen, sonst wird das Löschen abgebrochen |
"File deleted successfully"
Screen-Tools
list-screens
Listet alle generierten Screens für eine Datei auf. Verwenden Sie die zurückgegebenen screenId-Werte, um Screens in get-screen, get-screen-image, upload-attachment zu referenzieren und als targets in edit-design, regenerate-design oder expand-design.
Eingabe
| Parameter | Typ | Beschreibung |
|---|---|---|
fileId | uuid | Datei-ID |
name ist der vom Benutzer zugewiesene Screen-Name oder null, wenn er unbenannt ist.
get-screen
Ruft den JSX-Code für einen Screen ab, damit Sie den Code bearbeiten oder außerhalb von Flowstep verwenden können. Verwenden Sie get-screen-image für eine visuelle Vorschau.
Eingabe
| Parameter | Typ | Beschreibung |
|---|---|---|
fileId | uuid | Datei-ID |
screenId | uuid | Die screenId, die von list-screens zurückgegeben wurde, oder aus dem screenIds-Array, das von einem Design-Tool zurückgegeben wurde |
add-screen-Tools erforderlich ist.
add-screen
Fügt einen neuen Screen zu einer Flowstep-Datei aus einer Raw JSX-Zeichenkette hinzu.
Eingabe
| Parameter | Typ | Beschreibung |
|---|---|---|
fileId | uuid | Datei-ID |
jsxContent | string | JSX, das der Datei als Screen hinzugefügt werden soll |
screenType | string | Erforderlich, wenn der Screen-Typ nicht als Kommentar zu Beginn des JSX definiert ist |
screenType, name und screenId sind alle optional — screenId wird (intern) verwendet, falls vorhanden (z. B. wenn JSX aus get-screen-Ausgabe kopiert wird), ist aber nicht erforderlich. Der Screen-Name wird aus dem Feld name des Kommentars entnommen (angezeigt als „Copy of <name>”), oder „Untitled”, falls nicht vorhanden.
<!-- screenType: "iphone-x-vertical" width: "375" height: "812" name: "Change to a light theme" colorTheme: "blue" -->
Ausgabe — Die neu hinzugefügte Screen-ID.
get-screen-image
Rendert einen Screen in PNG und gibt ihn als Inline-Bild zurück. Erfordert einen Client, der Image-Content-Blöcke unterstützt.
Eingabe
| Parameter | Typ | Beschreibung |
|---|---|---|
fileId | uuid | Datei-ID |
screenId | uuid | Die screenId, die von list-screens zurückgegeben wurde, oder aus dem screenIds-Array, das von einem Design-Tool zurückgegeben wurde |
image/png).
KI-Tools
create-new-design
Generiert einen oder mehrere Screen-Designs aus einem Text-Prompt. Lassen Sie fileId weg, um automatisch eine neue Datei zu erstellen. Blockiert, bis die Generierung abgeschlossen ist oder das Timeout (180 Sekunden) überschritten wird.
Eingabe
| Parameter | Typ | Standard | Beschreibung |
|---|---|---|---|
fileId | uuid | — | Zieldatei — weglassen, um automatisch eine neue Datei zu erstellen |
message | string | — | Prompt, der die zu generierenden Screens beschreibt |
attachments | AttachmentRequestData[] (max 5) | [] | Vorab hochgeladene Anlagen — Bilder, PDFs oder Code-Dateien. Laden Sie immer über upload-attachment hoch; fügen Sie keine Dateiinhalte in der Nachricht ein |
designs | DesignRequestData[] | [] | Design-Referenzen |
{ fileId, screenIds }. Übergeben Sie jede screenId an get-screen-image, um Ergebnisse anzuzeigen.
regenerate-design
Erstellt vorhandene Screens von vorne neu oder mit einer Stilvariation. Erfordert mindestens eine screenId in targets. Blockiert, bis die Generierung abgeschlossen ist oder das Timeout (180 Sekunden) überschritten wird.
Eingabe
| Parameter | Typ | Standard | Beschreibung |
|---|---|---|---|
fileId | uuid | — | Zieldatei |
message | string | — | Prompt-Text |
targets | uuid[] (min 1) | — | screenIds der neu zu generierenden Screens |
operationVariant | "different_layout" | "different_style" | "from_scratch" | — | Optionale Stilvariation |
designs | DesignRequestData[] | [] | Design-Referenzen (automatisch aufgelöst) |
{ fileId, screenIds }. Übergeben Sie jede screenId an get-screen-image, um Ergebnisse anzuzeigen.
expand-design
Fügt Nachfolge-Screens zu einem vorhandenen Design hinzu. Erfordert mindestens eine screenId in targets und eine erforderliche operationVariant. Blockiert, bis die Generierung abgeschlossen ist oder das Timeout (180 Sekunden) überschritten wird.
Eingabe
| Parameter | Typ | Standard | Beschreibung |
|---|---|---|---|
fileId | uuid | — | Zieldatei |
message | string | — | Prompt-Text |
targets | uuid[] (min 1) | — | screenIds, aus denen Screens zu erweitern sind |
operationVariant | "next_screen" | "error_state" | "empty_state" | "web_version" | "mobile_version" | "tablet_version" | "mobile_ios_version" | "mobile_android_version" | — | Erforderlich — Typ des zu generierenden Nachfolge-Screens |
designs | DesignRequestData[] | [] | Design-Referenzen (automatisch aufgelöst) |
{ fileId, screenIds }. Übergeben Sie jede screenId an get-screen-image, um Ergebnisse anzuzeigen.
edit-design
Ändert vorhandene Screens über einen Prompt. Erfordert mindestens eine screenId in targets. Blockiert, bis die Generierung abgeschlossen ist oder das Timeout (180 Sekunden) überschritten wird.
Eingabe
| Parameter | Typ | Standard | Beschreibung |
|---|---|---|---|
fileId | uuid | — | Zieldatei |
message | string | — | Anweisungen, die die anzuwendenden Änderungen beschreiben |
targets | uuid[] (min 1) | — | screenIds der zu bearbeitenden Screens |
operationVariant | "dark_theme" | "light_theme" | "make_pretty" | — | Optionale Stil-Abkürzung |
attachments | AttachmentRequestData[] (max 5) | [] | Vorab hochgeladene Anlagen. Laden Sie immer über upload-attachment hoch |
designs | DesignRequestData[] | [] | Design-Referenzen (automatisch aufgelöst) |
{ fileId, screenIds }. Übergeben Sie jede screenId an get-screen-image, um Ergebnisse anzuzeigen.
upload-attachment
Lädt eine Datei hoch, um sie als Anlage in create-new-design oder edit-design zu verwenden. Gibt { id, path, type, mimeType } zurück — übergeben Sie dieses Objekt direkt in das attachments-Array.
Zwei Modi:
Modus 1 — Screen nach ID
Übergeben Sie screenId und fileId. Der Server ruft den Screen-Status aus der Datenbank ab und rendert ihn als Bild.
| Parameter | Typ | Beschreibung |
|---|---|---|
fileId | uuid | Datei, die den Screen enthält (erforderlich) |
screenId | uuid | Zu rendernder Screen |
| Parameter | Typ | Beschreibung |
|---|---|---|
fileData | string | Dateiinhalt — Base64 für Binär, UTF-8-Zeichenkette für Text |
fileName | string | Ursprünglicher Dateiname |
mimeType | "image/jpeg" | "image/png" | "image/webp" | "application/pdf" | "text/plain" | "text/javascript" | MIME-Typ. Verwenden Sie text/javascript für .jsx-, .tsx-, .js-, .ts-Dateien |
image/jpeg gegenüber image/png.
Ausgabe
type ist "image" für Bild-/PDF-Uploads und "document" für Text-/Code-Dateien.
Chat-Tools
get-chat-history
Ruft den Chat-Nachrichtenverlauf für eine Datei ab.
Eingabe
| Parameter | Typ | Beschreibung |
|---|---|---|
fileId | uuid | Datei-ID |
messages-Array. Jede Nachricht hat einen type ("request" oder "response"), author ("human" oder "ai") und content_type ("text", "summary" oder "followup").
Design-Tools
get-design-guidelines
Ruft die Design-Richtlinien ab, die für eine Datei gespeichert sind.
Eingabe
| Parameter | Typ | Standard | Beschreibung |
|---|---|---|---|
resourceId | uuid | — | Datei-ID |
linkedTo | "file" | "file" | Ressourcentyp |
guidelines ist null, wenn keine Richtlinien festgelegt wurden.
update-design-guidelines
Legt Design-Richtlinien für eine Datei fest oder ersetzt sie. Richtlinien werden als reine Text-Zeichenkette im Google design.md-Format übergeben — übergeben Sie kein Objekt oder JSON.
Der Server führt weiche Validierung durch und kann einen Warnings:-Abschnitt in der Antwort zurückgeben, der Probleme auflistet (unbekannte Schlüssel, nicht-Hex-Farben), die akzeptiert, aber möglicherweise vom KI ignoriert werden. Zeigen Sie diese dem Benutzer an.
Eingabe
| Parameter | Typ | Standard | Beschreibung |
|---|---|---|---|
resourceId | uuid | — | Datei-ID |
designGuidelines | string (min 1) | — | Raw-Text-Inhalt der Richtlinien. Muss eine reine Zeichenkette sein — nicht JSON-kodiert |
linkedTo | "file" | "file" | Ressourcentyp |
- Frontmatter muss korrekt geöffnet und geschlossen werden
- Frontmatter-Zeilen müssen gültiges Block-Stil-YAML sein
- Markdown-Body darf keine doppelten
##-Abschnittsüberschriften enthalten
"Design guidelines updated successfully", optional gefolgt von einem Warnings:-Abschnitt.
delete-design-guidelines
Löscht die Design-Richtlinien für eine Datei.
Eingabe
| Parameter | Typ | Standard | Beschreibung |
|---|---|---|---|
resourceId | uuid | — | Datei-ID |
linkedTo | "file" | "file" | Ressourcentyp |
"Design guidelines deleted successfully"