SocialHub.AI

MCP دليل التكامل

بروتوكول سياق النموذج (MCP) هو معيار مفتوح يسمح لمساعدي الذكاء الاصطناعي باستدعاء أدوات خارجية مباشرةً. يُطبّق SocialHub خادم MCP لتتمكن من إدارة المتاجر والأعضاء والقسائم والنقاط من داخل Claude Desktop أو Cursor أو أي عميل متوافق مع MCP. لماذا هذا مهم في أمريكا الشمالية؟ حلولٌ في المجالات التي تعمل بها فرق العمليات بالفعل التسويق الإلكتروني المدعوم بالذكاء الاصطناعي التسويق الإلكتروني المدعوم بالذكاء الاصطناعي الذكاء الاصطناعي الذي لا يتعرف على علامتك التجارية يُنتج أعمالًا لا يمكن لأحد تنفيذها.

بدلاً من كتابة التعليمات البرمجية، ما عليك سوى أن تسأل الذكاء الاصطناعي: "سرد جميع المتاجر النشطة" أو "منح 500 نقطة للعضو m_abc123" وسيقوم المساعد باستدعاء أداة SocialHub MCP نيابة عنك.

إعدادات الاتصال

يكشف SocialHub عن نقطة نهاية Streamable HTTP MCP. أنت بحاجة إلى معلومتين:

رابط نقطة النهايةhttps://flash.socialhub.ai/api/mcp
API العنوان الرئيسيAuthorization: Bearer fl_live_...

أنشئ مفتاح API في /flash/account/api-keys. تأكد من أن المفتاح يحتوي على النطاقات اللازمة للأدوات التي تنوي استخدامها.

Claude Desktop التكوين

أضف ما يلي إلى إعدادات Claude Desktop MCP (claude_desktop_config.json):

{
  "mcpServers": {
    "flash": {
      "type": "http",
      "url": "https://flash.socialhub.ai/api/mcp",
      "headers": {
        "Authorization": "Bearer fl_live_your_key_here"
      }
    }
  }
}

Cursor تهيئة

في Cursor، انتقل إلى الإعدادات > MCP وأضف خادمًا جديدًا:

{
  "mcpServers": {
    "flash": {
      "type": "http",
      "url": "https://flash.socialhub.ai/api/mcp",
      "headers": {
        "Authorization": "Bearer fl_live_your_key_here"
      }
    }
  }
}

يقبل الحقل type أيضًا streamable-http كاسم بديل. تخزن برامج سطح المكتب هذه المفتاح في ملف التكوين الخاص بها - تعامل معه كسر، وتفضل استخدام صيغة متغير البيئة (الموضحة أدناه) حيثما كان ذلك مدعومًا للحفاظ على المفتاح النصي بعيدًا عن القرص.

الاتصال من Claude Code

أضف SocialHub كخادم HTTP MCP باستخدام الأمر claude mcp add. صدّر مفتاحك كمتغير بيئي أولًا حتى لا يُخزّن المفتاح كنص عادي في ملف التكوين أو سجل الأوامر:

export FLASH_API_KEY="fl_live_your_key_here"

claude mcp add --transport http flash \
  https://flash.socialhub.ai/api/mcp \
  --header "Authorization: Bearer ${FLASH_API_KEY}"

أو قم بتثبيت .mcp.json خاص بالمشروع في جذر المستودع. أشر إلى متغير البيئة باستخدام ${FLASH_API_KEY} — لا تقم أبدًا بلصق مفتاح نصي عادي:

{
  "mcpServers": {
    "flash": {
      "type": "http",
      "url": "https://flash.socialhub.ai/api/mcp",
      "headers": {
        "Authorization": "Bearer ${FLASH_API_KEY}"
      }
    }
  }
}

الفحص الذاتي بعد الاتصال:

  • قم بتشغيل claude mcp list وتأكد من أن flash يظهر على أنه متصل.
  • اطلب من المساعد "عرض أدوات SocialHub المتاحة" — يجب أن ترى فقط الأدوات التي تسمح بها صلاحيات مفتاحك.
  • يجب أن يكون مفتاح الخادم مطابقًا تمامًا لـ flash؛ تأكد من تصدير FLASH_API_KEY في واجهة سطر الأوامر التي تُشغّل Claude Code.

