content من كتل محتوى MCP. تعيد أدوات النصوص { type: "text", text: "<json-string>" }. تعيد أدوات الصور { type: "image", data: "<base64>", mimeType: "image/png" }. عند الفشل، يتم تعيين isError: true وتحتوي كتلة النص على رسالة الخطأ.
أدوات الملفات
list-files
قائمة ملفات Flowstep للمستخدم الحالي.
الإدخال
المخرجات — صفيف JSON من كائنات الملفات.
get-file
احصل على ملف واحد حسب المعرّف. يتم حذف محتوى الملف عن قصد — استخدم get-screen أو get-screen-image لفحص الشاشات، و get-design-guidelines لاسترجاع الإرشادات المرفقة.
الإدخال
المخرجات — كائن ملف JSON.
create-file
أنشئ ملف Flowstep جديد.
الإدخال
المخرجات — كائن ملف JSON مع معرّف الملف الجديد
id.
id المرجع كـ fileId في استدعاءات الأداة اللاحقة.
update-file
أعد تسمية ملف.
الإدخال
المخرجات — كائن الملف المحدث بنفس شكل
get-file.
delete-file
حذف ملف بشكل دائم. يتم التحقق من الاسم الذي تمرره مقابل اسم الملف الفعلي قبل الحذف — إذا لم يطابق، يتم إيقاف الحذف. هذا يمنع الحذف العرضي للملف الخاطئ.
الإدخال
المخرجات —
"تم حذف الملف بنجاح"
أدوات الشاشة
list-screens
قائمة جميع الشاشات المُنشأة لملف. استخدم قيم screenId المرجعة لعزل الشاشات في get-screen و get-screen-image و upload-attachment وكـ targets في edit-design و regenerate-design أو expand-design.
الإدخال
المخرجات — صفيف JSON من ملخصات الشاشات.
name هو اسم الشاشة المخصص من قِبل المستخدم، أو null إذا لم يتم تسميتها.
get-screen
احصل على رمز JSX لشاشة تسمح لك بتحرير أو استخدام الكود خارج Flowstep. استخدم get-screen-image لمعاينة بصرية بدلاً من ذلك.
الإدخال
المخرجات — الشاشة كرمز (JSX). لاحظ تعليق السطر الأول المطلوب عند استخدام أداة
add-screen.
add-screen
أضف شاشة جديدة إلى ملف Flowstep من سلسلة JSX الخام.
الإدخال
ملاحظة - يجب أن يكون تعليق مشابه لما يلي موجوداً كسطر أول من JSX لأنه يُستخدم لإضافة الشاشة بشكل صحيح.
screenType و name و screenId كلها اختيارية — يُستخدم screenId (داخلياً) إذا كان موجوداً (على سبيل المثال عند تمرير JSX المنسوخ من مخرجات get-screen) لكنه ليس إلزامياً. يتم أخذ اسم الشاشة من حقل name في التعليق (معروض كـ “نسخة من <name>”)، أو “بدون عنوان” إذا كان غائباً.
<!-- screenType: "iphone-x-vertical" width: "375" height: "812" name: "تغيير إلى موضوع فاتح" colorTheme: "blue" -->
المخرجات — معرّف الشاشة المضافة حديثاً.
get-screen-image
عرّض شاشة إلى PNG وأعدها كصورة مدمجة. يتطلب عميلاً يدعم كتل محتوى الصور.
الإدخال
المخرجات — كتلة محتوى صورة MCP (
image/png).
أدوات الذكاء الاصطناعي
create-new-design
أنشئ تصاميم شاشة واحدة أو أكثر من موجه نصي. اترك fileId لإنشاء ملف جديد تلقائياً. ينتظر حتى ينتهي الإنشاء أو ينتهي (180 ثانية).
الإدخال
المخرجات —
{ fileId, screenIds }. مرّر كل screenId إلى get-screen-image لعرض النتائج.
regenerate-design
أعد إنشاء الشاشات الموجودة من الصفر أو بتباين نمط. يتطلب واحداً على الأقل screenId في targets. ينتظر حتى ينتهي الإنشاء أو ينتهي (180 ثانية).
الإدخال
المخرجات —
{ fileId, screenIds }. مرّر كل screenId إلى get-screen-image لعرض النتائج.
expand-design
أضف شاشات متابعة إلى تصميم موجود. يتطلب واحداً على الأقل screenId في targets و operationVariant إلزامي. ينتظر حتى ينتهي الإنشاء أو ينتهي (180 ثانية).
الإدخال
المخرجات —
{ fileId, screenIds }. مرّر كل screenId إلى get-screen-image لعرض النتائج.
edit-design
عدّل الشاشات الموجودة عبر موجه. يتطلب واحداً على الأقل screenId في targets. ينتظر حتى ينتهي الإنشاء أو ينتهي (180 ثانية).
الإدخال
المخرجات —
{ fileId, screenIds }. مرّر كل screenId إلى get-screen-image لعرض النتائج.
upload-attachment
حمّل ملفاً لاستخدامه كمرفق في create-new-design أو edit-design. أعد { id, path, type, mimeType } — مرّر هذا الكائن مباشرة إلى صفيف attachments.
نمطان:
النمط 1 — الشاشة حسب المعرّف
مرّر screenId و fileId. يجلب الخادم حالة الشاشة من قاعدة البيانات ويعرضها كصورة.
النمط 2 — الملف الخارجي
مرّر محتوى الملف مباشرة. يجب أن تكون الملفات الثنائية مشفرة بـ base64؛ تُمرر الملفات النصية (بما في ذلك رمز المصدر) كسلاسل UTF-8 عادية.
الحد الأقصى لحجم الملف: 3 MB. بالنسبة للصور الكبيرة، فضّل
image/jpeg على image/png.
المخرجات
type هو "image" لتحميلات الصور/PDF و "document" لملفات النصوص/الرمز.
أدوات الدردشة
get-chat-history
احصل على سجل رسائل الدردشة لملف.
الإدخال
المخرجات — كائن JSON برصيف
messages. لكل رسالة type ("request" أو "response")، و author ("human" أو "ai")، و content_type ("text" أو "summary" أو "followup").
أدوات التصميم
get-design-guidelines
احصل على إرشادات التصميم المحفوظة لملف.
الإدخال
المخرجات
guidelines هو null إذا لم تتم تعيين أي إرشادات.
update-design-guidelines
عيّن أو استبدل إرشادات التصميم لملف. تُمرر الإرشادات كسلسلة نص عادية بصيغة design.md من Google — لا تمرر كائناً أو JSON.
يجري الخادم التحقق الناعم وقد يعيد قسم Warnings: في الاستجابة يسرد المشاكل (مفاتيح غير معروفة وألوان غير سادسة عشرية) التي تم قبولها لكن قد يتم تجاهلها من قِبل الذكاء الاصطناعي. أظهر هذه للمستخدم.
الإدخال
قواعد التحقق
- يجب فتح وإغلاق الواجهة الأمامية بشكل صحيح
- يجب أن تكون أسطر الواجهة الأمامية عبارة عن YAML صحيح على شكل كتلة
- لا يجب أن يحتوي جسم Markdown على رؤوس
##قسم مكررة
"تم تحديث إرشادات التصميم بنجاح"، اختياراً متبوعاً بقسم Warnings:.
delete-design-guidelines
امسح إرشادات التصميم لملف.
الإدخال
المخرجات —
"تم حذف إرشادات التصميم بنجاح"
أدوات Figma
import-figma
استورد إطار Figma إلى ملف Flowstep كعناصر قابلة للتحرير على حافظته. يؤدي إعادة استيراد نفس الإطار إلى تحديثه في مكانه. يجب أن تكون مؤسسة الملف متصلة بـ Figma في إعدادات Flowstep.
الإدخال
المخرجات —
{ fileId, screenId }. screenId هو معرّف عنصر الشاشة المستوردة — مرّره إلى get-screen-image لعرض النتيجة. عند استيراد URL صفحة إطارات متعددة، يكون screenId هو null ويُرجع frameCount بدلاً من ذلك.