MCP — ממשק תכנותי

בנוסף ל-REST, ל-GetMyBot יש ממשק MCP (Model Context Protocol) — הוא מיועד לסוכני בינה מלאכותית ולעוזרים שקוראים כלים, לא מפעילים נקודות קצה ידנית. REST נשאר הממשק הראשי; MCP הוא חלופה נוחה לתרחישים של סוכנים. שמות הכלים, המשאבים והפרומפטים להלן תואמים למה שהשרת מפרסם.

כתובת ואימות

MCP זמין בנקודת הקצה /mcp (תחבורה Streamable HTTP, שיטה POST). האימות — אותו טוקן אישי כמו ל-REST: כותרת Authorization: Bearer mbp_…. אין צורך ליצור טוקנים נפרדים — PAT אחד עובד גם ל-REST וגם ל-MCP. כל כלי דורש את אותו scope כמו נקודת הקצה המקבילה ב-REST; טוקן עם scope * מקנה גישה מלאה. אם ה-scope אינו מספיק — הקריאה נדחית (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. להלן — כלי ו-scope נדרש. שמות בפורמט פועל_שם (snake_case).

בוטים (bots)

  • list_botsbots:read
  • get_botbots:read
  • validate_bot_tokenbots:write
  • connect_botbots:write
  • update_botbots:write
  • delete_botbots:write
  • sync_botbots:write
  • change_bot_tokenbots:write
  • transfer_botbots:write
  • get_bot_settingssettings:read
  • update_bot_settingssettings:write

ערוצים ותבניות WhatsApp (bots)

תמיכה רב-ערוצית (Telegram + WhatsApp + VK) זמינה גם דרך MCP. ערוצים ותבניות מוגבלים על ידי ה-scopes המשותפים bots:read / bots:write — אין scope נפרד לערוץ.

  • list_channelsbots:read — רשימת ערוצי הבוט (פלטפורמה tg/wa/vk, external_id, שם, enabled, callback_url).
  • connect_channelbots:write — חיבור ערוץ WhatsApp או VK (platform + פרטי הזדהות).
  • delete_channelbots:write — ניתוק ערוץ.
  • list_wa_templatesbots:read — קטלוג תבניות WhatsApp של הערוץ (שם, שפה, סטטוס, קטגוריה, גוף).
  • sync_wa_templatesbots:write — סנכרון מחדש של קטלוג התבניות מ-Meta.
  • create_wa_templatebots:write — יצירת תבנית WhatsApp ושליחתה ל-Meta לבדיקה.
  • update_wa_templatebots:write — עריכת תבנית (בסטטוס APPROVED/REJECTED/PAUSED).
  • delete_wa_templatebots: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_reactionsreactions:read
  • get_reactionreactions:read
  • create_reactionreactions:write
  • update_reactionreactions:write
  • delete_reactionreactions:write
  • import_reactionsreactions:write
  • test_formulareactions:write
  • reorder_reactionreactions:write
  • get_reaction_linksreactions:read
  • list_reaction_foldersreactions:read
  • create_reaction_folderreactions:write
  • update_reaction_folderreactions:write
  • delete_reaction_folderreactions:write
  • add_reaction_to_folderreactions:write
  • remove_reaction_from_folderreactions:write
  • add_reactions_to_folderreactions:write

ייבוא דרך import_reactions יוצר ריאקציות אך מדלג על מדיה: בהקשר MCP אין בדיקת פרמיום ומקלט Telegram לקבצים. אם בחבילת SamBot יש תמונות/וידאו/מסמכים — השתמשו בייבוא REST המלא (POST /api/bots/{botID}/reactions/import), הוא מעביר גם מדיה.

שידורים (broadcasts)

  • start_broadcastbroadcasts:write (אופציונלי: paid, אופציונלי: פלח לפי תגיות)
  • get_broadcastbroadcasts:write
  • pause_broadcastbroadcasts:write
  • resume_broadcastbroadcasts:write
  • cancel_broadcastbroadcasts:write

תגיות (labels)

  • list_labelslabels:read
  • create_labellabels:write
  • delete_labellabels:write
  • set_label_favoritelabels:write

קולקציות ורשומות (collections)

  • list_collectionscollections:read
  • create_collectioncollections:write
  • update_collectioncollections:write
  • delete_collectioncollections:write
  • list_recordscollections:read
  • create_recordcollections:write
  • update_recordcollections:write
  • delete_recordcollections:write

תרחישים (flows)

  • list_flowsflows:read
  • get_flowflows:read
  • create_flowflows:write
  • update_flowflows:write
  • delete_flowflows:write

אינטגרציות, חיבורים, גישות (integrations)

  • list_integrationsintegrations:read
  • get_integration_sheetsintegrations:read
  • get_integration_statusintegrations:read
  • create_integrationintegrations:write
  • update_integrationintegrations:write
  • delete_integrationintegrations:write
  • rotate_integration_tokenintegrations:write
  • list_connectionsintegrations:read
  • create_connectionintegrations:write
  • test_connectionintegrations:write
  • update_connectionintegrations:write
  • delete_connectionintegrations:write
  • list_credentialsintegrations:read
  • create_credentialintegrations:write
  • update_credentialintegrations:write
  • delete_credentialintegrations:write

מדיה (media)

  • upload_mediamedia:write
  • get_mediamedia:write

תבניות (templates)

  • list_templatestemplates:read
  • delete_templatetemplates:write
  • create_template_from_bottemplates:write
  • apply_templatetemplates:write

מנויים, צ'אטים, דיאלוגים — קריאה (subscribers)

  • list_subscriberssubscribers:read (עימוד offset/limit, מסננים לפי תגיות)
  • list_chatssubscribers:read
  • list_dialogssubscribers:read
  • read_dialogsubscribers:read
  • send_dialog_messagesubscribers:write
  • send_dialog_reactionsubscribers:write
  • transcribe_dialog_messagesubscribers:write

סטטיסטיקות ואנליטיקות (stats)

  • get_statsstats:read
  • get_stats_summarystats:read
  • get_stats_recentstats:read
  • get_stats_logstats:read
  • get_reaction_healthstats:read
  • get_analyticsstats:read
  • get_analytics_chatsstats:read
  • get_funnelstats:read

חיוב — קריאה (billing)

  • get_balancebilling:read
  • list_tariffsbilling:read
  • get_transactionsbilling:read

שליחת הודעות

  • send_messagebroadcasts:write — שליחת הודעה בשם הבוט; צריכת היתרה מחושבת אוטומטית לפי בעל הטוקן.

משאבים

מלבד כלים, השרת מחזיר משאבים — ניתן לקרוא אותם כדי לא לנחש מבנים:

  • mybot://openapi.yaml — מפרט OpenAPI מלא (אותו המוחזר ב-/openapi.yaml).
  • mybot://reference — עזר קומפקטי: רשימת כלים עם ה-scope שלהם ומוסכמות (כתובת בסיס, עימוד, פורמט שגיאות, מגבלות).
  • mybot://schemas/reaction, mybot://schemas/trigger, mybot://schemas/action, mybot://schemas/flow, mybot://schemas/collection — סכמות JSON של תצורות. הכי שימושי לייצור נכון של ריאקציות (trigger, תנאים, צ'אטים, פעולות), תרחישים וקולקציות.
  • mybot://bots — רשימה דינמית של הבוטים שלכם (הקשר מהיר ללא קריאת כלי).

פרומפטים

תרחישים מוכנים (פקודות slash בלקוח MCP):

  • setup_autoresponder — הרכבת בוט מגיב אוטומטי (ארגומנטים: בוט, נושא/קבוצת שאלות).
  • segment_broadcast — שידור לפלח תגיות (ארגומנטים: בוט, תגיות, ריאקציה/טקסט).
  • diagnose_reaction — להבין מדוע ריאקציה לא מופעלת (קורא ריאקציה, reaction-health וסדר).
  • import_from_sambot — ביצוע ייבוא חבילת SamBot ואימות התוצאה.
  • weekly_report — סיכום סטטיסטיקות/אנליטיקות הבוט לתקופה.

מתי לבחור MCP ומתי REST

  • כותבים אינטגרציה, סנכרון, סקריפט או לוח בקרה משלכם — קחו REST.
  • מחברים את GetMyBot לעוזר בינה מלאכותית או סוכן שתומך ב-MCP — קחו /mcp.

שני הממשקים עובדים תחת אותו טוקן וכפופים לאותן הרשאות הבעלים. אם לא מצאתם כלי למשימה — נקודת הקצה המקבילה ב-REST תמיד נמצאת בעזר האינטראקטיבי.

המשך