content s bloky obsahu MCP. Textové nástroje vrací { type: "text", text: "<json-string>" }. Obrázkové nástroje vrací { type: "image", data: "<base64>", mimeType: "image/png" }. Při chybě je nastaven isError: true a textový blok obsahuje chybovou zprávu.
Nástroje pro soubory
list-files
Vypište soubory Flowstep pro aktuálního uživatele.
Vstup
Výstup — Pole JSON objektů souborů.
get-file
Získejte jeden soubor podle ID. Obsah souboru je záměrně vynechán — používejte get-screen nebo get-screen-image k prohlídce obrazovek a get-design-guidelines k načtení připojených pokynů.
Vstup
Výstup — Objekt JSON souboru.
create-file
Vytvořte nový soubor Flowstep.
Vstup
Výstup — Objekt JSON souboru s
id nového souboru.
id jako fileId v následujících voláních nástrojů.
update-file
Přejmenujte soubor.
Vstup
Výstup — Aktualizovaný objekt souboru v stejné formě jako
get-file.
delete-file
Trvale odstraňte soubor. Název, který předáte, je ověřen proti skutečnému názvu souboru před odstraněním — pokud se neshoduje, je odstranění zrušeno. To zabraňuje neúmyslnému odstranění nesprávného souboru.
Vstup
Výstup —
"Soubor byl úspěšně smazán"
Nástroje pro obrazovky
list-screens
Vypište všechny vygenerované obrazovky pro soubor. Použijte vrácené hodnoty screenId k odkazování na obrazovky v get-screen, get-screen-image, upload-attachment a jako targets v edit-design, regenerate-design nebo expand-design.
Vstup
Výstup — Pole JSON shrnutí obrazovek.
name je uživatelem přiřazený název obrazovky nebo null, pokud je bez názvu.
get-screen
Získejte kód JSX pro obrazovku, který vám umožní upravit nebo použít kód mimo Flowstep. Místo toho použijte get-screen-image pro vizuální náhled.
Vstup
Výstup — Obrazovka jako kód (JSX). Všimněte si komentáře na prvním řádku, který je vyžadován při používání nástroje
add-screen.
add-screen
Přidá novou obrazovku do souboru Flowstep ze surového řetězce JSX.
Vstup
Poznámka - Komentář podobný tomu níže MUSÍ být přítomen jako první řádek JSX, protože se používá k správnému přidání obrazovky.
screenType, name a screenId jsou všechny volitelné — screenId se používá (interně) je-li přítomný (například při předávání JSX zkopírovaného z výstupu get-screen), ale není povinný. Název obrazovky je převzat z pole name komentáře (zobrazeno jako “Copy of <name>”), nebo “Untitled” pokud chybí.
<!-- screenType: "iphone-x-vertical" width: "375" height: "812" name: "Change to a light theme" colorTheme: "blue" -->
Výstup — ID nově přidané obrazovky.
get-screen-image
Vykreslí obrazovku do formátu PNG a vrátí ji jako vloženou kopii. Vyžaduje klienta, který podporuje bloky obsahu obrázku.
Vstup
Výstup — Blok obsahu obrázku MCP (
image/png).
Nástroje AI
create-new-design
Vygenerujte jeden nebo více návrhů obrazovky z textového promptu. Vynechejte fileId k automatickému vytvoření nového souboru. Blokuje, dokud se generování nedokončí nebo nevypršel časový limit (180 sekund).
Vstup
Výstup —
{ fileId, screenIds }. Předejte každou screenId do get-screen-image k zobrazení výsledků.
regenerate-design
Znovu vytvořte stávající obrazovky od nuly nebo s variantou stylu. Vyžaduje alespoň jednu screenId v targets. Blokuje, dokud se generování nedokončí nebo nevypršel časový limit (180 sekund).
Vstup
Výstup —
{ fileId, screenIds }. Předejte každou screenId do get-screen-image k zobrazení výsledků.
expand-design
Přidejte navazující obrazovky k existujícímu návrhu. Vyžaduje alespoň jednu screenId v targets a povinné operationVariant. Blokuje, dokud se generování nedokončí nebo nevypršel časový limit (180 sekund).
Vstup
Výstup —
{ fileId, screenIds }. Předejte každou screenId do get-screen-image k zobrazení výsledků.
edit-design
Upravujte stávající obrazovky pomocí promptu. Vyžaduje alespoň jednu screenId v targets. Blokuje, dokud se generování nedokončí nebo nevypršel časový limit (180 sekund).
Vstup
Výstup —
{ fileId, screenIds }. Předejte každou screenId do get-screen-image k zobrazení výsledků.
upload-attachment
Nahrajte soubor, který se má používat jako příloha v create-new-design nebo edit-design. Vrací { id, path, type, mimeType } — předejte tento objekt přímo do pole attachments.
Dva režimy:
Režim 1 — Obrazovka podle ID
Předejte screenId a fileId. Server načte stav obrazovky z databáze a vykreslí ji jako obrázek.
Režim 2 — Externí soubor
Předejte obsah souboru přímo. Binární soubory musí být kódovány v base64; textové soubory (včetně zdrojového kódu) jsou předávány jako prostý řetězec UTF-8.
Maximální velikost souboru: 3 MB. Pro velké obrázky preferujte
image/jpeg nad image/png.
Výstup
type je "image" pro nahrávání obrázků/PDF a "document" pro textové/kódové soubory.
Nástroje chatu
get-chat-history
Získejte historii chatových zpráv pro soubor.
Vstup
Výstup — Objekt JSON s polem
messages. Každá zpráva má type ("request" nebo "response"), author ("human" nebo "ai") a content_type ("text", "summary" nebo "followup").
Nástroje pro návrh
get-design-guidelines
Získejte designové pokyny uložené pro soubor.
Vstup
Výstup
guidelines je null, pokud nebyly nastaveny žádné pokyny.
update-design-guidelines
Nastavte nebo nahraďte designové pokyny pro soubor. Pokyny se předávají jako prostý textový řetězec ve formátu design.md od Google — nepředávejte objekt nebo JSON.
Server provádí měkkou validaci a může vrátit část Warnings: v odpovědi s výčtem problémů (neznámé klíče, ne-hexadecimální barvy), které byly přijaty, ale mohou být ignorovány AI. Surfujte tyto chyby uživateli.
Vstup
Pravidla ověřování
- Předmluva musí být otevřena a uzavřena správně
- Řádky předmluvy musí být platný YAML v blokové formě
- Tělo Markdown nesmí obsahovat duplicitní nadpisy oddílů
##
"Designové pokyny byly úspěšně aktualizovány", volitelně následovány oddílem Warnings:.
delete-design-guidelines
Vymažte designové pokyny pro soubor.
Vstup
Výstup —
"Designové pokyny byly úspěšně odstraněny"
Nástroje Figmy
import-figma
Importujte rámeček z Figmy do souboru Flowstep jako editovatelné prvky na jeho plátně. Opětovný import stejného rámečku ho aktualizuje na místě. Organizace souboru musí mít nejdřív připojenou Figmu v nastavení Flowstepu.
Vstup
Výstup —
{ fileId, screenId }. screenId je ID importovaného prvku obrazovky — předejte ho na get-screen-image a zobrazte si výsledek. Pokud odkaz na stránku importuje více rámečků, screenId je null a místo toho se vrací frameCount.