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
Ausgabe — JSON-Array von Dateiobjekten.
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
Ausgabe — JSON-Dateiobjekt.
create-file
Erstellt eine neue Flowstep-Datei.
Eingabe
Ausgabe — JSON-Dateiobjekt mit der
id der neuen Datei.
id als fileId in nachfolgenden Tool-Aufrufen.
update-file
Benennt eine Datei um.
Eingabe
Ausgabe — Aktualisiertes Dateiobjekt in der gleichen Form wie
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
Ausgabe —
"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
Ausgabe — JSON-Array von Screen-Zusammenfassungen.
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
Ausgabe — Der Screen als Code (JSX). Beachten Sie den Kommentar in der ersten Zeile, der bei Verwendung des
add-screen-Tools erforderlich ist.
add-screen
Fügt einen neuen Screen zu einer Flowstep-Datei aus einer Raw JSX-Zeichenkette hinzu.
Eingabe
Hinweis — Ein Kommentar ähnlich dem folgenden MUSS als erste Zeile des JSX vorhanden sein, da er verwendet wird, um den Screen korrekt hinzuzufügen.
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
Ausgabe — MCP-Image-Content-Block (
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
Ausgabe —
{ 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
Ausgabe —
{ 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
Ausgabe —
{ 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
Ausgabe —
{ 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.
Modus 2 — Externe Datei
Übergeben Sie Dateiinhalte direkt. Binärdateien müssen Base64-kodiert sein; Text-Dateien (einschließlich Quellcode) werden als reine UTF-8-Zeichenketten übergeben.
Max. Dateigröße: 3 MB. Bevorzugen Sie für große Bilder
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
Ausgabe — JSON-Objekt mit einem
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
Ausgabe
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
Validierungsregeln
- 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
Ausgabe —
"Design guidelines deleted successfully"
Figma-Tools
import-figma
Importiert einen Figma-Frame als editierbare Elemente auf der Canvas einer Flowstep-Datei. Das erneute Importieren desselben Frames aktualisiert ihn an Ort und Stelle. Die Organisation der Datei muss zuerst Figma in den Flowstep-Einstellungen verbunden haben.
Eingabe
Ausgabe —
{ fileId, screenId }. screenId ist die ID des importierten Screen-Elements — übergeben Sie sie an get-screen-image, um das Ergebnis anzuzeigen. Wenn eine Seiten-URL mehrere Frames importiert, ist screenId null und frameCount wird stattdessen zurückgegeben.