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). پس از اتصال، کلاینت فهرست ابزارها، منابع و پرامپت‌ها را به صورت خودکار دریافت خواهد کرد.

ابزارها بر اساس دامنه

سرور ۱۰۰ ابزار منتشر می‌کند — پوشش کامل 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 هم در دسترس است. کانال‌ها و قالب‌ها با scopeهای مشترک 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 بررسی premium و گیرنده 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 پیکربندی‌ها. ارزشمندترین چیز برای تولید صحیح واکنش‌ها (ماشه، شرط‌ها، چت‌ها، اقدامات)، سناریوها و مجموعه‌ها.
  • 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 متناظر همیشه در مرجع تعاملی موجود است.

مرحله بعد