تنبيه: يظهر مفتاح غير صالح أو مُلغى على شكل فشل الاتصال، وليس طلب مصادقة. يستخدم SocialHub مصادقة رمز حامل مع بدون استخدام OAuth احتياطي، لذا إذا ظهر الخادم على أنه معطل/غير متصل، فأعد التحقق من قيمة المفتاح ومن أنه يحتوي على النطاقات التي تحتاجها قبل إجراء أي تصحيح آخر.

الأدوات المتاحة (75)

cwm_get_forecast_capabilities

يقرأ TimesFM 2.5 جاهزية الاتجاه/الكمية الإجمالية وجاهزية دمج بيانات المستأجرين الخاصة (7/30/90 يومًا). يُشار صراحةً إلى انتظار التدريب/التحقق. يتطلب ذلك predictions:read.

المعلمات:
cwm_predict_next_behaviors

أحد توقعات المستهلكين: التوزيع/الترتيب النهائي للحدث التالي بالإضافة إلى CWM + TimesFM 7/30/90d purchaseWindowsيُفضّل نموذج حدث المستأجر المكتسب؛ مع وجود مرجع داخلي عام احتياطي. لا توجد مخرجات من خبراء فرديين. احتمالات الحدث غير مُعايرة؛ فترات الشراء null حتى يتم تدريبه/التحقق من صحته. يتطلب ذلك predictions:read; metrics:read كما يتيح ذلك إمكانية الشراء.

المعلمات: member_id*
cwm_forecast_aggregate_trend

توقع المقاييس اليومية للعلامة التجارية/الفئة مع TimesFM 2.5: نقطة + q10..q90. إرجاع السجل المفقود nullالمجاميع الكمية غير معايرة؛ وليست فترات شخصية. يتطلب ذلك predictions:read AND metrics:read.

المعلمات: metric?, horizon_days?, history_days?, category?
cwm_predict_purchase_windows

مستأجر - خاص CWM + TimesFM احتمالات الشراء في 30/7/90 يومًا (0-1). قيمة فارغة حتى يتم التدريب والتحقق؛ لا يوجد بديل مُصطنع. يتطلب predictions:read AND metrics:read.

المعلمات: member_id
list_metrics

اعرض المقاييس المتاحة لهذا الفريق من الطبقة الدلالية المُدارة (المفتاح، التصنيف، الوحدة، الشهادة، الفئة). اتصل أولاً لاكتشاف مفاتيح المقاييس الصالحة. يتطلب ذلك metrics:read.

المعلمات: category?
describe_metric

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

المعلمات: metric
query_metric

قم بتشغيل استعلام مقياس مُدار واحصل على أرقام مع تعريفها المعتمد. اختر مفتاح المقياس بالإضافة إلى الأبعاد الاختيارية، والفلاتر، والنطاق الزمني، ومستوى التفصيل، ومقارنة الفترات - بدون استخدام لغة SQL. يتطلب ذلك metrics:read.

المعلمات: metric, dimensions?, filters?, timeRange?, grain?, compare?, params?
breakdown_metric

تحليل مقياس واحد حسب بُعد واحد ضمن نافذة زمنية محددة، مع تسميات سهلة القراءة (أسماء المتاجر/المستويات/القنوات). يتطلب ذلك صلاحية metrics:read.

المعلمات: metric, dimension, days, state?
ask_metrics

أجب عن سؤال بلغة طبيعية عن طريق اختيار المقاييس المناسبة، واستخراجها، وتحليل المقياس الأساسي. يُستخدم هذا لتشخيص الأسئلة المفتوحة. يتطلب ذلك metrics:read.

المعلمات: question, categories?
list_stores

عرض جميع المتاجر للفريق الحالي. يدعم فلتر الحالة الاختياري والبحث والترقيم.

المعلمات: status?, search?, limit?, offset?
get_store

احصل على تفاصيل متجر معين باستخدام رقمه التعريفي.

