Zum Hauptinhalt springen
Bei Erfolg liefert jedes Tool außer get-screen-image sein Ergebnis zweimal: als structuredContent (gegen das veröffentlichte Ausgabeschema des Tools geprüft) und als dasselbe Objekt, serialisiert in einen Textblock { type: "text", text: "<json-string>" }. Letzteres ist für Clients gedacht, die keine strukturierten Inhalte lesen. get-screen-image liefert nur einen MCP-Bildblock: { type: "image", data: "<base64>", mimeType: "image/png" }. Bei einem Fehler wird isError: true gesetzt, und der Textblock enthält eine kurze Fehlermeldung. Fehler, die Sie beheben können, etwa eine Namensabweichung beim Löschen, ein ungültiger Figma-Link, ungültige Design-Richtlinien, ein Problem mit einem Anhang oder eine Zeitüberschreitung bei der Generierung, erklären, was Sie korrigieren müssen. Andere Fehler liefern eine allgemeine Meldung wie Failed to list files.
Preise: Die drei KI-Design-Tools, also ai-design-screens, ai-generate-screen-variant und ai-edit-screen-variant, nutzen dasselbe Nachrichtenkontingent wie die Flowstep-App. Alle anderen Tools sind kostenlos. Weitere Informationen finden Sie unter Nutzungslimits.
Jedes Tool veröffentlicht außerdem MCP-Annotationen, damit Ihr Client weiß, was es tut. delete-file, delete-screen, delete-design-guidelines, replace-screen-jsx, ai-design-screens und ai-edit-screen-variant sind als destruktiv gekennzeichnet, weil sie bestehende Inhalte entfernen oder überschreiben.

Datei-Tools

list-files

Listet die Metadaten Ihrer Flowstep-Dateien auf. Rufen Sie dies zuerst auf, um zu prüfen, ob eine passende Datei bereits existiert. Es werden keine Screen-Inhalte zurückgegeben. Verwenden Sie dafür get-screen-image oder get-screen-jsx. Eingabe Ausgabe — { files }.
  • owner: true, wenn Sie die Datei erstellt haben.
  • shared_with_me: true, wenn die Datei direkt mit Ihnen geteilt wurde, nicht nur über Ihre Organisation.
  • url: öffnet die Datei im Flowstep-Editor.

get-file

Ruft die Metadaten einer einzelnen Datei ab. Der Dateiinhalt ist absichtlich nicht enthalten. Verwenden Sie get-screen-image oder get-screen-jsx, um Screens zu prüfen, und get-design-guidelines, um angehängte Richtlinien abzurufen. Wenn Sie eine ausstehende Einladung zur Datei haben, nimmt get-file sie an. Eingabe Ausgabe — { file, user_access_level }.
  • access_level: private, read oder write.
  • visibility: private, member oder public.
  • user_access_level: Ihr Zugriff auf die Datei, also read oder write.

create-file

Erstellt eine leere Flowstep-Datei ohne Screens. Um eine Datei zu erstellen und im selben Schritt Screens zu generieren, rufen Sie stattdessen ai-design-screens ohne fileId auf. Verwenden Sie create-file für Code-first-Workflows, gefolgt von add-screen-jsx. Eingabe Ausgabe — { file, user_access_level }, in derselben Form wie bei get-file. owner ist immer true, und user_access_level ist immer write. Verwenden Sie die zurückgegebene file.id als fileId in den folgenden Tool-Aufrufen.

update-file

Benennt eine Datei um. Eingabe Ausgabe — { file, user_access_level }, in derselben Form wie bei get-file.

delete-file

Löscht eine Datei dauerhaft. Der übergebene name wird vor dem Löschen mit dem aktuellen Anzeigenamen der Datei verglichen. Stimmt er nicht überein, wird das Löschen abgebrochen. So wird verhindert, dass versehentlich die falsche Datei gelöscht wird. Agenten sind angewiesen, vorher bei Ihnen nachzufragen. Eingabe Ausgabe — { "deleted": true }
Dies ist nicht rückgängig zu machen. Alle Screens in der Datei werden gelöscht.

Screen-Tools

list-screens

