MCP — الواجهة البرمجية
إلى جانب REST، يوفر GetMyBot واجهة MCP (Model Context Protocol) — مصمّمة لوكلاء الذكاء الاصطناعي والمساعدين الذين يستدعون الأدوات بدلاً من استدعاء نقاط النهاية يدوياً. يبقى REST الواجهة الأساسية؛ وMCP بديل مريح لسيناريوهات الوكلاء. أسماء الأدوات والموارد والموجّهات أدناه تطابق ما ينشره الخادم.
العنوان والمصادقة
MCP متاح عند نقطة النهاية /mcp (وسيط Streamable HTTP، الطريقة POST). المصادقة — الرمز الشخصي ذاته المستخدم في REST: ترويسة Authorization: Bearer mbp_…. لا داعي لإنشاء رموز منفصلة — رمز PAT واحد يعمل لكلٍّ من REST وMCP. كل أداة تتطلب نطاق الصلاحيات ذاته المقابل لنقطة النهاية REST؛ الرمز بنطاق * يمنح وصولاً كاملاً. عند نقص الصلاحيات يُرفض الاستدعاء (fail-closed) كما في REST.
التوصيل بـClaude Code / Cursor
أضف GetMyBot كخادم MCP بعيد. مثال الإعداد (mcpServers) — استبدل نطاقك ورمزك:
{
"mcpServers": {
"mybot": {
"url": "https://your-domain/mcp",
"headers": {
"Authorization": "Bearer mbp_YOUR_TOKEN"
}
}
}
}
Claude Code: ضع هذه الكتلة في .mcp.json المشروع أو أضف الخادم بالأمر claude mcp add. Cursor: أضف الكتلة ذاتها في إعدادات MCP (Settings → MCP → Add server). بعد التوصيل يتلقى العميل قائمة الأدوات والموارد والموجّهات تلقائياً.
الأدوات حسب النطاق
ينشر الخادم 100 أداة — تغطية كاملة لـREST المتاح عبر PAT. فيما يلي الأداة ونطاق الصلاحيات المطلوب. الأسماء بصيغة فعل_اسم (snake_case).
البوتات (bots)
list_bots—bots:readget_bot—bots:readvalidate_bot_token—bots:writeconnect_bot—bots:writeupdate_bot—bots:writedelete_bot—bots:writesync_bot—bots:writechange_bot_token—bots:writetransfer_bot—bots:writeget_bot_settings—settings:readupdate_bot_settings—settings:write
القنوات وقوالب WhatsApp (bots)
تعدد القنوات (Telegram + WhatsApp + VK) متاح عبر MCP أيضاً. القنوات والقوالب محكومة بـالنطاقات المشتركة bots:read / bots:write — لا يوجد نطاق منفصل للقنوات.
list_channels—bots:read— سرد قنوات البوت (المنصةtg/wa/vk، وexternal_id، والاسم، وenabled، وcallback_url).connect_channel—bots:write— توصيل قناة WhatsApp أو VK (platform+ بيانات الاعتماد).delete_channel—bots:write— فصل قناة.list_wa_templates—bots:read— كتالوج قوالب WhatsApp للقناة (الاسم، واللغة، والحالة، والفئة، والجسم).sync_wa_templates—bots:write— إعادة مزامنة كتالوج القوالب من Meta.create_wa_template—bots:write— إنشاء قالب WhatsApp وإرساله إلى Meta للمراجعة.update_wa_template—bots:write— تعديل قالب (في حالةAPPROVED/REJECTED/PAUSED).delete_wa_template—bots:write— حذف قالب.
تُوصَّل قنوات Telegram عبر
connect_botوليسconnect_channel— إذ يتعامل الأخير معwaوvkفقط. فئات القوالب:MARKETING/UTILITY/AUTHENTICATION. يرسلcreate_wa_templateالمسودة فوراً إلى Meta للمراجعة؛ تتغير الحالة بشكل غير متزامن — اقرأها عبرlist_wa_templates(مع تحديث الكتالوج بـsync_wa_templatesعند الحاجة).
رفع رأس وسائط للقالب (صورة/فيديو/مستند) عبر MCP غير مدعوم بعد — استخدم واجهة الويب أو REST عبر
POST /api/bots/{botID}/channels/{channelID}/templates/media.
التفاعلات (reactions)
list_reactions—reactions:readget_reaction—reactions:readcreate_reaction—reactions:writeupdate_reaction—reactions:writedelete_reaction—reactions:writeimport_reactions—reactions:writetest_formula—reactions:writereorder_reaction—reactions:writeget_reaction_links—reactions:readlist_reaction_folders—reactions:readcreate_reaction_folder—reactions:writeupdate_reaction_folder—reactions:writedelete_reaction_folder—reactions:writeadd_reaction_to_folder—reactions:writeremove_reaction_from_folder—reactions:writeadd_reactions_to_folder—reactions:write
الاستيراد عبر
import_reactionsيُنشئ التفاعلات لكنه يتجاوز الوسائط: في سياق MCP لا يوجد تحقق premium ولا مستقبل Telegram للملفات. إذا احتوت حزمة sambot على صور/فيديوهات/مستندات — استخدم استيراد REST الكامل (POST /api/bots/{botID}/reactions/import) الذي ينقل الوسائط أيضاً.
البث الجماعي (broadcasts)
start_broadcast—broadcasts:write(اختياريpaid، اختياري تقسيم بالتسميات)get_broadcast—broadcasts:writepause_broadcast—broadcasts:writeresume_broadcast—broadcasts:writecancel_broadcast—broadcasts:write
التسميات (labels)
list_labels—labels:readcreate_label—labels:writedelete_label—labels:writeset_label_favorite—labels:write
المجموعات والسجلات (collections)
list_collections—collections:readcreate_collection—collections:writeupdate_collection—collections:writedelete_collection—collections:writelist_records—collections:readcreate_record—collections:writeupdate_record—collections:writedelete_record—collections:write
السيناريوهات (flows)
list_flows—flows:readget_flow—flows:readcreate_flow—flows:writeupdate_flow—flows:writedelete_flow—flows:write
التكاملات والاتصالات والاعتمادات (integrations)
list_integrations—integrations:readget_integration_sheets—integrations:readget_integration_status—integrations:readcreate_integration—integrations:writeupdate_integration—integrations:writedelete_integration—integrations:writerotate_integration_token—integrations:writelist_connections—integrations:readcreate_connection—integrations:writetest_connection—integrations:writeupdate_connection—integrations:writedelete_connection—integrations:writelist_credentials—integrations:readcreate_credential—integrations:writeupdate_credential—integrations:writedelete_credential—integrations:write
الوسائط (media)
upload_media—media:writeget_media—media:write
القوالب (templates)
list_templates—templates:readdelete_template—templates:writecreate_template_from_bot—templates:writeapply_template—templates:write
المشتركون والمحادثات والحوارات — قراءة (subscribers)
list_subscribers—subscribers:read(تصفح offset/limit، تصفية بالتسميات)list_chats—subscribers:readlist_dialogs—subscribers:readread_dialog—subscribers:readsend_dialog_message—subscribers:writesend_dialog_reaction—subscribers:writetranscribe_dialog_message—subscribers:write
الإحصائيات والتحليلات (stats)
get_stats—stats:readget_stats_summary—stats:readget_stats_recent—stats:readget_stats_log—stats:readget_reaction_health—stats:readget_analytics—stats:readget_analytics_chats—stats:readget_funnel—stats:read
الفوترة — قراءة (billing)
get_balance—billing:readlist_tariffs—billing:readget_transactions—billing:read
إرسال الرسائل
send_message—broadcasts:write— إرسال رسالة باسم البوت؛ يُحتسب استهلاك الرصيد تلقائياً من مالك الرمز.
الموارد
إلى جانب الأدوات، يُعيد الخادم موارد يمكن قراءتها لفهم البنية دون تخمين:
mybot://openapi.yaml— مواصفة OpenAPI الكاملة (نفس ما يُعاد على/openapi.yaml).mybot://reference— مرجع مختصر: قائمة الأدوات بنطاقاتها والاصطلاحات (العنوان الأساسي، التصفح، تنسيق الأخطاء، الحدود).mybot://schemas/reactionوmybot://schemas/triggerوmybot://schemas/actionوmybot://schemas/flowوmybot://schemas/collection— مخططات JSON للإعدادات. الأكثر قيمةً للتوليد الصحيح للتفاعلات (المُشغّل والشروط والمحادثات والإجراءات) والسيناريوهات والمجموعات.mybot://bots— قائمة ديناميكية ببوتاتك (سياق سريع دون استدعاء أداة).
الموجّهات
سيناريوهات جاهزة (أوامر slash في عميل MCP):
setup_autoresponder— بناء بوت ردود تلقائية (المعاملات: البوت والموضوع/مجموعة الأسئلة).segment_broadcast— إرسال جماعي لشريحة تسميات (المعاملات: البوت والتسميات والتفاعل/النص).diagnose_reaction— تشخيص سبب عدم تشغيل تفاعل (يقرأ التفاعل وصحة التفاعل والترتيب).import_from_sambot— إجراء استيراد حزمة sambot والتحقق من النتيجة.weekly_report— ملخص إحصائيات/تحليلات البوت خلال فترة.
متى تختار MCP ومتى تختار REST
- إذا كنت تكتب تكاملاً أو مزامنة أو سكريبتاً أو لوحة تحكم خاصة — استخدم REST.
- إذا كنت توصّل GetMyBot بمساعد ذكاء اصطناعي أو وكيل يدعم MCP — استخدم
/mcp.
كلتا الواجهتين تعملان برمز واحد وتخضعان لصلاحيات المالك ذاتها. إذا لم تجد أداة لمهمتك — نقطة النهاية REST المقابلة موجودة دائماً في المرجع التفاعلي.
الخطوات التالية
- المهارات لوكلاء الذكاء الاصطناعي — أغلفة GetMyBot الجاهزة لـClaude Code وغيره من الوكلاء.
- المصادقة والرموز — إنشاء PAT لـMCP.
- البدء السريع بـAPI — البديل REST.
- المرجع التفاعلي — نقاط نهاية REST بالكامل.