المعلمات: store_id
list_members

قائمة بأعضاء برنامج الولاء. يدعم تصفية البرنامج والترقيم.

المعلمات: programId?, limit?, offset?, status?
get_member

الحصول على تفاصيل عضو برنامج ولاء محدد باستخدام معرّفه. يُعيد حقول المعلومات الشخصية بعد فك تشفيرها.

المعلمات: member_id
list_coupon_pools

عرض مجموعات القسائم. يدعم فلاتر الحالة والنوع.

المعلمات: status?, coupon_type?, limit?, offset?
get_dashboard_stats

لقطة من لوحة التحكم التشغيلية (عمليات الالتقاط، عمليات المسح، معدل الالتقاط، القسائم، المتاجر، الخطة). هذا ليس مقياسًا مُدارًا - استخدم أدوات المقاييس للحصول على مقاييس أعمال موثوقة. لقطة من لوحة التحكم التشغيلية (عمليات الالتقاط، عمليات المسح، معدل الالتقاط، القسائم، المتاجر، الخطة).

المعلمات: (none)
earn_points

مكافأة نقاط الولاء للعضو. إرجاع رقم المعاملة والرصيد الجديد.

المعلمات: member_id, amount, description?
redeem_points

خصم نقاط الولاء من العضو (استهلاك FIFO).

المعلمات: member_id, amount, reason
get_points_balance

احصل على رصيد نقاط العضو الحالي وسجل معاملاته الأخيرة.

المعلمات: member_id, limit?
get_member_coupons

الحصول على قسائم العضو المتاحة (غير المستردة، وغير منتهية الصلاحية).

المعلمات: member_id
get_member_tier

احصل على المستوى الحالي للعضو، ومتطلبات الترقية إلى المستوى التالي، وجميع المستويات.

المعلمات: member_id
get_member_receipts

احصل على سجل إرسال إيصالات الأعضاء مع حالة التعرف الضوئي على الأحرف والنقاط الممنوحة.

المعلمات: member_id, limit?
redeem_points_for_coupon

استبدال نقاط الولاء بقسيمة من مجموعة محددة (أساسي: نقاط + قسيمة، أو لا شيء).

المعلمات: member_id, pool_id, points_cost
issue_coupon

إصدار قسيمة من مجموعة قسائم لأحد الأعضاء (عضو واحد؛ تخضع الجماهير الكبيرة لعملية تأكيد So). يتطلب ذلك استخدام coupons:write.

المعلمات: member_id, pool_id, run_id?
check_email_frequency

تحقق مما إذا كان بالإمكان إرسال بريد إلكتروني تسويقي إلى عنوان بريد إلكتروني ضمن حدود التكرار (مرة واحدة يوميًا، مرتين أسبوعيًا، أربع مرات شهريًا).

المعلمات: email
list_ambassador_candidates

قائمة المرشحين المؤهلين لبرنامج الولاء (الوضع الاحترافي). فارغة في الوضع الأساسي.

المعلمات: band?, status?, level?, sort_by?, limit?, offset?
get_ambassador_metrics

احصل على تقرير عائد الاستثمار الخاص بالسفير: الأهداف الفرعية الثلاثة، والاحتفاظ بالعملاء خلال الشهر الثاني، ومعيار الموافقة/الرفض بعد ٩٠ يومًا.

المعلمات: since_days?, assumed_paid_cac_usd?
issue_ambassador_code

إصدار أو ترقية رمز الإحالة الخاص بسفير العضو. يُعيد الرمز string.

المعلمات: member_id, single_use?, max_redemptions?, min_order_amount?
get_tracking_stats

احصل على تحليلات زيارات الصفحات/السلوك: نظرة عامة، الصفحات الأكثر زيارة، تفاصيل الأجهزة، أو مصادر الزيارات.

المعلمات: metric?, period?, start?, end?, campaign?, limit?
get_member_profile