Listet die Screens einer Datei in der Canvas-Reihenfolge auf. Rufen Sie dies nach list-files auf, um zu sehen, was eine Datei bereits enthält. Verwenden Sie die zurückgegebenen screenId-Werte mit den anderen Screen-Tools und den KI-Design-Tools. Eingabe Ausgabe — { screens }.
  • prompt: der letzte Generierungs-Prompt des Screens oder ein leerer String, wenn er nie generiert wurde (zum Beispiel bei einem Screen, der mit add-screen-jsx hinzugefügt wurde).
  • fidelity: lofi, hifi oder ui.

get-screen-image

Rendert einen Screen als PNG und gibt ihn als eingebettetes Bild zurück. Erfordert einen Client, der Bild-Inhaltsblöcke unterstützt. Rufen Sie das Tool einmal für jede screenId auf, die ein KI-Design-Tool, add-screen-jsx, replace-screen-jsx oder import-figma zurückgibt. Eingabe Ausgabe — MCP-Bild-Inhaltsblock (image/png). data ist Standard-Base64 der PNG-Bytes, kein Data-URI. Für dieses Tool gibt es kein structuredContent.

get-screen-jsx

Ruft einen Screen als JSX sowie seine Metadaten ab, damit Sie darauf in Ihrer Codebasis aufbauen oder ihn bearbeiten und mit replace-screen-jsx zurückschreiben können. Verwenden Sie für eine visuelle Vorschau stattdessen get-screen-image. Eingabe Ausgabe — { fileId, screenId, name, prompt, fidelity, screenType, colorTheme, jsx, fragments }.
  • jsx: nur Markup. data-id-Attribute sind nur enthalten, wenn includeIds auf true gesetzt ist.
  • prompt: der letzte Generierungs-Prompt oder ein leerer String, wenn der Screen nie generiert wurde.
  • fragments: gemeinsam genutzte Elemente des Screens, etwa Navigationsleiste, Kopfzeile oder Logo, als Objekte { purpose, markup }. Leer, wenn keine vorhanden sind. Übergeben Sie sie an replace-screen-jsx, um sie zu behalten oder zu aktualisieren.
Die Werte für fidelity, screenType und colorTheme finden Sie unter Screen field values.

add-screen-jsx

Fügt einer Datei einen neuen Screen aus JSX hinzu, das Sie selbst geschrieben haben. Dies ist der Code-first-Weg und ist kostenlos. Verwenden Sie ai-design-screens, wenn die KI von Flowstep den Screen gestalten soll. add-screen-jsx erstellt immer einen neuen Screen. Um einen bestehenden Screen zu überschreiben, verwenden Sie replace-screen-jsx. Informationen zum Einfügen eines eigenen Bilds finden Sie unter Bilder in JSX. Wenn der neue Screen auf einem bestehenden basiert, beginnen Sie mit get-screen-jsx (ohne includeIds) für name, fidelity, screenType, colorTheme und jsx. Ändern Sie danach, was sich unterscheiden soll. Eingabe Ausgabe — { fileId, screenId }. Rufen Sie get-screen-image mit screenId auf, um das Ergebnis zu sehen.

replace-screen-jsx

Überschreibt einen bestehenden Screen mit JSX, das Sie selbst geschrieben haben. Der Screen behält seine screenId und seine Position auf der Canvas. Verschachtelte Elemente erhalten neue IDs. Dies ist der Code-first-Weg und ist kostenlos. Verwenden Sie ai-design-screens oder ai-edit-screen-variant für KI-Änderungen und add-screen-jsx, um stattdessen einen neuen Screen anzulegen. Beginnen Sie mit get-screen-jsx (ohne includeIds) und ändern Sie danach, was sich unterscheiden soll. Informationen zum Einfügen eines eigenen Bilds finden Sie unter Bilder in JSX. Eingabe Ausgabe — { fileId, screenId }. Rufen Sie get-screen-image mit screenId auf, um das Ergebnis zu sehen.
Dies ersetzt den Inhalt des Screens an Ort und Stelle.

rename-screen

Benennt die Canvas-Bezeichnung eines Screens um. Das ist der Name, der in list-screens und im Editor angezeigt wird. Es ändert nur die Bezeichnung, nicht Layout, Größe oder Inhalt des Screens. Verwenden Sie dafür ai-design-screens. Eingabe Ausgabe — { screenId, name }.

delete-screen

Löscht einen Screen dauerhaft aus einer Datei. Der übergebene name wird mit dem aktuellen Anzeigenamen des Screens verglichen. Stimmt er nicht überein, wird das Löschen abgebrochen. Agenten sind angewiesen, vorher bei Ihnen nachzufragen. Eingabe Ausgabe — { "deleted": true }

