content من كتل محتوى MCP. تُرجع أدوات النصوص { type: "text", text: "<json-string>" }. تُرجع أدوات الصور { type: "image", data: "<base64>", mimeType: "image/png" }. في حالة الفشل، يتم تعيين isError: true وتحتوي كتلة النص على رسالة الخطأ.
أدوات الملف
list-files
اسرد ملفات Flowstep للمستخدم الحالي.
الإدخال
| البارامتر | النوع | القيمة الافتراضية | الوصف |
|---|---|---|---|
orderByCreation | boolean | true | ترتيب حسب تاريخ الإنشاء |
limit | integer (1–100) | 20 | عدد الملفات المراد إرجاعها |
offset | integer (≥0) | 0 | إزاحة الترقيم |
get-file
احصل على ملف واحد من خلال معرّف. تم حذف محتوى الملف بقصد — استخدم get-screen أو get-screen-image لفحص الشاشات، وget-design-guidelines لاسترجاع الإرشادات المرفقة.
الإدخال
| البارامتر | النوع | الوصف |
|---|---|---|
id | uuid | معرّف الملف |
create-file
أنشئ ملف Flowstep جديد.
الإدخال
| البارامتر | النوع | الوصف |
|---|---|---|
title | string (min 1) | اسم الملف |
id الملف الجديد.
id المرجعة كـ fileId في استدعاءات الأدوات اللاحقة.
update-file
أعد تسمية الملف.
الإدخال
| البارامتر | النوع | الوصف |
|---|---|---|
id | uuid | معرّف الملف |
name | string (min 1) | الاسم الجديد |
get-file.
delete-file
حذف ملف بشكل دائم. يتم التحقق من name الذي تمرره مقابل اسم الملف الفعلي قبل الحذف — إذا لم تطابق، يتم إيقاف الحذف. يمنع هذا الحذف العرضي للملف الخطأ.
الإدخال
| البارامتر | النوع | الوصف |
|---|---|---|
id | uuid | معرّف الملف |
name | string | الاسم الحالي للملف — يجب أن يطابق بدقة وإلا سيتم إيقاف الحذف |
"File deleted successfully"
أدوات الشاشة
list-screens
اسرد جميع الشاشات المُنشأة لملف. استخدم قيم screenId المُرجعة للإشارة إلى الشاشات في get-screen وget-screen-image وupload-attachment، وكـ targets في edit-design أو regenerate-design أو expand-design.
الإدخال
| البارامتر | النوع | الوصف |
|---|---|---|
fileId | uuid | معرّف الملف |
name هو اسم الشاشة المعيّن من قِبل المستخدم، أو null إذا لم تُسَمّ.
get-screen
احصل على كود JSX للشاشة مما يسمح لك بتحرير الكود أو استخدامه خارج Flowstep. استخدم get-screen-image للحصول على معاينة بصرية بدلاً من ذلك.
الإدخال
| البارامتر | النوع | الوصف |
|---|---|---|
fileId | uuid | معرّف الملف |
screenId | uuid | screenId المُرجعة من list-screens أو من مصفوفة screenIds المُرجعة من أداة التصميم |
add-screen.
add-screen
أضف شاشة جديدة إلى ملف Flowstep من سلسلة JSX نصية.
الإدخال
| البارامتر | النوع | الوصف |
|---|---|---|
fileId | uuid | معرّف الملف |
jsxContent | string | JSX لإضافتها إلى الملف كشاشة |
screenType | string | مطلوب إذا لم يتم تحديد نوع الشاشة كتعليق في بداية JSX |
screenType وname وscreenId جميعها اختيارية — يتم استخدام screenId (داخلياً) إذا كان موجوداً (مثل عند تمرير JSX المنسوخة من إخراج get-screen) ولكن ليس إلزامياً. يتم أخذ اسم الشاشة من حقل name في التعليق (معروض كـ “Copy of <name>”)، أو “Untitled” إذا كان غائباً.
<!-- screenType: "iphone-x-vertical" width: "375" height: "812" name: "Change to a light theme" colorTheme: "blue" -->
الإخراج — معرّف الشاشة المضافة حديثاً.
get-screen-image
قم بتصيير الشاشة إلى PNG وأرجعها كصورة مضمنة. يتطلب عميلاً يدعم كتل محتوى الصور.
الإدخال
| البارامتر | النوع | الوصف |
|---|---|---|
fileId | uuid | معرّف الملف |
screenId | uuid | screenId المُرجعة من list-screens أو من مصفوفة screenIds المُرجعة من أداة التصميم |
image/png).
أدوات الذكاء الاصطناعي
create-new-design
أنشئ تصاميم شاشة واحدة أو أكثر من موجّه نصي. حذف fileId لإنشاء ملف جديد تلقائياً. يحجز حتى اكتمال الإنشاء أو انتهاء المهلة الزمنية (180 ثانية).
الإدخال
| البارامتر | النوع | القيمة الافتراضية | الوصف |
|---|---|---|---|
fileId | uuid | — | الملف المستهدف — حذف لإنشاء ملف جديد تلقائياً |
message | string | — | موجّه يصف الشاشات المراد إنشاؤها |
attachments | AttachmentRequestData[] (max 5) | [] | المرفقات المحملة مسبقاً — صور أو ملفات PDF أو ملفات أكواد. احمِل دائماً عبر upload-attachment أولاً؛ لا تضمّن محتويات الملف في الرسالة |
designs | DesignRequestData[] | [] | مراجع التصميم |
{ fileId, screenIds }. مرر كل screenId إلى get-screen-image لعرض النتائج.
regenerate-design
أعِد إنشاء الشاشات الموجودة من الصفر أو بتباين نمط. يتطلب واحدة على الأقل screenId في targets. يحجز حتى اكتمال الإنشاء أو انتهاء المهلة الزمنية (180 ثانية).
الإدخال
| البارامتر | النوع | القيمة الافتراضية | الوصف |
|---|---|---|---|
fileId | uuid | — | الملف المستهدف |
message | string | — | نص الموجّه |
targets | uuid[] (min 1) | — | معرفات الشاشات المراد إعادة إنشاؤها |
operationVariant | "different_layout" | "different_style" | "from_scratch" | — | تباين النمط الاختياري |
designs | DesignRequestData[] | [] | مراجع التصميم (تُحل تلقائياً) |
{ fileId, screenIds }. مرر كل screenId إلى get-screen-image لعرض النتائج.
expand-design
أضف شاشات متابعة إلى تصميم موجود. يتطلب واحدة على الأقل screenId في targets وoperationVariant إلزامي. يحجز حتى اكتمال الإنشاء أو انتهاء المهلة الزمنية (180 ثانية).
الإدخال
| البارامتر | النوع | القيمة الافتراضية | الوصف |
|---|---|---|---|
fileId | uuid | — | الملف المستهدف |
message | string | — | نص الموجّه |
targets | uuid[] (min 1) | — | معرفات الشاشات المراد التوسع منها |
operationVariant | "next_screen" | "error_state" | "empty_state" | "web_version" | "mobile_version" | "tablet_version" | "mobile_ios_version" | "mobile_android_version" | — | مطلوب — نوع الشاشة التالية المراد إنشاؤها |
designs | DesignRequestData[] | [] | مراجع التصميم (تُحل تلقائياً) |
{ fileId, screenIds }. مرر كل screenId إلى get-screen-image لعرض النتائج.
edit-design
عدّل الشاشات الموجودة عبر موجّه. يتطلب واحدة على الأقل screenId في targets. يحجز حتى اكتمال الإنشاء أو انتهاء المهلة الزمنية (180 ثانية).
الإدخال
| البارامتر | النوع | القيمة الافتراضية | الوصف |
|---|---|---|---|
fileId | uuid | — | الملف المستهدف |
message | string | — | تعليمات تصف التحريرات المراد تطبيقها |
targets | uuid[] (min 1) | — | معرفات الشاشات المراد تحريرها |
operationVariant | "dark_theme" | "light_theme" | "make_pretty" | — | اختصار النمط الاختياري |
attachments | AttachmentRequestData[] (max 5) | [] | المرفقات المحملة مسبقاً. احمِل دائماً عبر upload-attachment أولاً |
designs | DesignRequestData[] | [] | مراجع التصميم (تُحل تلقائياً) |
{ fileId, screenIds }. مرر كل screenId إلى get-screen-image لعرض النتائج.
upload-attachment
احمِل ملف لاستخدامه كمرفق في create-new-design أو edit-design. يُرجع { id, path, type, mimeType } — مرر هذا الكائن مباشرة إلى مصفوفة attachments.
نمطان:
الوضع 1 — الشاشة حسب المعرّف
مرر screenId وfileId. يجلب الخادم حالة الشاشة من قاعدة البيانات ويصيّرها كصورة.
| البارامتر | النوع | الوصف |
|---|---|---|
fileId | uuid | الملف الذي يحتوي على الشاشة (مطلوب) |
screenId | uuid | الشاشة المراد تصييرها |
| البارامتر | النوع | الوصف |
|---|---|---|
fileData | string | محتوى الملف — base64 للملفات الثنائية، سلسلة UTF-8 للنصوص |
fileName | string | اسم الملف الأصلي |
mimeType | "image/jpeg" | "image/png" | "image/webp" | "application/pdf" | "text/plain" | "text/javascript" | نوع MIME. استخدم text/javascript لملفات .jsx و.tsx و.js و.ts |
image/jpeg بدلاً من image/png.
الإخراج
type هو "image" لتحميلات الصور/PDF و"document" لملفات النصوص/الأكواد.
أدوات الدردشة
get-chat-history
احصل على سجل رسائل الدردشة لملف.
الإدخال
| البارامتر | النوع | الوصف |
|---|---|---|
fileId | uuid | معرّف الملف |
messages. لكل رسالة type ("request" أو "response")، وauthor ("human" أو "ai")، وcontent_type ("text" أو "summary" أو "followup").
أدوات التصميم
get-design-guidelines
احصل على إرشادات التصميم المخزنة لملف.
الإدخال
| البارامتر | النوع | القيمة الافتراضية | الوصف |
|---|---|---|---|
resourceId | uuid | — | معرّف الملف |
linkedTo | "file" | "file" | نوع المورد |
guidelines هو null إذا لم يتم تعيين أي إرشادات.
update-design-guidelines
عيّن أو استبدل إرشادات التصميم لملف. تُمرر الإرشادات كسلسلة نصية عادية بتنسيق design.md من Google — لا تمرر كائناً أو JSON.
يقوم الخادم بالتحقق الناعم وقد يرجع قسم Warnings: في الاستجابة يسرد المشاكل (المفاتيح غير المعروفة والألوان غير السادسة عشرية) التي تم قبولها ولكن قد يتم تجاهلها بواسطة الذكاء الاصطناعي. اعرض هذه للمستخدم.
الإدخال
| البارامتر | النوع | القيمة الافتراضية | الوصف |
|---|---|---|---|
resourceId | uuid | — | معرّف الملف |
designGuidelines | string (min 1) | — | محتوى النص الخام للإرشادات. يجب أن تكون سلسلة عادية — ليست مشفرة بصيغة JSON |
linkedTo | "file" | "file" | نوع المورد |
- يجب فتح وإغلاق الواجهة الأمامية بشكل صحيح
- يجب أن تكون سطور الواجهة الأمامية بصيغة YAML صحيحة بأسلوب الكتلة
- يجب ألا يحتوي نص Markdown على عناوين قسم
##مكررة
"Design guidelines updated successfully"، متبوعاً بقسم Warnings: اختياري.
delete-design-guidelines
امسح إرشادات التصميم لملف.
الإدخال
| البارامتر | النوع | القيمة الافتراضية | الوصف |
|---|---|---|---|
resourceId | uuid | — | معرّف الملف |
linkedTo | "file" | "file" | نوع المورد |
"Design guidelines deleted successfully"