מחבר 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
סקירה כללית
Nibomo מריצה שרת MCP (Model Context Protocol) מרוחק, כדי שלקוחות MCP וסוכני AI יוכלו לקרוא את הכרטיסים שהגיע זמנם, לחזור עליהם איתך שאלה אחר שאלה וליצור או לערוך עבורך כרטיסים וחפיסות.
סוכנים יכולים להתחבר בשתי דרכים: דרך שרת ה-MCP הזה (הכי מתאים ללקוחות MCP כמו Claude או Cursor), או דרך כתובת הגילוי של Agents API עבור סוכני CLI. שתי הדרכים מגיעות לאותו ממשק נתונים לכל משתמש; העמוד הזה עוסק בשרת ה-MCP.
התחבר אליו בכתובת:
https://mcp.nibomo.com/mcp
אמצעי ההעברה הוא Streamable HTTP. השרת חושף שמונה כלים: גילוי סביבות עבודה, קריאה וכתיבה של כרטיסים וחפיסות, מדריכי עיון, חזרות ונתוני שימוש בחשבון.
איך להוסיף אותו בלקוח שלך
רוב הלקוחות מוסיפים שרת MCP מרוחק כמחבר מותאם אישית:
- פתח את הגדרות המחברים או שרתי ה-MCP בלקוח שלך.
- הוסף מחבר מותאם אישית והדבק את כתובת השרת
https://mcp.nibomo.com/mcp. - בלקוחות אינטראקטיביים, אשר את ההרשאה בדפדפן כשתתבקש. השרת משתמש ב-OAuth 2.1 עם Dynamic Client Registration, ולכן אין client secret להדביק ואין אפליקציה שצריך לרשום מראש.
- לשימוש ללא ממשק גרפי או משורת הפקודה, הגדר כותרת
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 עבור הכרטיס:
next_review_cardמחזירcardIdו-frontText, אוcard: nullכשאין כרטיס שהגיע זמנו.- אחרי שהלומד עונה,
reveal_answerמחזיר אתbackTextשל הכרטיס הזה. 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רושם חזרה ומקדם את לוח הזמנים של הכרטיס שלה.
כל המערכת, כולל האפליקציה, צד השרת והתשתית, היא בקוד פתוח וניתנת לאירוח עצמי, כך שאפשר להריץ את אותו מחבר מול פריסה משלך.