Bilder in JSX

add-screen-jsx und replace-screen-jsx akzeptieren Bilder in einem img-src oder als Hintergrund in className mit bg-[url(...)]. Schreiben Sie alt-Text und dimensionieren Sie jedes Bild passend zu seinem Zweck. Um ein eigenes Bild einzufügen:
  1. Laden Sie es mit upload-attachment in Modus A hoch (mimeType + fileName) und führen Sie den zurückgegebenen uploadCommand aus.
  2. Wenn der type der Antwort "image" ist, fügen Sie die assetUrl genau so, wie sie zurückgegeben wurde, in img src oder bg-[url(assetUrl)] ein.
Lassen Sie alle anderen Bild-URLs genau so, wie get-screen-jsx sie zurückgegeben hat. Setzen Sie path, signedUrl oder uploadCommand nicht in src.

Screen field values

get-screen-jsx gibt diese Werte zurück, und add-screen-jsx sowie replace-screen-jsx akzeptieren sie:

Tools für Design-Richtlinien

Design-Richtlinien sind DESIGN.md-Text, der in einer Datei gespeichert wird. Ist er gesetzt, wird er in jede KI-Generierung für diese Datei eingefügt. Siehe Design-Richtlinien.

get-design-guidelines

Ruft die Design-Richtlinien ab, die einer Datei zugeordnet sind. Eingabe Ausgabe — { guidelines }.
guidelines ist null, wenn keine Richtlinien festgelegt wurden.

update-design-guidelines

Legt die Design-Richtlinien einer Datei fest oder ersetzt sie. Übergeben Sie die Richtlinien als einfachen String im DESIGN.md-Format von Google, nicht als Objekt oder JSON. Wenn Sie aus einer Datei lesen, übergeben Sie deren Text. Eingabe Validierungsregeln
  • Der Frontmatter muss korrekt geöffnet und geschlossen sein
  • Frontmatter-Zeilen müssen gültiges YAML im Blockstil sein
  • Der Markdown-Text darf keine doppelten ##-Abschnittsüberschriften enthalten
Schlägt die Validierung fehl, gibt der Aufruf einen Fehler zurück, der mit Invalid design guidelines: beginnt. Ausgabe — { updated, warnings? }.
warnings listet weiche Validierungsprobleme auf, etwa unbekannte Schlüssel oder Farben, die nicht im Hex-Format sind. Diese Einträge wurden akzeptiert, werden von der KI aber möglicherweise ignoriert. Das Feld fehlt, wenn keine Warnungen vorliegen. Zeigen Sie diese Hinweise Ihrem Nutzer an.

delete-design-guidelines

Entfernt die Design-Richtlinien einer Datei. Das Löschen nicht vorhandener Richtlinien hat keine Auswirkung. Eingabe Ausgabe — { "deleted": true }

Chat-Tools

get-chat-history

Ruft die Design-Unterhaltung ab, die mit einer Datei verknüpft ist. Gemeint ist der Flowstep-Chat der Datei, nicht die Unterhaltung in Ihrem MCP-Client. Verwenden Sie das Tool, um frühere Arbeit an der Datei fortzusetzen. Eingabe Ausgabe — { messages }. messages ist leer, wenn Sie auf der Datei keine Design-Unterhaltung haben. Jede Nachricht hat einen type ("request" oder "response"), einen author ("human" oder "ai") und einen content_type. Antwortnachrichten verwenden "text", "summary" oder "followup".

Anhang-Tools

upload-attachment

