דוגמה — חיבור לקוח MCP
שרת ה-MCP חושף כלים לסוכני AI. בחרו OAuth באמצעות חשבון משתמש, או חיבור App ID וטוקן עם כתובת שרת ושתי כותרות. קובץ קונפיגורציה אינו נדרש כאשר הלקוח מציע מסך הגדרות.
שני הערכים שצריך במסלול הטוקן בלבד
Section titled “שני הערכים שצריך”| הערך | מה זה | מאיפה |
|---|---|---|
| Application Id | מזהה המערכת. מזהה ציבורי, לא סוד | תפריט המשתמש ← סביבת פיתוח (siteadmin.mbapps.co.il) ← Databases ← המערכת שלכם ← לשונית Settings ← כפתור Copy |
| API Key | מפתח גישה מלא לבסיס הנתונים | אותו מסך ← טבלת API Keys ← + Add Key ← העתקה. Save נדרש רק כדי לשמור את ה‑Name |
התקנה באפליקציות הדסקטופ
Section titled “שלוש המעטפות”המרקטפלייס AviMYB/mybusiness-plugins מציע שתי גרסאות. בחרו גרסה אחת:
| גרסה | מזהה | חיבור והרשאות |
|---|---|---|
| MyBusiness OAuth | mybusiness-oauth | MCP כלול בחבילה. כניסה לחשבון בדפדפן; הרשאות המשתמש והתפקיד שלו. |
| MyBusiness App ID וטוקן | mybusiness-implementor | אותם סקילים. App ID וטוקן API מעניקים גישה מלאה למערכת; דרך הזנת הפרטים תלויה בלקוח. |
מקור: https://github.com/AviMYB/mybusiness-plugins.git, ענף main. הוספת המרקטפלייס אינה מתקינה את הפלאגין ואינה מאמתת גישה לנתונים.
מדריך התקנה מצולם ב-Codex · מדריך התקנה מצולם ב-Claude Code בדסקטופ
Claude Code בדסקטופ
- באפליקציית Claude עברו ללשונית Code, בחרו סביבת Local ותיקיית עבודה.
- פתחו + → Plugins → Browse plugins → Add → Add marketplace → Add from a repository.
- בחרו
AviMYB/mybusiness-pluginsולחצו Sync. אם המרקטפלייס כבר קיים, חזרו לקטלוג. - חפשו mybusiness ולחצו Add לצד Mybusiness oauth או Mybusiness implementor. הפעילו גרסה אחת בלבד.
- ב-OAuth פתחו Connectors → MyBusiness. כאשר Connect פעיל, השלימו כניסה בדפדפן.
זמינות החיבור: בממשק המצולם במדריך, Connect אינו פעיל ולא מופיע טופס App ID וטוקן. התקנת הסקילים אינה משלימה את הגישה לנתונים. פנו לתמיכה לקבלת מסלול שתואם את גרסת Claude; אין להזין סודות בצ׳אט ואין להסתמך על טופס שאינו מוצג.
מדריך התקנה מצולם ב-Codex · מדריך התקנה מצולם ב-Claude Code בדסקטופ
Codex בדסקטופ
- פתחו Plugins → Add → Add a marketplace.
- הזינו את כתובת המאגר בשדה Source, את
mainבשדה Git ref, והשאירו Sparse paths ריק. - בקטלוג Personal התקינו את הגרסה שבחרתם.
- במסלול OAuth פתחו MCPs → From plugins → MyBusiness → Authenticate והשלימו כניסה בדפדפן.
- במסלול הטוקן הוסיפו MCP אישי דרך MCPs → Add server, מסוג Streamable HTTP ובכתובת
https://mcp.mbapps.co.il/.
| Headers: Key | Value |
|---|---|
X-Parse-Application-Id | Application ID של המערכת |
X-Parse-API-Key | טוקן API |
השאירו Bearer token env var ו-Headers from environment variables ריקים ולחצו Save. פרטי החיבור האישיים מוגדרים בלקוח, ולא בקובצי הפלאגין.
מדריך התקנה מצולם ב-Codex · מדריך התקנה מצולם ב-Claude Code בדסקטופ
חיבור OAuth
OAuth מחבר את הסוכן לחשבון דרך הדפדפן. החיבור לשרת https://mcp.mbapps.co.il/ אינו דורש כותרות App ID או API Key במסלול הזה. גילוי ההרשאות נעשה דרך /.well-known/oauth-protected-resource ו-/.well-known/oauth-authorization-server; השרת מפרסם PKCE S256 ו-refresh_token.
אם ההתחברות נכשלת לפני פתיחת הדפדפן, פנו לתמיכה עם נוסח השגיאה ושם הלקוח. כשל רישום או callback הוא שלב נפרד מהרשאות MCP של משתמש שכבר התחבר. ב-Claude, כפתור Connect שאינו פעיל אינו חיבור שהושלם.
מדריך התקנה מצולם ב-Codex · מדריך התקנה מצולם ב-Claude Code בדסקטופ
בחיבור OAuth הסוכן פועל בהרשאות המשתמש המחובר, בכפוף לתפקיד ולהרשאות הטבלאות. בממשק האדמין פתחו User Settings → MCP Permissions, אפשרו Read / Create / Update לפי הצורך ולחצו Apply. ההרשאות כפופות גם לחבילת המנוי.
כלים מתקדמים אינם פתוחים כברירת מחדל ב-OAuth. בקשו מ-MyBusiness לפתוח אותם לאדמין. לאחר הפתיחה נדרשים תפקיד Admin והרשאת Edit pages and schema. בחיבור App ID וטוקן API יש גישה מלאה למערכת המחוברת, ואין צורך בשלב הפתיחה הנוסף של OAuth.
השוואת מסלולי החיבור
Section titled “שלושת המסלולים זה מול זה”OAuth: זהות משתמש והרשאותיו. App ID וטוקן: גישה מלאה למערכת. ב-Codex פרטי הטוקן מוגדרים במסך ה-MCP האישי; ב-Claude אין להניח שקיים טופס הגדרה אם הוא אינו מוצג. אחסון סודות נקבע לפי הלקוח.
בדיקת שפיות
Section titled “בדיקת שפיות”שלוש קריאות, בסדר הזה:
| # | הקריאה | תשובה תקינה | מה זה מוכיח |
|---|---|---|---|
| 1 | Usage-Guide |
טקסט ההוראות של השרת | התעבורה עובדת ואתם מדברים עם שרת MyBusiness |
| 2 | Get-Current-User |
משתמש אמיתי · או Master (עם API Key: {"objectId":"Master","username":"Master","name":"User name not found",…}) |
האימות עובד — ובאיזה מצב אתם |
| 3 | Count-Data על טבלה אמיתית שה‑CLP שלה סגור |
{"count":661} |
הגעתם לבסיס נתונים אמיתי, וההרשאות מאפשרות קריאה. על טבלה עם CLP ציבורי גם מפתח שגוי מחזיר מספר — ראו האזהרה למטה |
Get-Current-User הוא כל המבחן: אובייקט משתמש אמיתי ⇒ מצב התחברות, מודע‑הרשאות. Master (או User name not found) ⇒ מצב Application Id + API Key ברמת master, כלומר שום דבר לא מגן על הנתונים חוץ מכם.
הסכמות של כלי הבדיקה
Section titled “הסכמות של כלי הבדיקה”הפרמטרים כאן מגיעים מסכימת הכלים החיה של השרת (tools/list). הסכימה גוברת על כל מקור אחר, כולל על העמוד הזה. המפתחות של where ו‑data הם שמות השדות עצמם, ו‑{"IsAccount":true} עובר. הלקוח מטמין את הסכימה בפתיחת החיבור; אם היא נראית לא מסונכרנת, הפעילו אותו מחדש.
Usage-Guide
Section titled “Usage-Guide”Instructions for using MyBusiness MCP tools. LLM should start with this prompt!!
בלי פרמטרים. הקריאה הראשונה של סוכן בכל סשן: מחזירה את מפת טבלאות המערכת, כללי מודל הדפים, מבני התנאים ותחביר ה‑placeholders.
Get-Current-User
Section titled “Get-Current-User”Get information about the current authenticated user
בלי פרמטרים.
Count-Data
Section titled “Count-Data”Count records in a table matching the specified conditions
| פרמטר | טיפוס | חובה | הערות |
|---|---|---|---|
table |
String | ✔ | שם המחלקה שסופרים בה שורות |
where |
Object | – | תנאי סינון. כל מאפיין הוא שם שדה, וכולם מתחברים ב‑AND. תאריך: {"__type":"Date","iso":"YYYY-MM-DD"} · Pointer: {"__type":"Pointer","className":…,"objectId":…} |
Get-Data
Section titled “Get-Data”Retrieve records from a table
| פרמטר | טיפוס | חובה | הערות |
|---|---|---|---|
table |
String | ✔ | שם המחלקה |
where |
Object | – | כמו ב‑Count-Data |
keys |
Array of String | – | אילו שדות להחזיר. ברירת מחדל: כל השדות |
order |
String | – | שם שדה; - בהתחלה = סדר יורד |
limit |
Number | – | ברירת מחדל 5 (בלי limit חוזרות 5 שורות) · מינימום 1 · מקסימום 2000 (2001 → Input validation error … limit: Too big) |
skip |
Number | – | ברירת מחדל 0 |
objectId |
String | – | שליפת רשומה בודדת. בדיוק 10 תווים (9 תווים → Too small: expected string to have >=10 characters) |
Get-Schema
Section titled “Get-Schema”Get the schema of the database. If a class name is provided, returns the schema of the class. If no class name is provided, returns the schema of all classes.
| פרמטר | טיפוס | חובה | הערות |
|---|---|---|---|
className |
String | – | שם המחלקה. בלעדיו — כל הסכימה, וזו תשובה גדולה מאוד |
tablesNameOnly |
Boolean | – | true מחזיר רק את שמות הטבלאות — הדרך הזולה לראות מה יש במערכת |
הבדיקה מהמסוף
Section titled “הבדיקה מהמסוף”לקוח MCP הוא JSON‑RPC 2.0 מעל HTTP. הרצת הקריאה ידנית מפרידה בין “הלקוח לא מוגדר נכון” ל“האישורים לא תקפים”:
curl -sS -X POST https://mcp.mbapps.co.il/ \ -H "Content-Type: application/json" \ -H "Accept: application/json, text/event-stream" \ -H "X-Parse-Application-Id: $MB_APP_ID" \ -H "X-Parse-API-Key: $MB_API_KEY" \ -d '{ "jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": { "name": "Count-Data", "arguments": { "table": "Accounts", "where": { "IsAccount": true } } } }'התשובה של קריאת כלי ב‑MCP היא תמיד תוכן טקסטואלי בתוך result:
{ "jsonrpc": "2.0", "id": 1, "result": { "content": [ { "type": "text", "text": "{\"count\":24}" } ] }}הטקסט הוא JSON קטן, {"count":N}, ולא מספר חשוף.
איך נראה כשל
Section titled “איך נראה כשל”| מה אתם רואים | מה זה אומר | התיקון |
|---|---|---|
Authorization header is required |
הקריאה הגיעה בלי אישורים בכלל — שדות ריקים, או שהתוסף לא נטען מחדש | מלאו ואז פתיחת שיחה חדשה או הפעלה מחדש של האפליקציה (או הפעלה מחדש) |
HTTP 200 ובתוכו Error: Permission denied for action find on class … |
האישור שגוי: שגיאת הקלדה, מפתח שבוטל, מפתח מבסיס נתונים אחר — או המפתח הנכון תחת שם כותרת שגוי (בטבלאות שה‑CLP שלהן סגור: מפתח תחת X-Parse-Master-Key → בדיוק השגיאה הזו, גם ב‑MCP וגם ב‑REST. על טבלה עם CLP ציבורי הקריאה תחזיר 200 עם נתונים והטעות לא תתגלה) |
ודאו שהכותרת היא X-Parse-API-Key ולא X-Parse-Master-Key |
Error: Failed to get admin session with master key |
אותה סיבה בדיוק — נוסח אחר, מ‑12 כלים אחרים (בהם Get-Current-User, Get-Sites, Create-Form-Page) |
כנ“ל |
Error: Application not found · Error: no user · Error: master key is required · … invalid x-parse-application-id or x-parse-master-key or x-parse-api-key |
גם אלה אישור שגוי — נוסחים נוספים, לפי הכלי | כנ“ל |
HTTP 403 … "message":"invalid_token" |
קיים token של התחברות (Authorization: Bearer או X-Parse-Session-Token) אבל הוא נדחה — פג, בוטל, או הונפק למערכת אחרת |
אימות מחדש |
לשונית ההתחברות מסתיימת ב‑403 |
בקשת ההתחברות נדחתה; יש לבדוק את פרטי השגיאה ולא להסיק שזו בהכרח תקלה ב-callback. | פנו לתמיכה עם השגיאה ושם הלקוח. לחלופת טוקן זמינה ראו מדריך Codex. |
מלכודות שחוזרות
Section titled “מלכודות שחוזרות”| המלכודת | מה קורה |
|---|---|
| שני חיבורים פעילים | שני סטים זהים של כלים, ולפעמים תשובות מהמערכת הלא נכונה. השאירו שרת MyBusiness אחד פעיל |
| חיבור אחד = מערכת אחת | אין כלי חוצה‑מערכות; ניתוב האישורים נעשה בהגדרת החיבור, לא בקריאה |
| הנחה שיש כלי מחיקה | אין. לא לרשומה, לא לטבלה, לא לדף ולא לטריגר (מ‑67 הכלים היחיד עם Delete/Remove בשם הוא Remove-Users-from-Role; מחיקה היא DELETE /parse/classes/… ב‑REST) |
צ’קליסט
Section titled “צ’קליסט”- במסלול הטוקן בלבד: ה‑API Key מופיע עם
Created Dateאחרי רענון, וה‑Nameשלו נשמר (אחריSave) - המפתח הודבק תחת
X-Parse-API-Key(ולא תחתX-Parse-Master-Key) - הלקוח נטען מחדש אחרי שינוי ההגדרה
-
Usage-Guideמחזיר טקסט -
Get-Current-Userמחזיר משתמש, ואתם יודעים אם אתם ב‑Masterאו בזהות אישית -
Count-Dataעל טבלה אמיתית שה‑CLP שלה סגור מחזיר מספר - המשתמש אישר שזהו בסיס הנתונים הנכון — לפני הכתיבה הראשונה
- במסלול הטוקן בלבד: קובץ שמכיל את המפתח אינו בתוך repository
- יש בדיוק חיבור MyBusiness אחד פעיל
- שרת ה‑MCP — הפרוטוקול, שתי דרכי החיבור, ומפת הכלים
- אינדקס הכלים המלא · כלי הנתונים · מתכונים
- התקנה בכל סוכן — המסלול המלא בממשק
- הפלאגין לסוכני AI — מה עוד יש בחבילה מלבד החיבור
- אימות והרשאות · שגיאות ופתרון תקלות
- דוגמאות קוד — הקטלוג המלא