REST API v1 · למפתחים

שרת MCP: נהלו את שרת הדיסקורד מתוך עוזרי AI

BotGG מפעיל שרת Model Context Protocol מרוחק. חברו אליו עוזר AI והוא יוכל להשתמש באותן נקודות קצה כמו ה-REST API — עם אותן הרשאות, מגבלות ובדיקות — עבור השרת האחד שאישרתם.

תיעוד למפתחים
בעמוד הזה

חיבור לקוח

כתובת השרת היא https://console.botgg.app/mcp ‏(MCP על גבי Streamable HTTP). לקוחות מתחברים באחת משתי דרכים:

  • התחברות עם דיסקורד (OAuth) — מומלץ. הלקוח צריך רק את הכתובת. הוא פותח את BotGG בדפדפן, אתם מתחברים עם דיסקורד, בוחרים שרת אחד והרשאות ומאשרים. אין מה להעתיק, ואפשר לנתק את האפליקציה בכל רגע.
  • מפתח API. ללקוחות בלי תמיכה ב-OAuth: צרו מפתח בקונסולה (ראו אימות) ושלחו אותו כ-Authorization: Bearer botgg_….

Claude ‏(claude.ai ו-Claude Desktop)

  1. פתחו Settings → Connectors ובחרו Add custom connector.
  2. קראו לו BotGG, הדביקו את הכתובת https://console.botgg.app/mcp ולחצו Add.
  3. לחצו Connect: ‏BotGG ייפתח, התחברו עם דיסקורד ואשרו (ראו מסך האישור).

ChatGPT

  1. פתחו Settings → Apps & Connectors. מחברים מותאמים דורשים Developer mode (תחת Advanced settings) בתוכנית שלכם.
  2. בחרו Create, קראו למחבר BotGG, הדביקו את https://console.botgg.app/mcp ככתובת שרת ה-MCP ובחרו אימות OAuth.
  3. צרו את המחבר והתחברו כש-ChatGPT יפתח את BotGG.

Cursor

הוסיפו את השרת ל-~/.cursor/mcp.json (או ל-.cursor/mcp.json של הפרויקט). ‏Cursor יציג לידו Needs login — לחצו כדי להתחבר עם דיסקורד בדפדפן.

.cursor/mcp.json
{
  "mcpServers": {
    "botgg": { "url": "https://console.botgg.app/mcp" }
  }
}

Claude Code

Terminal
claude mcp add --transport http botgg https://console.botgg.app/mcp
# then run /mcp inside Claude Code and choose "Authenticate"

כל לקוח עם מפתח API

הגדרת לקוח MCP ‏(JSON)
{
  "mcpServers": {
    "botgg": {
      "type": "http",
      "url": "https://console.botgg.app/mcp",
      "headers": { "Authorization": "Bearer botgg_…" }
    }
  }
}

כשלקוח מתחבר, BotGG מציג מי מבקש גישה ולאן תחזרו אחרי התשובה. אפליקציות רושמות את עצמן, ולכן השם שלהן לא מאומת — אשרו רק חיבור שאתם התחלתם.

  1. התחברו עם דיסקורד (אם עוד לא התחברתם לקונסולה).
  2. בחרו שרת אחד. מוצגים שרתים שבהם יש לכם הרשאת ניהול שרת, ו-BotGG צריך להיות בשרת שתבחרו. חיבור תמיד שייך לשרת אחד בדיוק.
  3. בחרו הרשאות. אלה אותן הרשאות כמו של מפתחות API. הרשאות רגישות (פעולות על חברים, נתוני ניהול) לא מסומנות כברירת מחדל, ובחירה בהן דורשת אישור נוסף.
  4. אשרו או דחו. האפליקציה מקבלת טוקן גישה קצר-מועד (שעה) וטוקן רענון שמתחלף בכל שימוש.

כל חיבור מופיע בקונסולה תחת שרת → אפליקציות מחוברות, עם ההרשאות, מי חיבר ומתי נעשה שימוש אחרון. כל מנהל של השרת יכול לנתק אותו שם, והגישה נעלמת מיד. אם מי שחיבר את האפליקציה מאבד את הרשאת ניהול השרת, הגישה מסתיימת אוטומטית בקריאה הבאה.

כלים

