Skip to main content
تعيد جميع الأدوات مصفوفة 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

حذف ملف بشكل دائم. يتم التحقق من name الذي تمرره مقابل اسم الملف الفعلي قبل الحذف — إذا لم يتطابق، يتم إلغاء الحذف. يمنع هذا الحذف العرضي للملف الخاطئ. الإدخال الإخراج — "File deleted successfully"
هذا لا رجوع فيه. يتم حذف جميع الشاشات في الملف.

أدوات الشاشة

list-screens

قائمة جميع الشاشات المُنشأة لملف. استخدم قيم screenId المُرجعة للإشارة إلى الشاشات في get-screen وget-screen-image وكـ 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 في التعليق (يُعرض كـ “Copy of <name>”)، أو “Untitled” إذا كان غائباً. <!-- screenType: "iphone-x-vertical" width: "375" height: "812" name: "Change to a light theme" colorTheme: "blue" --> الإخراج — معرّف الشاشة الجديدة المضافة.

get-screen-image

تحويل شاشة إلى PNG وإرجاعها كصورة مدمجة. يتطلب عميلاً يدعم كتل المحتوى الصورة. الإدخال الإخراج — كتلة محتوى صورة MCP (image/png).

أدوات الذكاء الاصطناعي

regenerate-design وexpand-design وedit-design تتطلب سياق تصميم موجود فقط على الشاشات المُنشأة في الأصل مع مصفوفة designs. الشاشات المُنشأة بدون سياق تصميم سترجع خطأ.

create-new-design

إنشاء تصميم شاشة واحد أو أكثر من موجه نصي. حذف fileId لإنشاء ملف جديد تلقائياً. يحجب حتى يكتمل الإنشاء أو ينتهي الوقت (180 ثانية). الإدخال الإخراج — { fileId, screenIds, designGuidelinesUpdated }. مرّر كل screenId إلى get-screen-image لعرض النتائج. designGuidelinesUpdated يُبلّغ ما إذا تم تغيير إرشادات تصميم الملف كجزء من هذا الإنشاء.

regenerate-design

إعادة إنشاء الشاشات الموجودة من الصفر أو بتباين نمط. يتطلب screenId واحد على الأقل في targets. يحجب حتى يكتمل الإنشاء أو ينتهي الوقت (180 ثانية). الإدخال الإخراج — { fileId, screenIds, designGuidelinesUpdated }. مرّ كل screenId إلى get-screen-image لعرض النتائج.

expand-design

إضافة شاشات متابعة إلى تصميم موجود. يتطلب screenId واحد على الأقل في targets وoperationVariant إلزامي. يحجب حتى يكتمل الإنشاء أو ينتهي الوقت (180 ثانية). الإدخال الإخراج — { fileId, screenIds, designGuidelinesUpdated }. مرّ كل screenId إلى get-screen-image لعرض النتائج.

edit-design

تعديل الشاشات الموجودة عبر موجه. يتطلب screenId واحد على الأقل في targets. يحجب حتى يكتمل الإنشاء أو ينتهي الوقت (180 ثانية). الإدخال الإخراج — { fileId, screenIds, designGuidelinesUpdated }. مرّ كل screenId إلى get-screen-image لعرض النتائج.

upload-attachment

حمّل ملف لاستخدامه كمرفق في create-new-design أو edit-design (وليس regenerate-design أو expand-design). بايتات الملف لا تمر أبداً عبر النموذج، والخادم لا يحصل على عناوين URL نيابة عنك. هناك وضعان — استخدم واحد بالضبط، ولا تجمع بينهما. الوضع أ — الملفات والصور (mimeType + fileName) تدفق مطلوب من ثلاث خطوات لأي صورة أو ملف PDF أو ملف نصي أكبر:
  1. استدعِ upload-attachment مع mimeType و fileName فقط (على سبيل المثال image/png و dog.png). الاستجابة تُرجع تحميل مُحضّر، وليس ملف مخزّن:
  2. استبدل LOCAL_FILE_PATH في uploadCommand بالمسار المطلق لملفك وشغّل تلك الأمر بالضبط في قوقعتك — يجب أن تخرج 0. الرمز في signedUrl يفوّض فقط هذا التحميل الفردي. تجاوز هذه الخطوة يترك التخزين فارغاً والأداة التصميم تفشل في فحص الفحص المسبق.
  3. مرّر فقط { id, path, type } في صفيف attachments الخاص بأداة التصميم — وليس signedUrl أو uploadCommand أو nextStep.
لإرفاق ملف بعيد، قم بتحميله إلى مسار محلي بنفسك أولاً (على سبيل المثال مع curl)، ثم اتبع نفس الخطوات الثلاث. لا تمرّر عنوان URL إلى upload-attachment. الوضع ب — نص قصير (text + mimeType) حمّل نصاً في السياق بالفعل — لا توجد حاجة لأمر shell. الاستجابة جاهزة للاستخدام مباشرة:
مرّر { id, path, type } الناتجة إلى مصفوفة attachments من create-new-design أو edit-design. حد أقصى لحجم الملف هو 3 ميجابايت عبر كلا الطريقتين، وملفات PDF محدودة بـ 100 صفحة. type هو "image" لملفات الصور و"document" لملفات PDF والملفات النصية.

أدوات الدردشة

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: في الاستجابة قائمة مشاكل (مفاتيح غير معروفة، ألوان غير hex) تم قبولها لكن قد يتم تجاهلها من قبل الذكاء الاصطناعي. سطح هذه للمستخدم. الإدخال قواعد الفحص
  • يجب فتح الصدارة وإغلاقها بشكل صحيح
  • يجب أن تكون خطوط الصدارة بصيغة YAML صالحة من نوع الكتلة
  • يجب ألا يحتوي نص Markdown على عناوين قسم ## مكررة
المخرجات — "Design guidelines updated successfully"، اختياري متبوع بقسم Warnings:.

delete-design-guidelines

امسح إرشادات التصميم لملف. الإدخال الإخراج — "Design guidelines deleted successfully"

أدوات Figma

import-figma

استيراد إطار Figma إلى ملف Flowstep كعناصر قابلة للتحرير على القماشة. يؤدي إعادة استيراد الإطار نفسه إلى تحديثه في المكان. يجب أن يكون لدى تنظيم الملف اتصال Figma في إعدادات Flowstep. الإدخال الإخراج — { fileId, screenId }. screenId هو معرّف عنصر الشاشة المستوردة — مرّره إلى get-screen-image لعرض النتيجة. عندما يستورد عنوان URL صفحة إطارات متعددة، يكون screenId هو null ويتم إرجاع frameCount بدلاً من ذلك.

أدوات الفوترة

get-plan-details

احصل على خطة المستخدم الحالية وحالة الاشتراك والحصة المتبقية. لا يأخذ مدخل. الإخراج
تختلف الحدود حسب الخطة. استدعِ هذه الأداة قبل دفعة من الإنشاءات للتحقق من الحصة المتاحة.