الملف الشخصي المُجمّع للعضو (إمكانية الوصول، الموافقة/CCPA، الولاء، بيانات التجارة/الفئة/القناة/التفاعل، التفضيلات المُعلنة، الوسوم، الموقع الجغرافي التقريبي، الفئة العمرية). تم إخفاء المعلومات الشخصية - لا أسماء ولا بيانات اتصال. يتطلب ذلك صلاحية members:read.

المعلمات: member_id
get_member_timeline

سجل سلوك العضو الأخير (الزيارات، النقاط، القسائم، رسائل البريد الإلكتروني، الإيصالات) + ملخص، لتحديد إجراء مخصص. يُعيد معلومات التعريف الشخصية بعد فك تشفيرها. يتطلب الأمر: members:behavior:read.

المعلمات: member_id, limit?
list_segments

حدد شرائح جمهور الفريق (الاسم، الحالة، عدد الأعضاء المسجلين). يتطلب ذلك segments:read.

المعلمات: status?, limit?, offset?
create_segment

إنشاء شريحة جمهور من شروط مُهيكلة (بدون استخدام SQL)؛ مع رفض البيانات المُكررة. يتطلب الأمر segments:write بالإضافة إلى مفتاح خاص بالمستخدم.

المعلمات: name, conditions, description?
list_automations

عرض قائمة بعمليات التشغيل الآلي للفريق (الحملات التي يتم تشغيلها عند وقوع حدث معين) وحالتها. يتطلب ذلك استخدام `automations:read`.

المعلمات: status?
pause_automation

إيقاف عملية أتمتة جارية مؤقتًا باستخدام معرّف الحملة (متكررة). يتطلب ذلك automations:write.

المعلمات: campaign_id
list_campaign_templates

عرض قوالب الحملات المتاحة لهذا الفريق (الرسمية والمحفوظة)، لاكتشاف معرّف القالب (template_id) لإنشاء مسودة الحملة (create_campaign_draft). يتطلب ذلك صلاحية قراءة الحملات (campaigns:read).

المعلمات: limit?
list_campaigns

اذكر الحملات الأخيرة للفريق (المعرف، العنوان، الحالة)، للعثور على source_campaign_id لاستنساخ مسودة من. يتطلب campaigns:read.

المعلمات: limit?, status?
create_campaign_draft

إنشاء مسودة حملة من قالب أو حملة سابقة (لا يتم إرسالها أبدًا - يلزم مراجعة بشرية). يتطلب الأمر campaigns:write-draft.

المعلمات: title, template_id?, source_campaign_id?, segment_id?, merge_context?
check_member_reach

تحقق مما إذا تم التواصل مع أحد الأعضاء (عبر أي نظام) على قناة ما خلال فترة زمنية محددة مؤخرًا - تجنب الإفراط في التواصل. يتطلب ذلك members:behavior:يقرأ.

المعلمات: member_id, channel, days?
create_member

أنشئ عضوًا جديدًا في برنامج الولاء، أو قم بحل مشكلة عضو موجود بشكل متكرر عن طريق externalId/البريد الإلكتروني. لم يتم تفعيل الموافقة على التسويق عبر MCP. يتطلب members:write.

المعلمات: email, fullName, phone?, externalId?, birthMonth?, birthDay?
update_member

