get-screen-image mengembalikan hasilnya dua kali: sebagai structuredContent (divalidasi terhadap skema output alat yang dipublikasikan) dan sebagai objek yang sama yang diserialisasi ke dalam blok teks, { type: "text", text: "<json-string>" }, untuk klien yang tidak membaca structured content. get-screen-image hanya mengembalikan blok gambar MCP: { type: "image", data: "<base64>", mimeType: "image/png" }.
Saat gagal, isError: true diatur dan blok teks berisi pesan error singkat. Error yang bisa Anda tindak lanjuti, seperti nama yang tidak cocok saat menghapus, tautan Figma yang tidak valid, panduan desain yang tidak valid, masalah lampiran, atau batas waktu generasi, menjelaskan apa yang perlu diperbaiki. Kegagalan lain mengembalikan pesan umum seperti Failed to list files.
Harga: ketiga alat desain AI, yaitu
ai-design-screens, ai-generate-screen-variant, dan ai-edit-screen-variant, menggunakan kuota pesan yang sama dengan aplikasi Flowstep. Semua alat lainnya gratis. Lihat Batas penggunaan.delete-file, delete-screen, delete-design-guidelines, replace-screen-jsx, ai-design-screens, dan ai-edit-screen-variant ditandai sebagai destruktif karena menghapus atau menimpa konten yang sudah ada.
Alat file
list-files
Cantumkan metadata file Flowstep Anda. Panggil ini terlebih dahulu untuk memeriksa apakah file yang relevan sudah ada. Alat ini tidak mengembalikan konten layar. Gunakan get-screen-image atau get-screen-jsx untuk itu.
Input
Output —
{ files }.
owner—truejika Anda membuat file tersebut.shared_with_me—truejika file dibagikan langsung kepada Anda, bukan hanya melalui organisasi Anda.url— membuka file di editor Flowstep.
get-file
Dapatkan metadata untuk satu file. Konten file sengaja tidak disertakan. Gunakan get-screen-image atau get-screen-jsx untuk memeriksa layar, dan get-design-guidelines untuk mengambil panduan desain yang terlampir. Jika Anda memiliki undangan tertunda ke file tersebut, memanggil get-file akan menerimanya.
Input
Output —
{ file, user_access_level }.
access_level—private,read, atauwrite.visibility—private,member, ataupublic.user_access_level— akses Anda ke file:readatauwrite.
create-file
Buat file Flowstep kosong tanpa layar. Untuk membuat file dan menghasilkan layar sekaligus, panggil ai-design-screens tanpa fileId. Gunakan create-file untuk alur kerja berbasis kode, dilanjutkan dengan add-screen-jsx.
Input
Output —
{ file, user_access_level }, dengan bentuk yang sama seperti get-file. owner selalu true dan user_access_level selalu write.
Gunakan file.id yang dikembalikan sebagai fileId pada pemanggilan alat berikutnya.
update-file
Ganti nama file.
Input
Output —
{ file, user_access_level }, dengan bentuk yang sama seperti get-file.
delete-file
Hapus file secara permanen. name yang Anda berikan dicocokkan dengan nama tampilan file saat ini sebelum penghapusan. Jika tidak cocok, penghapusan dibatalkan. Ini mencegah penghapusan file yang salah secara tidak sengaja. Agen diinstruksikan untuk meminta konfirmasi dari Anda terlebih dahulu.
Input
Output —
{ "deleted": true }
Alat layar
list-screens
Cantumkan layar dalam file, sesuai urutan di kanvas. Panggil ini setelah list-files untuk melihat isi file. Gunakan nilai screenId yang dikembalikan dengan alat layar lainnya dan alat desain AI.
Input
Output —
{ screens }.
prompt— prompt generasi terakhir untuk layar, atau string kosong jika layar tidak pernah dibuat dengan AI (misalnya layar yang ditambahkan denganadd-screen-jsx).fidelity—lofi,hifi, atauui.
get-screen-image
Render layar menjadi PNG dan kembalikan sebagai gambar inline. Memerlukan klien yang mendukung blok konten gambar. Panggil sekali untuk setiap screenId yang dikembalikan oleh alat desain AI, add-screen-jsx, replace-screen-jsx, atau import-figma.
Input
Output — blok konten gambar MCP (
image/png). data adalah base64 standar dari byte PNG, bukan data URI. Alat ini tidak memiliki structuredContent.
get-screen-jsx
Dapatkan layar sebagai JSX beserta metadatanya, sehingga Anda bisa membangun dari situ di basis kode Anda, atau mengeditnya dan menulisnya kembali dengan replace-screen-jsx. Gunakan get-screen-image untuk pratinjau visual.
Input
Output —
{ fileId, screenId, name, prompt, fidelity, screenType, colorTheme, jsx, fragments }.
jsx— hanya markup. Atributdata-iddisertakan hanya jikaincludeIdsbernilaitrue.prompt— prompt generasi terakhir, atau string kosong jika layar tidak pernah dibuat dengan AI.fragments— chrome bersama yang tersimpan di layar, seperti nav bar, header, atau logo, sebagai objek{ purpose, markup }. Kosong jika tidak ada. Teruskan kembali kereplace-screen-jsxuntuk mempertahankan atau memperbarui fragmen tersebut.
fidelity, screenType, dan colorTheme.
add-screen-jsx
Tambahkan layar baru ke file dari JSX yang Anda tulis. Ini adalah jalur berbasis kode dan gratis. Gunakan ai-design-screens jika Anda ingin AI Flowstep yang mendesain layarnya. add-screen-jsx selalu membuat layar baru. Untuk menimpa layar yang sudah ada, gunakan replace-screen-jsx.
Untuk menampilkan gambar yang sudah Anda unggah, lihat Gambar di JSX.
Jika layar baru didasarkan pada layar yang sudah ada, mulailah dari get-screen-jsx (tanpa includeIds) untuk name, fidelity, screenType, colorTheme, dan jsx, lalu ubah apa pun yang seharusnya berbeda.
Input
Output —
{ fileId, screenId }. Panggil get-screen-image dengan screenId untuk melihat hasilnya.
replace-screen-jsx
Timpa layar yang sudah ada dengan JSX yang Anda tulis. Layar mempertahankan screenId dan posisinya di kanvas. Elemen bersarang mendapatkan id baru. Ini adalah jalur berbasis kode dan gratis. Gunakan ai-design-screens atau ai-edit-screen-variant untuk perubahan AI, dan add-screen-jsx untuk membuat layar baru.
Mulailah dari get-screen-jsx (tanpa includeIds), lalu ubah apa pun yang seharusnya berbeda. Untuk menampilkan gambar yang sudah Anda unggah, lihat Gambar di JSX.
Input
Output —
{ fileId, screenId }. Panggil get-screen-image dengan screenId untuk melihat hasilnya.
rename-screen
Ganti nama label kanvas layar, yaitu nama yang ditampilkan oleh list-screens dan di editor. Ini hanya mengubah label, bukan tata letak, ukuran, atau kontennya. Untuk itu, gunakan ai-design-screens.
Input
Output —
{ screenId, name }.
delete-screen
Hapus layar secara permanen dari file. name yang Anda berikan dicocokkan dengan nama tampilan layar saat ini. Jika tidak cocok, penghapusan dibatalkan. Agen diinstruksikan untuk meminta konfirmasi dari Anda terlebih dahulu.
Input
Output —
{ "deleted": true }
Images in JSX
add-screen-jsx dan replace-screen-jsx menerima gambar di src pada img, atau sebagai latar belakang di className dengan bg-[url(...)]. Tulis teks alt, dan sesuaikan ukuran setiap gambar dengan tujuannya.
Untuk menempatkan gambar Anda sendiri:
- Unggah dengan
upload-attachmentdalam Mode A (mimeType+fileName), lalu jalankanuploadCommandyang dikembalikan. - Jika
typerespons adalah"image", tempelassetUrlpersis seperti yang dikembalikan keimg srcataubg-[url(assetUrl)].
get-screen-jsx. Jangan letakkan path, signedUrl, atau uploadCommand di src.
Screen field values
get-screen-jsx mengembalikan, dan add-screen-jsx serta replace-screen-jsx menerima, nilai-nilai berikut:
Alat panduan desain
Panduan desain adalah teksDESIGN.md yang disimpan pada file. Jika diatur, panduan tersebut disertakan dalam setiap generasi AI untuk file itu. Lihat Panduan Desain.
get-design-guidelines
Dapatkan panduan desain yang terlampir pada file.
Input
Output —
{ guidelines }.
guidelines bernilai null jika belum ada panduan yang diatur.
update-design-guidelines
Atur atau ganti panduan desain untuk file. Berikan panduan sebagai string biasa dalam format DESIGN.md dari Google, bukan objek atau JSON. Jika Anda membacanya dari sebuah file, berikan teks file tersebut.
Input
Aturan validasi
- Frontmatter harus dibuka dan ditutup dengan benar
- Baris frontmatter harus berupa YAML gaya blok yang valid
- Badan Markdown tidak boleh berisi heading bagian
##yang duplikat
Invalid design guidelines:.
Output — { updated, warnings? }.
warnings berisi masalah validasi lunak (kunci yang tidak dikenal, warna non-hex) yang diterima tetapi mungkin diabaikan oleh AI. Field ini dihilangkan jika tidak ada. Sampaikan peringatan ini kepada pengguna.
delete-design-guidelines
Hapus panduan desain untuk file. Menghapus panduan yang tidak ada tidak memberikan efek apa pun.
Input
Output —
{ "deleted": true }
Alat chat
get-chat-history
Dapatkan percakapan desain yang terkait dengan file, yaitu chat Flowstep untuk file tersebut, bukan percakapan klien MCP Anda. Gunakan untuk melanjutkan pekerjaan sebelumnya pada file.
Input
Output —
{ messages }. messages kosong jika Anda tidak memiliki percakapan desain pada file. Setiap pesan memiliki type ("request" atau "response"), author ("human" atau "ai"), dan content_type. Pesan respons menggunakan "text", "summary", atau "followup".
Alat lampiran
upload-attachment
Unggah file referensi untuk digunakan sebagai lampiran di ai-design-screens, atau gambar untuk ditempatkan di JSX Anda sendiri dengan add-screen-jsx atau replace-screen-jsx. ai-generate-screen-variant dan ai-edit-screen-variant tidak menerima lampiran. Byte file tidak pernah melewati model, dan server tidak pernah mengambil URL atas nama Anda. Untuk merujuk ke halaman web, sertakan URL-nya di message pada ai-design-screens.
Ada dua mode. Gunakan salah satu saja, dan jangan dikombinasikan.
Mode A: file dan gambar (mimeType + fileName)
Alur tiga langkah yang wajib untuk gambar, PDF, atau file teks yang lebih besar:
-
Panggil
upload-attachmenthanya denganmimeTypedanfileName(misalnyaimage/pngdandog.png). Respons-nya adalah unggahan yang disiapkan, bukan file yang sudah disimpan: -
Ganti
LOCAL_FILE_PATHdiuploadCommanddengan path absolut ke file Anda, lalu jalankan perintah persis itu di shell Anda. Perintah harus keluar dengan kode 0. Token disignedUrlhanya mengotorisasi unggahan tunggal ini. Melewati langkah ini membuat penyimpanan kosong, dan alat desain gagal pada pemeriksaan awalnya. -
Teruskan hanya
{ id, path, type }ke arrayattachmentsdiai-design-screens, bukansignedUrl,uploadCommand, ataunextStep. Untuk menempatkan gambar di JSX Anda sendiri, masukkanassetUrlkeimg srcataubg-[url(...)]pada JSX yang Anda teruskan keadd-screen-jsxataureplace-screen-jsx. Lihat Gambar di JSX.
curl), lalu ikuti tiga langkah yang sama. Jangan pernah memberikan URL ke upload-attachment.
Mode B: teks pendek (
text + mimeType)
Unggah teks yang sudah ada dalam konteks, tanpa perlu perintah shell. Respons-nya siap digunakan secara langsung:
Teruskan
{ id, path, type } yang dihasilkan ke array attachments di ai-design-screens.
Ukuran file maksimum adalah 3 MB di kedua mode, dan PDF dibatasi hingga 100 halaman.
Output — { id, path, assetUrl, type, mimeType, signedUrl?, uploadCommand?, nextStep? }.
type—"image"untuk file gambar dan"document"untuk PDF dan file teks.assetUrl— URL file yang diunggah, dikembalikan di kedua mode. Gunakan di JSX untukadd-screen-jsxataureplace-screen-jsxhanya jikatypeadalah"image", dan hanya setelahuploadCommandMode A dijalankan.signedUrl,uploadCommand,nextStep— hanya diatur di Mode A. Jangan teruskan ke alat desain.
Alat Figma
import-figma
Impor frame Figma ke file Flowstep sebagai elemen yang bisa diedit di kanvasnya. Setiap impor menambahkan layar baru. Mengimpor frame yang sama dua kali akan menghasilkan dua layar, jadi hapus yang lama dengan delete-screen jika Anda ingin menggantinya. Organisasi pemilik file harus sudah menghubungkan Figma di pengaturan Flowstep.
Input
Output —
{ fileId, screenId, frameCount? }. screenId adalah layar yang diimpor, berikan ke get-screen-image untuk melihat hasilnya. Ketika URL halaman mengimpor beberapa frame, screenId bernilai null dan frameCount dikembalikan sebagai gantinya. Panggil list-screens, lalu get-screen-image untuk setiap layar baru.
Alat paket dan penagihan
get-plan-details
Dapatkan paket Flowstep organisasi Anda, status langganan, penggunaan, dan kuota yang tersisa. Tidak memerlukan input. Organisasi ditentukan dari pengguna yang sedang masuk. Gunakan untuk memeriksa kuota Anda sebelum memanggil alat desain AI.
Output — { plan, subscription, limits, usage, remaining }.
Batas bervariasi menurut paket. Lihat Harga dan Batas penggunaan.
AI design tools
Ketiga alat ini mendesain dari deskripsi atau preset. Mereka tidak pernah menerima atau menggunakan ulang JSX. Setiap pemanggilan menggunakan kuota pesan yang sama dengan aplikasi Flowstep, dan menunggu sampai generasi selesai atau habis waktu (180 detik).
Ketiganya mengembalikan
{ status, fileId, screenIds, designGuidelinesUpdated }. Panggil get-screen-image sekali untuk setiap screenId untuk melihat hasilnya.
designGuidelinesUpdated— ringkasan singkat perubahan ketika panduanDESIGN.mdpada file diperbarui secara otomatis selama giliran ini; jika tidak, bernilainull.
ai-design-screens
Buat satu atau beberapa layar baru, ubah layar yang sudah ada di tempat, atau keduanya dalam satu pemanggilan, dari deskripsi teks. Ini mencakup alur baru, tema, salinan, tata letak, atau perubahan terkoordinasi di beberapa layar. Ini adalah agen desain yang sama dengan chat di editor Flowstep: ia memutuskan dari message dan elementIds Anda apa yang harus dibuat dan apa yang harus diubah.
Hilangkan fileId untuk memulai file baru. Berikan fileId untuk bekerja di file yang sudah ada. Jika permintaan dapat berlaku untuk file yang sudah Anda miliki, agen Anda sebaiknya memeriksa list-files dan list-screens terlebih dahulu. Untuk langkah berikutnya, kondisi error atau kosong, atau varian platform dari satu layar, gunakan ai-generate-screen-variant. Untuk preset edit atau desain ulang satu layar, gunakan ai-edit-screen-variant. Jika Anda sudah memiliki JSX, gunakan add-screen-jsx atau replace-screen-jsx sebagai gantinya.
Input
Contoh: edit satu layar dan tambahkan layar lain dalam satu pemanggilan:
{ status, fileId, screenIds, designGuidelinesUpdated, reply? }.
status—"generated"ketika layar dibuat atau diubah."chat"ketika Flowstep membalas tanpa membuat apa pun, dalam hal inireplyberisi jawabannya danscreenIdskosong. Jika permintaan Anda ambigu, agen Anda sebaiknya meminta Anda memperjelas lalu memanggil alat lagi.screenIds— setiap layar yang dibuat atau diubah selama pemanggilan, termasuk layar yang diedit di tempat. Jika pemanggilan habis waktu setelah beberapa layar dibuat, alat mengembalikan layar tersebut alih-alih error.
ai-generate-screen-variant
Tambahkan layar baru yang diturunkan dari tepat satu layar yang sudah ada: langkah berikutnya dalam alur, kondisi error atau kosong, atau versi untuk platform lain. Layar asli tidak berubah. Untuk menambahkan layar yang bukan varian dari layar yang sudah ada (misalnya layar pengaturan), gunakan ai-design-screens dengan fileId.
Input
Output —
{ status, fileId, screenIds, designGuidelinesUpdated }. status selalu "generated".
ai-edit-screen-variant
Ubah tepat satu layar yang sudah ada di tempat menggunakan preset: beri tema atau poles layar, coba tata letak atau gaya visual yang berbeda, atau desain ulang dari awal. Untuk layar baru, instruksi bebas, atau edit presisi pada elemen individual, gunakan ai-design-screens.
Input
Output —
{ status, fileId, screenIds, designGuidelinesUpdated }. status selalu "generated".
Alat yang diganti namanya
Nama alat berubah pada September dan Oktober 2026. Jika Anda memiliki prompt, skrip, atau instruksi agen yang masih memakai nama lama, perbaruilah:
Input juga berubah: alat desain AI menerima
elementIds (atau screenId tunggal untuk alat varian) sebagai pengganti targets, add-screen-jsx menerima jsx dan field metadata eksplisit sebagai pengganti jsxContent dengan komentar metadata, create-file menerima name sebagai pengganti title, dan alat panduan desain menerima fileId sebagai pengganti resourceId dan linkedTo.