MCP — อินเทอร์เฟซโปรแกรม

นอกจาก REST แล้ว GetMyBot ยังมีอินเทอร์เฟซ MCP (Model Context Protocol) ซึ่งออกแบบมาสำหรับ AI agent และ assistant ที่เรียกใช้เครื่องมือแทนการเรียก endpoint โดยตรง REST ยังคงเป็นอินเทอร์เฟซหลัก ส่วน MCP เป็นทางเลือกที่สะดวกสำหรับสถานการณ์แบบ agentic ชื่อของเครื่องมือ ทรัพยากร และพรอมต์ด้านล่างตรงกับสิ่งที่เซิร์ฟเวอร์เผยแพร่

ที่อยู่และการอนุญาต

MCP เข้าถึงได้ที่ endpoint /mcp (transport Streamable HTTP, method POST) การอนุญาตใช้ personal token เดียวกัน กับ REST: header Authorization: Bearer mbp_… ไม่จำเป็นต้องสร้าง token แยก — PAT หนึ่งชุดใช้ได้ทั้ง REST และ MCP เครื่องมือแต่ละชิ้นต้องการ scope เดียวกับ REST endpoint ที่สอดคล้องกัน; token ที่มี scope * มีสิทธิ์เข้าถึงทุกอย่าง หากขาด scope การเรียกจะถูกปฏิเสธ (fail-closed) เช่นเดียวกับ REST

เชื่อมต่อกับ Claude Code / Cursor

เพิ่ม GetMyBot เป็น remote MCP server ตัวอย่างการตั้งค่า (mcpServers) — แทนที่ด้วยโดเมนและ token ของคุณ:

{
  "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) หลังเชื่อมต่อ client จะได้รับรายการเครื่องมือ ทรัพยากร และพรอมต์โดยอัตโนมัติ

เครื่องมือตามโดเมน

เซิร์ฟเวอร์เผยแพร่เครื่องมือ 100 รายการ ครอบคลุม REST ที่เข้าถึงได้ด้วย PAT ทั้งหมด ด้านล่างคือเครื่องมือและ scope ที่จำเป็น ชื่ออยู่ในรูปแบบ verb_noun (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 ของช่องทาง (ชื่อ, ภาษา, สถานะ, หมวดหมู่, body)
  • 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 (pagination 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 — ส่งข้อความในนามของบอท; การหักยอดคงเหลือคำนวณโดยอัตโนมัติตามเจ้าของ token

ทรัพยากร

นอกจากเครื่องมือแล้ว เซิร์ฟเวอร์ยังให้ ทรัพยากร ที่สามารถอ่านได้เพื่อทำความเข้าใจโครงสร้าง:

  • mybot://openapi.yaml — OpenAPI spec ฉบับเต็ม (เหมือนกับที่เสิร์ฟที่ /openapi.yaml)
  • mybot://reference — คู่มืออ้างอิงกะทัดรัด: รายการเครื่องมือพร้อม scope และข้อกำหนด (base address, pagination, รูปแบบ error, limits)
  • mybot://schemas/reaction, mybot://schemas/trigger, mybot://schemas/action, mybot://schemas/flow, mybot://schemas/collection — JSON schema ของ config มีประโยชน์มากสำหรับการสร้างรีแอคชัน (trigger, เงื่อนไข, แชท, action), สถานการณ์ และคอลเลกชันได้อย่างถูกต้อง
  • mybot://bots — รายการบอทของคุณแบบไดนามิก (context ด่วนโดยไม่ต้องเรียกเครื่องมือ)

พรอมต์

สถานการณ์พร้อมใช้ (slash command ใน MCP client):

  • setup_autoresponder — ตั้งค่าบอทตอบอัตโนมัติ (อาร์กิวเมนต์: บอท, หัวข้อ/ชุดคำถาม)
  • segment_broadcast — การกระจายข่าวตามเซกเมนต์ป้ายกำกับ (อาร์กิวเมนต์: บอท, ป้ายกำกับ, รีแอคชัน/ข้อความ)
  • diagnose_reaction — วิเคราะห์ว่าทำไมรีแอคชันไม่ทำงาน (อ่านรีแอคชัน, reaction-health และลำดับ)
  • import_from_sambot — นำเข้าบันเดิล SamBot และตรวจสอบผลลัพธ์
  • weekly_report — สรุปสถิติ/การวิเคราะห์ของบอทตามช่วงเวลา

เมื่อไหร่ควรเลือก MCP และเมื่อไหร่ควรเลือก REST

  • หากสร้าง integration, synchronization, script หรือแดชบอร์ดของตัวเอง — ใช้ REST
  • หากเชื่อมต่อ GetMyBot กับ AI assistant หรือ agent ที่รองรับ MCP — ใช้ /mcp

ทั้งสองอินเทอร์เฟซทำงานภายใต้ token เดียวกันและอยู่ภายใต้สิทธิ์เจ้าของเดียวกัน หากไม่มีเครื่องมือสำหรับงานที่ต้องการ — REST endpoint ที่สอดคล้องกันมีอยู่เสมอใน คู่มืออ้างอิงแบบโต้ตอบ

ขั้นตอนถัดไป