לכל נקודת קצה של ה-REST API יש כלי אחד — למשל bank.getBalance הופך לכלי bank_get_balance. הקלט הוא שדות הנתיב, השאילתה והגוף של נקודת הקצה; מזהה השרת לא נשלח, הוא נלקח מהחיבור. רשימת הכלים תמיד תואמת למדריך העיון של ה-API, ולקוח רואה רק כלים שיש לחיבור שלו את ההרשאה שלהם.

  • כלים לקריאה בלבד מסומנים ככאלה; כלים שמשנים או מוחקים נתונים מסומנים כהרסניים, והעוזר מונחה לאשר איתכם קודם את הפעולה המדויקת.
  • כל קריאה עוברת את אותו מסלול כמו ה-REST API: בדיקות הרשאה ופיצ׳ר, אימות נתונים, קודי שגיאה ומגבלת הקצב של התוכנית לחיבור (למפתח API יש תקציב אחד משותף ל-REST ול-MCP).
  • שגיאות חוזרות כתוצאת כלי עם אותם קודי error כמו ב-REST API, כך שהעוזר יכול להסביר או לתקן אותן.
  • שינויים דרך MCP נרשמים ביומן הביקורת של השרת עם שם האפליקציה.
הרשאות של מפתחות API
הרשאהמה היא מאפשרת
guild:readקריאת פרטי השרת — שם השרת, סמל, מספר חברים, שפה ותכונות מופעלות; תפקידים, ערוצים ופרטי חבר בסיסיים (תפקידים, כינוי, תאריך הצטרפות).
bank:readקריאת הבנק — יתרות, היסטוריית התנועות של חבר והטבלה המובילה.
bank:writeשינוי יתרות — הוספה והורדה של מטבע לחברים. כל שינוי נרשם ביומן הבנק.
levels:readקריאת הרמות — הרמה, ה-XP והדירוג של חבר, וטבלת המובילים לפי XP.
levels:writeשינוי XP — הוספה, הורדה וקביעה של XP לחברים. תפקידי פרס והכרזות עליית רמה פועלים כמו בפקודות /levels; כל שינוי נרשם ביומן הפעולות.
invites:readקריאת הזמנות — מוני ההזמנות והדירוג של חבר, וטבלת המובילים בהזמנות.
invites:writeשינוי הזמנות בונוס — הוספה והורדה של הזמנות בונוס, כמו /invites add. פרסי אבני דרך מוענקים בהתאם; כל שינוי נרשם ביומן הפעולות.
shop:readקריאת החנות — חנויות, פריטים, המלאי של חברים והיסטוריית הרכישות.
shop:write רגישהניהול החנות — קנייה של פריטים עבור חברים (מחויב מיתרת הבנק שלהם, תפקידים מוענקים), הענקת פריטים בחינם, החזר רכישות, חידוש מלאי והפעלה או כיבוי של פריטים.
giveaways:readקריאת הגרלות — הגרלות פעילות ושהסתיימו, עם מספר המשתתפים, הזוכים ורשימת המשתתפים.
giveaways:writeניהול הגרלות — פתיחת הגרלות, סיום מוקדם שלהן והגרלת זוכים מחדש. הבוט מפרסם ומעדכן אותן ב-Discord.
flows:readקריאת תהליכים — רשימת התהליכים (שם, פעיל/כבוי, טריגר) והסטטוס והתוצאה של הרצות.
flows:run רגישההרצת תהליכים — הרצת תהליכים פעילים שמתחילים בטריגר ידני או Webhook, עם קלט משלך. התהליך מבצע את כל השלבים שלו; ההרצות נספרות במגבלה היומית של התוכנית.
tickets:readקריאת כרטיסים — רשימת הכרטיסים ופרטיהם (פותח, פאנל, סטטוס, תשובות הטופס) ותמלילים שמורים של כרטיסים סגורים.
tickets:writeסגירת כרטיסים — סגירת כרטיסים פתוחים עם סיבה — הבוט שומר תמליל, רושם ביומן ומודיע לפותח כמו בסגירה על ידי הצוות.
applications:readקריאת מועמדויות — טפסי מועמדות והגשות, כולל תשובות המועמדים, הצבעות והחלטות.
applications:writeהחלטה על מועמדויות — אישור או דחייה של מועמדויות פתוחות. הבוט נותן / מסיר את תפקידי הטופס, שולח הודעה למועמד ומעדכן את הדיון כמו בהחלטת צוות.
appeals:readקריאת ערעורים — ערעורי הרחקה עם התשובות, סיבת ההרחקה והשיחה (הערות פנימיות של הצוות לעולם לא נכללות).
appeals:write רגישההחלטה על ערעורים — אישור (ביטול הרחקה) או דחייה של ערעורים פתוחים עם סיבה; הבוט מבטל את ההרחקה ושולח הודעה כמו בהחלטת צוות.
אישור ערעור מבטל את ההרחקה של החבר.
moderation:read רגישהקריאת תיקי ניהול — תיקי ניהול (אזהרות, השתקות, הרחקות, חסימות…) עם סיבות, קישורי ראיות ומנהלים, וסטטוס פעולות API.
חושף את היסטוריית הניהול של החברים.
moderation:write רגישהניהול חברים — אזהרה, השתקה, הרחקה, חסימה וביטול חסימה בשם יוצר המפתח: רק כל עוד יש לו את הרשאת Discord המתאימה, רק לחברים מתחת לתפקיד הגבוה שלו ושל הבוט, עם סיבה, עד 10 פעולות בדקה.
כל מי שמחזיק במפתח הזה יכול להעניש חברים בשמך. שמרו אותו בסוד ובטלו אותו כשאינו בשימוש.