Lädt eine Referenzdatei hoch, die als Anhang in ai-design-screens verwendet werden kann, oder ein Bild, das Sie mit add-screen-jsx oder replace-screen-jsx in Ihr eigenes JSX einfügen. ai-generate-screen-variant und ai-edit-screen-variant nehmen keine Anhänge. Dateibytes laufen nie über das Modell, und der Server ruft niemals URLs in Ihrem Auftrag ab. Um auf eine Webseite zu verweisen, fügen Sie deren URL stattdessen in die message von ai-design-screens ein. Es gibt zwei Modi. Verwenden Sie genau einen und kombinieren Sie sie nicht. Modus A: Dateien und Bilder (mimeType + fileName) Für jedes Bild, jede PDF-Datei und jede größere Textdatei ist ein dreistufiger Ablauf erforderlich:
  1. Rufen Sie upload-attachment nur mit mimeType und fileName auf (zum Beispiel image/png und dog.png). Die Antwort ist ein vorbereiteter Upload, keine gespeicherte Datei:
  2. Ersetzen Sie LOCAL_FILE_PATH in uploadCommand durch den absoluten Pfad zu Ihrer Datei und führen Sie genau diesen Befehl in Ihrer Shell aus. Er muss mit Exit-Code 0 enden. Das Token in signedUrl autorisiert nur diesen einen Upload. Wenn Sie diesen Schritt auslassen, bleibt der Speicher leer, und die Vorabprüfung des Design-Tools schlägt fehl.
  3. Übergeben Sie nur { id, path, type } in das Array attachments von ai-design-screens, nicht signedUrl, uploadCommand oder nextStep. Um stattdessen ein Bild in Ihr eigenes JSX einzufügen, übergeben Sie assetUrl im img src oder bg-[url(...)] des JSX, das Sie an add-screen-jsx oder replace-screen-jsx senden. Siehe Bilder in JSX.
Um eine entfernte Datei anzuhängen, laden Sie sie zuerst selbst auf einen lokalen Pfad herunter (zum Beispiel mit curl) und folgen Sie dann denselben drei Schritten. Übergeben Sie nie eine URL an upload-attachment. Modus B: kurzer Text (text + mimeType) Laden Sie Text hoch, der bereits im Kontext steht. Ein Shell-Befehl ist nicht nötig. Die Antwort können Sie direkt verwenden:
Übergeben Sie das resultierende { id, path, type } in das Array attachments von ai-design-screens. Die maximale Dateigröße beträgt in beiden Modi 3 MB. PDFs sind auf 100 Seiten begrenzt. Ausgabe — { id, path, assetUrl, type, mimeType, signedUrl?, uploadCommand?, nextStep? }.
  • type: "image" für Bilddateien und "document" für PDFs und Textdateien.
  • assetUrl: die URL der hochgeladenen Datei, in beiden Modi zurückgegeben. Verwenden Sie sie im JSX für add-screen-jsx oder replace-screen-jsx nur, wenn type den Wert "image" hat, und erst nachdem der uploadCommand aus Modus A ausgeführt wurde.
  • signedUrl, uploadCommand, nextStep: nur in Modus A gesetzt. Übergeben Sie sie nicht an Design-Tools.

Figma-Tools

import-figma

Importiert einen Figma-Frame als bearbeitbare Elemente auf die Canvas einer Flowstep-Datei. Jeder Import erstellt einen neuen Screen. Wenn Sie denselben Frame zweimal importieren, erhalten Sie zwei Screens. Wenn Sie den alten ersetzen wollten, löschen Sie ihn mit delete-screen. Die Organisation der Datei muss Figma in den Flowstep-Einstellungen verbunden haben. Eingabe Ausgabe — { fileId, screenId, frameCount? }. screenId ist der importierte Screen. Übergeben Sie ihn an get-screen-image, um das Ergebnis zu sehen. Wenn eine Seiten-URL mehrere Frames importiert, ist screenId null, und stattdessen wird frameCount zurückgegeben. Rufen Sie dann list-screens auf und danach für jeden neuen Screen get-screen-image.

Tarif- und Abrechnungs-Tools

get-plan-details

Ruft den Flowstep-Tarif Ihrer Organisation, den Abonnementstatus, die Nutzung und das verbleibende Kontingent ab. Es gibt keine Eingabe. Die Organisation wird über den angemeldeten Nutzer ermittelt. Verwenden Sie das Tool, um Ihr Kontingent zu prüfen, bevor Sie die KI-Design-Tools aufrufen. Ausgabe — { plan, subscription, limits, usage, remaining }. Die Limits hängen vom Tarif ab. Siehe Preise und Nutzungslimits.

AI-Design-Tools

