מחבר MCP

חיבור דרך ספריית Claude

פתח את Nibomo בספריית Claude, חבר אותה, התחבר לחשבון Nibomo שלך ואשר את הגישה. Nibomo מופיעה כמחבר Community.

ב-Claude Code, השתמש באותו חשבון מינוי של Claude ובדוק את /mcp אחרי החיבור. התחברות עם מפתח API או דרך ספק צד שלישי לא טוענת אוטומטית את המחברים שלך מ-claude.ai.

אפשר גם להגדיר את Claude Code ישירות. הרץ את הפקודה שלמטה, ואז פתח את /mcp ב-Claude Code והשלם את ההרשאה בדפדפן:

claude mcp add --transport http nibomo https://mcp.nibomo.com/mcp

התיעוד של Claude Code על MCP.

סקירה כללית

Nibomo מריצה שרת MCP (Model Context Protocol) מרוחק, כדי שלקוחות MCP וסוכני AI יוכלו לקרוא את הכרטיסים שהגיע זמנם, לחזור עליהם איתך שאלה אחר שאלה וליצור או לערוך עבורך כרטיסים וחפיסות.

סוכנים יכולים להתחבר בשתי דרכים: דרך שרת ה-MCP הזה (הכי מתאים ללקוחות MCP כמו Claude או Cursor), או דרך כתובת הגילוי של Agents API עבור סוכני CLI. שתי הדרכים מגיעות לאותו ממשק נתונים לכל משתמש; העמוד הזה עוסק בשרת ה-MCP.

התחבר אליו בכתובת:

https://mcp.nibomo.com/mcp

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

איך להוסיף אותו בלקוח שלך

רוב הלקוחות מוסיפים שרת MCP מרוחק כמחבר מותאם אישית:

  1. פתח את הגדרות המחברים או שרתי ה-MCP בלקוח שלך.
  2. הוסף מחבר מותאם אישית והדבק את כתובת השרת https://mcp.nibomo.com/mcp.
  3. בלקוחות אינטראקטיביים, אשר את ההרשאה בדפדפן כשתתבקש. השרת משתמש ב-OAuth 2.1 עם Dynamic Client Registration, ולכן אין client secret להדביק ואין אפליקציה שצריך לרשום מראש.
  4. לשימוש ללא ממשק גרפי או משורת הפקודה, הגדר כותרת Authorization: Bearer fca_… עם מפתח ה-API של הסוכן שלך במקום תהליך הדפדפן.

אחרי ההרשאה, קרא פעם אחת ל-list_workspaces כדי לבחור סביבת עבודה, ואז השתמש ב-sql_query לקריאה וב-sql_execute לכתיבה של כרטיסים וחפיסות. כדי לחזור על כרטיסים, קרא ל-next_review_card, אחר כך ל-reveal_answer ואז ל-submit_review.

כלים

השרת חושף שמונה כלים. הקריאה והכתיבה מופרדות בכוונה, כך שכלי אחד לעולם לא מערבב פעולות בטוחות ופעולות הרסניות.

  • get_usage_limits — לקריאה בלבד באופן מוחלט: תוכנית החשבון, המגבלות והשימוש החודשי הנוכחי ב-AI; הוא לא קורא ולא משנה כרטיסים.
  • sql_query — גישה לקריאה בלבד באופן מוחלט לכרטיסים ולחפיסות שלך (SHOW TABLES, DESCRIBE, SHOW COLUMNS, SELECT).
  • sql_execute — גישת כתיבה לכרטיסים ולחפיסות שלך (INSERT, UPDATE, DELETE) כאצווה אטומית.
  • list_workspaces — רשימה לקריאה בלבד באופן מוחלט של סביבות העבודה שיש לך גישה אליהן, כל אחת עם workspaceId, שם, מספר הכרטיסים הפעילים, הפעילות האחרונה והאם היא ברירת המחדל שבחרת כרגע. השתמש ב-workspaceId שהוחזר עבור הארגומנט האופציונלי workspaceId של כלי ה-SQL והחזרות.
  • get_guide — מדריך עיון לקריאה בלבד באופן מוחלט בנושא אחד: sql_dialect, card_authoring, bulk_authoring או review_flow. הוא לא קורא נתונים של סביבת עבודה.
  • next_review_card — לקריאה בלבד באופן מוחלט: מחזיר את הכרטיס הבא לחזרה, רק את הצד הקדמי, באותו סדר תור כמו באפליקציות. tags או deckId אופציונליים מצמצמים את התור.
  • reveal_answer — לקריאה בלבד באופן מוחלט: מחזיר את הצד האחורי של כרטיס אחד אחרי שהלומד ניסה לענות על הצד הקדמי.
  • submit_review — רושם דירוג אחד, Again, Hard, Good או Easy, ומקדם את לוח הזמנים של FSRS עבור הכרטיס.

ממשק ה-SQL הוא דיאלקט מוגבל בכוונה ואינו PostgreSQL מלא. התיעוד הזה מכסה רק את הדיאלקט הנתמך, ואינו מדריך תאימות ל-PostgreSQL. פקודות יכולות לפנות רק למשאבים workspace, cards, decks ו-review_events, כל פקודה מוגבלת לסביבת העבודה שלך, ופעולות קריאה וכתיבה מוגבלות ל-100 שורות לפקודה.

חזרות