מגבלות

מגבלות MCP
מהמגבלה
קריאות לכלים לכל חיבורמגבלת ה-API של התוכנית לדקה: Free‏ 60, ‏Pro‏ 600
בקשות MCP אחרות (רשימת כלים, לחיצות יד)300 לדקה לכל חיבור
טוקן גישה / טוקן רענוןשעה / 30 יום, מתחדש בכל רענון
גודל בקשה64KB להודעת MCP; ‏8KB לגוף של כלי, כמו ב-REST API

בטיחות

  • את האישור לפעולות הרסניות מבקשת אפליקציית ה-AI שלכם לפי סימוני הכלים — BotGG לא רואה את הצ׳אט. השאירו את האישורים פעילים בלקוח.
  • כתיבה דרך MCP לא משתמשת ב-Idempotency-Key, ולכן עוזר לא צריך לחזור בעיוורון על כתיבה שנכשלה — בדקו קודם את התוצאה. לכתיבה אוטומטית עם ניסיונות חוזרים השתמשו ב-REST API.
  • הטוקנים קשורים לכתובת הזו ולשרת דיסקורד אחד; ‏BotGG שומר רק את ה-hash שלהם. שימוש חוזר בטוקן רענון מנתק את האפליקציה ליתר ביטחון — פשוט חברו אותה שוב.

פתרון בעיות

תשובות נפוצות ופתרונות
תשובהמה לעשות
401 עם error="invalid_token"הטוקן פג, בוטל או שהאפליקציה נותקה — התחברו שוב מהלקוח.
403 עם error="insufficient_scope"לחיבור חסרה ההרשאה שב-scope. חברו מחדש וסמנו אותה במסך האישור.
403 ‏“Origin not allowed”לקוחות בדפדפן צריכים לפעול מ-origin מורשה; לקוחות שולחניים ושרתים לא שולחים Origin.
תוצאת כלי BANK_DISABLED / FEATURE_DISABLEDהפעילו את הפיצ׳ר לשרת בקונסולה.
אין פרטי התחברות או שהם לא תקינים
HTTP/1.1 401 Unauthorized
WWW-Authenticate: Bearer resource_metadata="https://console.botgg.app/.well-known/oauth-protected-resource/mcp"
חסרה הרשאה
HTTP/1.1 403 Forbidden
WWW-Authenticate: Bearer resource_metadata="…", error="insufficient_scope", scope="bank:write"

שאלות נפוצות

האם חיבור אחד יכול לנהל כמה שרתים?

לא. כל חיבור קשור לשרת האחד שבחרתם. כדי להשתמש באפליקציה בשרת אחר, חברו אותה שוב ובחרו את השרת הזה.

מי רואה ויכול לנתק אפליקציות מחוברות?

כל מנהל של השרת, בעמוד „אפליקציות מחוברות” של השרת בקונסולה.

האם העוזר מקבל גישה לחשבון הדיסקורד שלי?

לא. הוא מקבל טוקן של BotGG שמוגבל לשרת אחד ולהרשאות שאישרתם. ההתחברות לדיסקורד נשארת אצל BotGG.

מוכנים לשדרג את השרת?

מוסיפים את BotGG בחינם ומפעילים יכולות בקונסולת הווב.