Diese drei Tools entwerfen anhand einer Beschreibung oder eines Presets. Sie nehmen oder verwenden nie JSX wieder. Jeder Aufruf nutzt dasselbe Nachrichtenkontingent wie die Flowstep-App und blockiert, bis die Generierung abgeschlossen ist oder das Zeitlimit von 180 Sekunden erreicht ist. Alle drei geben { status, fileId, screenIds, designGuidelinesUpdated } zurück. Rufen Sie für jede screenId einmal get-screen-image auf, um das Ergebnis zu sehen.
  • designGuidelinesUpdated: eine kurze Zusammenfassung der Änderung, wenn die DESIGN.md-Richtlinien der Datei während dieses Durchgangs automatisch aktualisiert wurden. Andernfalls null.

ai-design-screens

Generiert einen oder mehrere neue Screens, ändert bestehende Screens direkt oder erledigt beides in einem Aufruf anhand einer Textbeschreibung. Dazu gehören neue Abläufe, Theming, Texte, Layout oder abgestimmte Änderungen über mehrere Screens hinweg. Dies ist derselbe Design-Agent wie der Chat im Flowstep-Editor. Er entscheidet anhand Ihrer message und elementIds, was erstellt und was geändert wird. Lassen Sie fileId weg, um eine neue Datei zu starten. Übergeben Sie fileId, um in einer bestehenden Datei zu arbeiten. Wenn sich die Anfrage auf eine bereits vorhandene Datei beziehen könnte, sollte Ihr Agent zuerst list-files und list-screens prüfen. Für einen nächsten Schritt, einen Fehler- oder Leerzustand oder eine Plattformvariante eines Screens verwenden Sie ai-generate-screen-variant. Für ein Preset-Redesign oder eine Preset-Bearbeitung eines Screens verwenden Sie ai-edit-screen-variant. Wenn Sie bereits JSX haben, verwenden Sie stattdessen add-screen-jsx oder replace-screen-jsx. Eingabe Beispiel: Einen Screen bearbeiten und in einem Aufruf einen weiteren hinzufügen:
Ausgabe — { status, fileId, screenIds, designGuidelinesUpdated, reply? }.
  • status: "generated", wenn Screens erstellt oder geändert wurden. "chat", wenn Flowstep geantwortet hat, ohne etwas zu erstellen. In diesem Fall enthält reply die Antwort und screenIds ist leer. Ist Ihre Vorgabe unklar, sollte Ihr Agent um Klärung bitten und das Tool erneut aufrufen.
  • screenIds: jeder Screen, der während des Aufrufs erstellt oder geändert wurde, einschließlich Screens, die direkt bearbeitet wurden. Läuft der Aufruf in eine Zeitüberschreitung, nachdem einige Screens erstellt wurden, gibt er diese Screens statt eines Fehlers zurück.
Screens, die Sie bearbeiten lassen, werden an Ort und Stelle überschrieben.

ai-generate-screen-variant

Fügt einen neuen Screen hinzu, der von genau einem bestehenden Screen abgeleitet ist: der nächste Schritt im Flow, ein Fehler- oder Leerzustand oder eine Version für eine andere Plattform. Der ursprüngliche Screen bleibt unverändert. Um einen Screen hinzuzufügen, der keine Variante eines bestehenden Screens ist (zum Beispiel einen Einstellungs-Screen), verwenden Sie ai-design-screens mit einer fileId. Eingabe Ausgabe — { status, fileId, screenIds, designGuidelinesUpdated }. status ist immer "generated".

ai-edit-screen-variant

Ändert genau einen bestehenden Screen direkt mit einem Preset: Gestaltung verfeinern, ein anderes Layout oder einen anderen visuellen Stil ausprobieren oder den Screen von Grund auf neu gestalten. Für neue Screens, freie Anweisungen oder präzise Änderungen an einzelnen Elementen verwenden Sie ai-design-screens. Eingabe Ausgabe — { status, fileId, screenIds, designGuidelinesUpdated }. status ist immer "generated".
Dies überschreibt den Inhalt des Screens an Ort und Stelle.

Umbenannte Tools

Die Namen einiger Tools haben sich im September und Oktober 2026 geändert. Wenn Ihre Prompts, Skripte oder Agenten-Anweisungen die alten Namen verwenden, aktualisieren Sie sie: Auch die Eingaben haben sich geändert: Die KI-Design-Tools nehmen elementIds (bzw. eine einzelne screenId bei den Variant-Tools) statt targets. add-screen-jsx nimmt jsx und explizite Metadatenfelder statt jsxContent mit einem Metadaten-Kommentar. create-file nimmt name statt title. Die Tools für Design-Richtlinien nehmen fileId statt resourceId und linkedTo.