כלי החזרות מאפשרים לסוכן לבחון לומד כרטיס אחד בכל פעם ולשמור כל דירוג בלוח הזמנים של FSRS עבור הכרטיס:

  1. next_review_card מחזיר cardId ו-frontText, או card: null כשאין כרטיס שהגיע זמנו.
  2. אחרי שהלומד עונה, reveal_answer מחזיר את backText של הכרטיס הזה.
  3. submit_review מקבל את cardId, מזהה reviewId מסוג UUID שהלקוח יוצר, rating ואת reviewedTimeZone של הלומד לפי IANA. השרת קובע את זמן החזרה ומחזיר את לוח הזמנים החדש של הכרטיס.

אם לא ברור אם שליחה הצליחה, נסה שוב עם אותו reviewId; היא לעולם לא רושמת חזרה שנייה. שליחה יכולה גם לענות:

  • 409 REVIEW_EVENT_CONFLICT — החזרה כבר נרשמה, ופרטי השגיאה מכילים את לוח הזמנים הנוכחי של הכרטיס.
  • 409 REVIEW_ID_CARD_MISMATCH — ה-reviewId כבר מזהה חזרה על כרטיס אחר, ולכן דבר לא נשמר; שלח שוב עם reviewId חדש.
  • 409 REVIEW_STALE — זמן החזרה השמור של הכרטיס זהה לזמן הנוכחי בשרת או מאוחר ממנו; חזור על כרטיס אחר.

חזרות נרשמות רק דרך submit_review: SQL לא יכול לכתוב ל-review_events או למצב התזמון של FSRS. קרא ל-get_guide עם הנושא review_flow כדי לקבל את הכללים המלאים לחזרה ולדירוג.

חוזה הכרטיס

כל כרטיס פועל לפי חוזה אחד, והכלים מסתמכים עליו:

  • front_text הוא רק שאלה או הנחיה לחזרה, ולעולם לא מכיל את התשובה.
  • back_text מכיל את התשובה, ואפשר להוסיף לה דוגמה קונקרטית.

סוכנים שיוצרים כרטיסים דרך sql_execute פועלים לפי החוזה הזה, ולכן אפשר מיד לחזור על הכרטיסים שהם יוצרים בחזרה מרווחת.

אימות

שני מסלולי הרשאה מגיעים לאותו ממשק נתונים לכל משתמש.

OAuth 2.1 (לקוחות מחבר אינטראקטיביים)

השרת מממש את תהליך authorization code עם PKCE ו-Dynamic Client Registration. הוסף את כתובת ה-MCP כמחבר מותאם אישית ואשר את ההרשאה בדפדפן; אין client secret ששותף מראש. הגילוי סטנדרטי:

  • מטא-נתונים של המשאב המוגן: https://mcp.nibomo.com/.well-known/oauth-protected-resource
  • מטא-נתונים של שרת ההרשאה: https://auth.flashcards-open-source-app.com/.well-known/oauth-authorization-server

מפתח API (ללא ממשק גרפי ו-CLI)

קבל מפתח API ארוך טווח לסוכן, עם הקידומת fca_, דרך תהליך ההתחברות עם קוד חד-פעמי באימייל שמתועד במדריך ה-API, ואז שלח אותו כטוקן Bearer:

Authorization: Bearer fca_ABCDEFGH_0123456789ABCDEFGHJKMNPQRS

זה אותו מפתח שממשק ה-REST לסוכנים מקבל, והוא לא דורש דפדפן או סבב OAuth.

התיאור הקנוני, הקריא למכונה, של שני המסלולים הוא תגובת הגילוי בכתובת https://api.nibomo.com/v1/ (עם עותק זהה ב-/v1/agent).

בטיחות והיקף

אפשר לאשר בבטחה את כלי ה-SQL, כי הממשק הוא דיאלקט סגור שהמנתח אוכף, ולא גישה חופשית למסד הנתונים:

  • רשימה סגורה של פקודות מותרות: sql_query מקבל רק SHOW TABLES, DESCRIBE, SHOW COLUMNS ו-SELECT; sql_execute מקבל רק INSERT, UPDATE ו-DELETE. כל דבר אחר נדחה כבר בשלב הניתוח.
  • משאבים מוגבלים: פקודות יכולות לגעת רק ב-workspace, cards, decks ו-review_events.
  • הגבלה לסביבת עבודה: כל פקודת SQL וכל חזרה מוגבלות לסביבת עבודה אחת שיש לך גישה אליה, ה-workspaceId שהעברת או ברירת המחדל שבחרת, בלי גישה בין דיירים.
  • ארגומנטים מחמירים: כל כלי דוחה ארגומנט לא מוכר, כך ש-workspaceId עם שגיאת כתיב נכשל במקום לרוץ על סביבת העבודה המוגדרת כברירת מחדל.
  • מגבלות: עד 100 שורות לפקודה, עד 50 פקודות לאצווה, ומגבלת תוצאה של כ-12k טוקנים. אצוות של שינויים מוחלות באופן אטומי.
  • הפרדה בין קריאה לכתיבה: get_usage_limits, sql_query, list_workspaces, get_guide, next_review_card ו-reveal_answer הם לקריאה בלבד באופן מוחלט (readOnlyHint), ולעולם לא מתקנים נתונים, מחשבים מחדש את התזמון או משנים את מצב הכרטיסים. sql_execute ו-submit_review הם כלי הכתיבה היחידים (destructiveHint): sql_execute כותב כרטיסים וחפיסות, ו-submit_review רושם חזרה ומקדם את לוח הזמנים של הכרטיס שלה.

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