تحديث ملف تعريف/هوية العضو (البريد الإلكتروني، رقم الهاتف، fullName, externalId(الحالة). يتم تطبيق ملكية الفريق. يتطلب members:write.

المعلمات: member_id, email?, fullName?, phone?, externalId?, status?
upsert_store

أنشئ متجرًا، أو حدّث المتجر الحالي المطابق externalId لهذا الفريق. يتطلب stores:write.

المعلمات: name, externalId?, address?, city?, state?, country?, timezone?
ingest_order

سجل طلب شراء وامنح نقاطًا تلقائيًا (يتم تحديد العضو من خلال memberId > externalId > البريد الإلكتروني). يتطلب الأمر orders:write.

المعلمات: externalOrderId, customer, totalAmount, financialStatus?, currency?, orderName?, storeId?
reverse_points

استرداد النقاط من العضو، المرتبطة برقم المعاملة الأصلي، لاسترداد المبلغ أو إلغائه عبر نظام نقاط البيع/نظام تخطيط موارد المؤسسات. يتطلب ذلك points:write.

المعلمات: member_id, reversesTransactionId, amount, reason
list_tags

أدرج تعريفات الوسوم الخاصة بالفريق (المفتاح، الاسم، دورة الحياة، الفئة، التغطية). اكتشف tag_key قبل قراءة/تعيين علامات الأعضاء. يتطلب tags:read.

المعلمات: status?, group?, limit?, offset?
get_member_tags

احصل على الوسوم الحالية للعضو (المفتاح، الاسم، دورة الحياة، القيمة، المصدر، assignedAt). يتطلب members:read.

المعلمات: member_id
assign_tag

تعيين وسم يدويًا لعضو باستخدام tag_key (تجاوز المُشغل؛ مُثبت على قاعدة المسح). يتطلب tags:write.

المعلمات: member_id, tag_key, value?
remove_tag

إزالة علامة من عضو يدويًا بواسطة tag_key (قد تتم إعادة إضافة علامة حية في عملية المسح التالية). يتطلب tags:write.

المعلمات: member_id, tag_key
list_products

اعرض المنتجات حسب الفئة/العلامة التجارية/القطاع، والحالة، والمصدر. قم بالتصفية حسب الحالة.category_id/brand_id/عمودي. يتطلب catalog:read.

المعلمات: status?, category_id?, brand_id?, vertical?, limit?, offset?
get_product

احصل على منتج واحد مع خيارات متعددة، وعناصر مرقمة، ومكونات مركبة، ومحتوى أساسي للذكاء الاصطناعي. يتطلب ذلك catalog:read.

المعلمات: product_id
list_categories

أدرج فئات منتجات الفريق (المعرف، الاسم، الفئة الأم). مطلوب catalog:read.

المعلمات: limit?
list_brands

أدرج العلامات التجارية للفريق (المعرف، الاسم). مطلوب catalog:read.

المعلمات: limit?
recommend_products

توصيات المنتجات التالية الأنسب: member_id (شراء مشترك شخصي + انتماء للفئة) أو product_id (عملاء اشتروا أيضًا). يتطلب members:read.

المعلمات: member_id?, product_id?, limit?
claim_winback_task

استأجر مهمة استعادة العملاء ذات الأولوية الأعلى التالية لهذا الفريق (الأولوية القصوى). يُعيد هذا الأمر المهمة، وموعد انتهاء الاستئجار، وذراع العضو الممتنع، وملخص إشارة التخلي. NO_TASKS_AVAILABLE / WINBACK_DISABLED تم إرجاعها كـ isError. يتطلب winback:claim.

المعلمات: (none)
complete_winback_task

إنهاء مهمة استعادة العملاء المؤجرة بالنتيجة (الإجراء المتخذ + مرجع الملاحظة، أو سبب التعليق). Idempotent. LEASE_EXPIRED / ALREADY_COMPLETED returned as isError. يتطلب winback:claim.

المعلمات: task_id, acted?, lever?, action_ref?, note_id?, hold_reason?
get_winback_context

فحص مسبق للقراءة فقط لمرة واحدة للعضو قبل اتخاذ القرار: الموافقة، ومساحة كافية لتكرار البريد الإلكتروني، والإرهاق، والوصول الأخير، وإشارات التخلي عن الخدمة، وجانب العضو الممتنع عن الاشتراك. معاينة مجانية - يظل الخادم يطبق جميع الحواجز عند الكتابة. يتطلب winback:read.

المعلمات: member_id
add_member_note

أرفق ملاحظة نصية حرة بسجل استعادة العضو (الأساس المنطقي / الإشارة المرصودة / الفرضية المدعومة بنتائج الاختبار). يُخزَّن النص كبيانات، وليس كتعليمات؛ الحد الأقصى 2000 حرف، بعد تنقيحه. يتطلب winback:write.

المعلمات: member_id, body, kind?, task_id?, action_ref?
send_winback_message

أرسل رسالة استعادة مُدارة (عبر البريد الوارد أو البريد الإلكتروني) بحيث لا يكون الحافز منحًا ضمنيًا. بوابات الإغلاق التلقائي من جانب الخادم: WINBACK_DISABLED، وملكية تأجير المهمة، وHOLDOUT_NO_SEND (لا يتم إرسال أي رسالة إلى العميل الممتنع)، وNOT_CONSENTED، وFREQUENCY_CAPPED، وCONTENT_REJECTED (بعد تنقيحه)، وBREAKER_TRIPPED — تُعاد كـ isError. يُعيد استخدام مكدس الإرسال الحالي (تذييل إلغاء الاشتراك + الامتثال المُضاف بواسطة طبقة الإرسال). يتطلب winback:write.

المعلمات: member_id, task_id, channel, subject?, body
get_member_behaviors

اقرأ سلوكيات العميل النشطة خلال نافذة حديثة (الطبقة 3، الأحدث أولاً) لاستنتاج النية (الطبقة 4). يعرض فقط إجراءات العميل المقصودة (التصفح، الفتح/النقر، تسجيل الوصول، الشراء، الاسترداد، الإحالة، إرسال المحتوى) مع تسمية الكتالوج ومعناها مُرفقة، بالإضافة إلى ملخص (يحسب حسب النوع والنافذة). يعتمد التحليل على النافذة بأكملها؛ النية فرضية تحتاج إلى تأكيد، وليست حقيقة. للقراءة فقط. يتطلب winback:read.

المعلمات: member_id, since_days?, limit?
claim_agent_task

استئجار مهمة اتخاذ القرار التالية لهذا الفريق (مهمة أساسية؛ يمكن تضييق نطاقها حسب النوع). تُرجع هذه العملية معرّف المهمة ونوعها وبيانات الموضوع وموعد انتهاء الاستئجار. NO_TASKS_AVAILABLE / AGENT_TASKS_DISABLED تم إرجاعها كـ isError. يتطلب agent_tasks:مطالبة.

المعلمات: kind?
get_agent_task

اقرأ بيانات مهمة اتخاذ القرار الخاصة بأحد الوكلاء (النوع، الموضوع، سبب التنبيه، الحالة) قبل اتخاذ القرار. تم إرجاع الخطأ AGENT_TASK_NOT_FOUND كـ isError. يتطلب ذلك agent_tasks:read.

المعلمات: taskId
complete_agent_task

أكمل مهمة مؤجرة بقرار، مع تطبيق تأثيره من خلال عمليات الكتابة المتكررة الموجودة. fraud_household_referral: حظر (استرداد كلا الجانبين) / السماح (رفض العلم) / التصعيد (الخروج إلى شخص بشري). ALREADY_COMPLETED / NOT_LEASE_OWNER / LEASE_EXPIRED تم إرجاعها كـ isError. يتطلب agent_tasks:مطالبة.

المعلمات: taskId, decision, reason?
list_objects

اذكر عناصر العمل التي يمكن لهذا الفريق تحليلها: عناصر المنصة الأساسية (العضو، الطلب، المتجر، القسيمة، الحملة، المنتج، الشريحة، الوسم) بالإضافة إلى عناصر هذا الفريق MCPالكائنات المخصصة المرئية - المفتاح، والتسمية، والمعنى الموجز الموثوق. اتصل أولاً لاكتشاف القيمة الصحيحة object مفاتيح. يتطلب introspection:read.

المعلمات: (none)
describe_object

صف أحد الأعمال التجارية object من السجل المُدار: المعنى الموثوق بالإضافة إلى الخصائص المُقسّمة إلى حقائق (مدعومة بأعمدة)، ومُشتقة (مراجع المقاييس/الوسوم/التجميعات مع تحديثات مستمرة - لا يُعاد اشتقاق أي معيار)، ومُخصصة (الحقول المُخصصة لهذا الفريق). تُعيد خصائص المعلومات الشخصية بيانات وصفية فقط، وليس قيمًا. الحقول = ملخص (افتراضي) أو كامل. يتطلب introspection:read.

المعلمات: object, fields?
list_actions

اذكر الإجراءات التي يمكن للوكيل القيام بها (ما يمكن للوكيل فعله): الهدف object، التأثير الجانبي، والتروس (تلقائي/مراجعة/ممنوع)، ومفاتيح الشروط المسبقة من جانب الخادم، والحد الأقصى للقيمة، وإمكانية التراجع — تحقق ذاتيًا قبل اقتراح عملية كتابة. يمكنك التصفية حسب اختيارك object. يتطلب introspection:read.

المعلمات: object?
list_stamp_programs

أدرج بطاقة طوابع الفريق (eStampالبرامج: المعرّف، الاسم، الطوابع المطلوبة للإكمال، نوع المكافأة (قسيمة/نقاط/يدوي)، إعادة التعيين التلقائي والحالة. اتصل أولاً للحصول على program_id. يتطلب stamp:read.

المعلمات: (none)
get_member_stamp_cards

احصل على بطاقات طوابع الأعضاء النشطة: اسم البرنامج، والطوابع الحالية، والطوابع المطلوبة، والإنجازات حتى الآن، والمكافأة. يتطلب الأمر صلاحية stamp:read. احصل على بطاقات الطوابع النشطة للأعضاء: اسم البرنامج، والطوابع الحالية، والطوابع المطلوبة، والإنجازات حتى الآن، والمكافأة.

المعلمات: member_id
grant_stamps

منح طوابع لأحد الأعضاء ضمن برنامج الطوابع (مثل زيارة متجر). عملية متكررة مع idempotency_keyعند إتمام عملية الدفع بالبطاقة، يتم إصدار المكافأة (قسيمة/نقاط) تلقائيًا. المبلغ محدود لكل عملية. يتطلب stamp:write.

المعلمات: program_id, member_id, amount?, reason?, idempotency_key?
get_member_points

نقاط العضو: الرصيد المتاح للإنفاق، إجمالي النقاط المكتسبة، عمليات الاستبدال، المستوى الحالي، أقرب دفعة تنتهي صلاحيتها. مفتاح مرتبط بالعضو ← النقاط الخاصة (حذف) member_idمفتاح الفريق ← كلمة المرور member_id. يتطلب loyalty:self:يقرأ.

المعلمات: member_id?
get_member_points_history

معاملات النقاط الأخيرة للعضو (المكتسبة/المستردة/المعدلة)، الأحدث أولاً. مفتاح خاص بالعضو ← سجله الشخصي؛ مفتاح الفريق ← تمرير member_id. يتطلب loyalty:self:يقرأ.

المعلمات: member_id?
get_member_rewards

المكافآت التي يمكن للعضو استبدال نقاطه بها - كتالوج مع تكلفة النقاط، مصنفة حسب القدرة على تحمل التكلفة مقارنةً برصيد العضو. مفتاح خاص بالعضو ← ملك؛ مفتاح الفريق ← تمرير member_id. يتطلب loyalty:self:يقرأ.

المعلمات: member_id?
get_loyalty_program_rules

كيف يعمل برنامج الولاء - معدل اكتساب النقاط، مكافأة الترحيب، قيمة النقاط، كيفية الانضمام - بالإضافة إلى الأسئلة الشائعة المعتمدة من العلامة التجارية. معلومات متاحة للجميع. مفتاح خاص بالأعضاء لا يحتاج إلى نقاش. يتطلب loyalty:self:يقرأ.

المعلمات: member_id?
list_synthetic_scenarios

أدرج سيناريوهات محاكاة اللوحة الاصطناعية مع حدود سهولة الاستخدام الصادقة، وسقف الثقة، وحقول الإدخال لكل منها. اتصل أولاً لاختيار نوع. يتطلب metrics:read.

المعلمات: (none)
get_synthetic_calibration

معايرة اللوحة الاصطناعية للعلامة التجارية (معدل نجاح التنبؤات الاصطناعية السابقة مقابل الواقع؛ null (إلى حين توفر اختبارات رجعية). يتطلب metrics:read.

المعلمات: (none)
get_synthetic_report

اقرأ التقرير الصادق المجمد لتشغيل لوحة اصطناعية - قراءة اتجاهية، وسقف ثقة، وعلامات قمع، ومواضيع - أو blockReason إذا لم يكن جاهزًا. يتطلب metrics:read.

المعلمات: run_id
run_synthetic_panel

تشغيل لوحة اصطناعية: تتفاعل نسخ رقمية مجهولة الهوية لشريحة معينة مع محفز، مما ينتج عنه تقرير اتجاهي دقيق (لا يتضمن أرقامًا مطلقة حقيقية). يُرجع هذا الإجراء معرّف تشغيل (run_id) للاستطلاع. يقتصر على حد أقصى يومي للتشغيل + ≤ 50 نسخة رقمية. يتطلب الأمر استخدام synthetic:write.

المعلمات: segment_id, kind, fields

الأمان والخصوصية

واجهة MCP هي طبقة الذكاء الاصطناعي المُريحة، وليست أداة إدارة جماعية. بعض الأمور التي يجب مراعاتها:

  • الخادم هو الحد الفاصل، وليس المحادثة. تتطلب عمليات الكتابة (منح/استرداد النقاط، إصدار القسائم، إصدار رموز السفراء) نطاق كتابة مطابقًا. و مقيدان بحماية من جانب الخادم: حد أقصى لقيمة كل استدعاء بالإضافة إلى حد أقصى لمعدل الكتابة لكل مفتاح، وكلاهما يُفرض إغلاقه في حالة الفشل. أي تأكيد يطلبه عميل الذكاء الاصطناعي الخاص بك في المحادثة هو من باب المجاملة - الخادم هو ما يمنع فعليًا تسريب مفتاح أو نموذج مُضاف إليه مطالبة من استنزاف النقاط.
  • تعيد بعض أدوات القراءة معلومات التعريف الشخصية للأعضاء. يمكن لأدوات مثل get_member وlist_members إعادة الأسماء وعناوين البريد الإلكتروني بعد فك تشفيرها إلى عميل الذكاء الاصطناعي الخاص بك. تعامل مع هذه البيانات وفقًا لذلك، وفضّل استخدام مفاتيح ذات صلاحيات محدودة.
  • لا تُرسل مفتاحًا نصيًا عاديًا أبدًا. استخدم دائمًا ${FLASH_API_KEY} في .mcp.json المُسجّل بدلاً من المفتاح الحرفي.
  • استخدم مفاتيح القراءة فقط ذات أقل امتيازات. أنشئ مفتاحًا يقتصر نطاقه على الأدوات التي تحتاجها فقط. إذا كان المفتاح يفتقر إلى نطاق أداة معينة، فسيتم إخفاء تلك الأداة ببساطة - ولن تظهر أبدًا في القائمة.

الأرقام تأتي من الطبقة الدلالية الخاضعة للإدارة

تمر جميع المقاييس التي يُبلغ عنها الذكاء الاصطناعي - مثل إجمالي قيمة البضائع المباعة، والأعضاء النشطين، ومعدل الاسترداد، وغيرها - عبر طبقة المقاييس المُدارة في SocialHub، والتي تحتوي على تعريف (وشهادة) واحدة مُعتمدة لكل مقياس. تقوم أدوات list_metrics، وdescribe_metric، وquery_metric، وbreakdown_metric، وask_metrics باختيار مفاتيح وأبعاد المقاييس ضمن هذه الإدارة - لا يقوم الذكاء الاصطناعي بكتابة استعلامات SQL. لذا، فإن الأرقام التي تحصل عليها تتطابق مع لوحات معلوماتك بدلاً من أن تكون مجرد تجميعات عشوائية وعرضة للتغيير. تتوافق الأرقام التي تحصل عليها مع لوحات معلوماتك بدلاً من أن تكون تجميعات عشوائية وعرضة للتغيير.

مثال على محادثة

أنت: "عرض جميع المتاجر النشطة"
Claude: يُجري استدعاءات list_stores بحالة "نشط"
Claude: "لديك 3 متاجر نشطة: المتجر الرئيسي في وسط المدينة، وكشك في المركز التجاري، ومتجر مؤقت في المطار."