content सरणी मिलाता है MCP सामग्री ब्लॉक। पाठ टूल्स { type: "text", text: "<json-string>" } मिलाता है। छवि टूल्स { type: "image", data: "<base64>", mimeType: "image/png" } मिलाता है। विफलता पर, isError: true सेट किया जाता है और पाठ ब्लॉक त्रुटि संदेश रखता है।
फ़ाइल टूल्स
list-files
वर्तमान उपयोगकर्ता के लिए Flowstep फ़ाइलें सूचीबद्ध करें।
इनपुट
आउटपुट — फ़ाइल ऑब्जेक्ट की JSON सरणी।
get-file
ID के अनुसार एक एकल फ़ाइल प्राप्त करें। फ़ाइल सामग्री जानबूझकर छोड़ दी जाती है — स्क्रीन का निरीक्षण करने के लिए get-screen या get-screen-image का उपयोग करें, और संलग्न दिशानिर्देशों को पुनः प्राप्त करने के लिए get-design-guidelines का उपयोग करें।
इनपुट
आउटपुट — JSON फ़ाइल ऑब्जेक्ट।
create-file
एक नई Flowstep फ़ाइल बनाएं।
इनपुट
आउटपुट — नई फ़ाइल के
id के साथ JSON फ़ाइल ऑब्जेक्ट।
fileId के रूप में लौटाई गई id का उपयोग करें।
update-file
किसी फ़ाइल का नाम बदलें।
इनपुट
आउटपुट —
get-file के समान आकार में अपडेट किया गया फ़ाइल ऑब्जेक्ट।
delete-file
किसी फ़ाइल को स्थायी रूप से हटाएं। आप जो name पास करते हैं वह हटाने से पहले फ़ाइल के वास्तविक नाम के विरुद्ध सत्यापित किया जाता है — यदि यह मेल नहीं खाता है, तो हटाना रद्द कर दिया जाता है। यह गलती से गलत फ़ाइल को हटाने से रोकता है।
इनपुट
आउटपुट —
"File deleted successfully"
स्क्रीन टूल्स
list-screens
किसी फ़ाइल के लिए सभी जेनरेट की गई स्क्रीन सूचीबद्ध करें। लौटाई गई screenId मानों का उपयोग get-screen, get-screen-image, upload-attachment में स्क्रीन को संदर्भित करने के लिए करें, और edit-design, regenerate-design, या expand-design में targets के रूप में।
इनपुट
आउटपुट — स्क्रीन सारांश की JSON सरणी।
name उपयोगकर्ता-असाइन किया गया स्क्रीन नाम है, या अनाम होने पर null।
get-screen
किसी स्क्रीन के लिए JSX कोड प्राप्त करें, जिससे आप कोड को Flowstep के बाहर संपादित या उपयोग कर सकें। दृश्य पूर्वावलोकन के लिए get-screen-image का उपयोग करें।
इनपुट
आउटपुट — कोड के रूप में स्क्रीन (JSX)।
add-screen टूल का उपयोग करते समय पहली पंक्ति टिप्पणी आवश्यक है।
add-screen
किसी Flowstep फ़ाइल में कच्चे JSX स्ट्रिंग से एक नई स्क्रीन जोड़ता है।
इनपुट
ध्यान दें - निम्नलिखित के समान एक टिप्पणी JSX की पहली पंक्ति के रूप में मौजूद होनी चाहिए क्योंकि इसका उपयोग स्क्रीन को सही तरीके से जोड़ने के लिए किया जाता है।
screenType, name, और screenId सभी वैकल्पिक हैं — screenId का उपयोग (आंतरिक रूप से) यदि मौजूद है (जैसे कि get-screen आउटपुट से कॉपी किए गए JSX को पास करते समय) लेकिन अनिवार्य नहीं है। स्क्रीन नाम टिप्पणी के name फ़ील्ड से लिया जाता है (“<name> की कॉपी” के रूप में प्रदर्शित), या अनुपस्थित होने पर “Untitled”।
<!-- screenType: "iphone-x-vertical" width: "375" height: "812" name: "Change to a light theme" colorTheme: "blue" -->
आउटपुट — नई जोड़ी गई स्क्रीन ID।
get-screen-image
किसी स्क्रीन को PNG पर रेंडर करें और इसे इनलाइन छवि के रूप में लौटाएं। छवि सामग्री ब्लॉक का समर्थन करने वाले क्लाइंट की आवश्यकता है।
इनपुट
आउटपुट — MCP छवि सामग्री ब्लॉक (
image/png)।
AI टूल्स
create-new-design
पाठ प्रॉम्प्ट से एक या अधिक स्क्रीन डिज़ाइन जेनरेट करें। नई फ़ाइल को स्वचालित रूप से बनाने के लिए fileId छोड़ दें। जेनरेशन पूरा होने या समय सीमा समाप्त होने तक ब्लॉक करता है (180 सेकंड)।
इनपुट
आउटपुट —
{ fileId, screenIds }। परिणाम देखने के लिए प्रत्येक screenId को get-screen-image को पास करें।
regenerate-design
मौजूदा स्क्रीन को शुरुआत से या शैली भिन्नता के साथ फिर से करें। targets में कम से कम एक screenId की आवश्यकता है। जेनरेशन पूरा होने या समय सीमा समाप्त होने तक ब्लॉक करता है (180 सेकंड)।
इनपुट
आउटपुट —
{ fileId, screenIds }। परिणाम देखने के लिए प्रत्येक screenId को get-screen-image को पास करें।
expand-design
किसी मौजूदा डिज़ाइन में follow-on स्क्रीन जोड़ें। targets में कम से कम एक screenId और एक अनिवार्य operationVariant की आवश्यकता है। जेनरेशन पूरा होने या समय सीमा समाप्त होने तक ब्लॉक करता है (180 सेकंड)।
इनपुट
आउटपुट —
{ fileId, screenIds }। परिणाम देखने के लिए प्रत्येक screenId को get-screen-image को पास करें।
edit-design
मौजूदा स्क्रीन को प्रॉम्प्ट के माध्यम से संशोधित करें। targets में कम से कम एक screenId की आवश्यकता है। जेनरेशन पूरा होने या समय सीमा समाप्त होने तक ब्लॉक करता है (180 सेकंड)।
इनपुट
आउटपुट —
{ fileId, screenIds }। परिणाम देखने के लिए प्रत्येक screenId को get-screen-image को पास करें।
upload-attachment
create-new-design या edit-design में उपयोग के लिए किसी फ़ाइल को अपलोड करें। { id, path, type, mimeType } लौटाता है — इस ऑब्जेक्ट को सीधे attachments सरणी में पास करें।
दो मोड:
मोड 1 — ID के अनुसार स्क्रीन
screenId और fileId पास करें। सर्वर डेटाबेस से स्क्रीन स्थिति को प्राप्त करता है और इसे छवि के रूप में रेंडर करता है।
मोड 2 — बाहरी फ़ाइल
फ़ाइल सामग्री सीधे पास करें। बाइनरी फ़ाइलें base64-एन्कोडेड होनी चाहिए; पाठ फ़ाइलें (स्रोत कोड सहित) सादा UTF-8 स्ट्रिंग के रूप में पास की जाती हैं।
अधिकतम फ़ाइल आकार: 3 MB। बड़ी छवियों के लिए
image/webp से अधिक image/jpeg पसंद करें।
आउटपुट
type छवि/PDF अपलोड के लिए "image" है और पाठ/कोड फ़ाइलों के लिए "document"।
चैट टूल्स
get-chat-history
किसी फ़ाइल के लिए चैट संदेश इतिहास प्राप्त करें।
इनपुट
आउटपुट —
messages सरणी वाला JSON ऑब्जेक्ट। प्रत्येक संदेश के पास type ("request" या "response"), author ("human" या "ai"), और content_type ("text", "summary", या "followup") है।
डिज़ाइन टूल्स
get-design-guidelines
किसी फ़ाइल के लिए संग्रहीत डिज़ाइन दिशानिर्देश प्राप्त करें।
इनपुट
आउटपुट
guidelines null है यदि कोई दिशानिर्देश सेट नहीं किए गए हैं।
update-design-guidelines
किसी फ़ाइल के लिए डिज़ाइन दिशानिर्देश सेट या बदलें। दिशानिर्देश Google के design.md प्रारूप में सादे पाठ स्ट्रिंग के रूप में पास किए जाते हैं — ऑब्जेक्ट या JSON पास न करें।
सर्वर सॉफ़्ट सत्यापन करता है और प्रतिक्रिया में समस्याओं (अज्ञात कुंजियाँ, गैर-हेक्स रंग) को सूचीबद्ध करते हुए एक Warnings: अनुभाग लौटा सकता है जो स्वीकार किए गए थे लेकिन AI द्वारा अनदेखा किए जा सकते हैं। उपयोगकर्ता को ये दिखाएं।
इनपुट
सत्यापन नियम
- Frontmatter को सही तरीके से खोला और बंद किया जाना चाहिए
- Frontmatter पंक्तियाँ वैध block-style YAML होनी चाहिए
- Markdown निकाय में डुप्लिकेट
##अनुभाग headings नहीं होना चाहिए
"Design guidelines updated successfully", वैकल्पिक रूप से Warnings: अनुभाग द्वारा पीछा किया गया।
delete-design-guidelines
किसी फ़ाइल के लिए डिज़ाइन दिशानिर्देश साफ़ करें।
इनपुट
आउटपुट —
"Design guidelines deleted successfully"
Figma टूल्स
import-figma
Figma फ़्रेम को Flowstep फ़ाइल में संपादन योग्य तत्वों के रूप में अपने कैनवास में आयात करें। एक ही फ़्रेम को फिर से आयात करने से यह स्थान पर अपडेट हो जाता है। फ़ाइल के संगठन को Flowstep सेटिंग्स में Figma से जुड़ा होना चाहिए।
इनपुट
आउटपुट —
{ fileId, screenId }। screenId आयात की गई स्क्रीन तत्व की id है — परिणाम देखने के लिए इसे get-screen-image को पास करें। जब पृष्ठ URL कई फ़्रेम आयात करता है, तो screenId null है और frameCount इसके बजाय लौटाया जाता है।