MCP מגדיר את הבעיה. הנה איך קו פותר אותה בלי שרת כלים שצריך לפרוס.
MCP מגדיר בעיה אמיתית: איך מודל קורא למערכות אמיתיות. הנה המנגנון שקו בפועל מריץ כדי לפתור אותה — מורכב מחדש בכל תור, אף פעם לא שרת כלים שפורסים.
מודל שפה, לבדו, יודע רק לייצר טקסט. הוא לא יודע מה היתרה של תושב, והוא לא יכול לקבוע תור — כדי לעשות את שני הדברים הוא צריך דרך מובנית לקרוא למערכת אמיתית. MCP (Model Context Protocol) הוא הסטנדרט הפתוח שנותן שם מדויק לבעיה הזאת: רשימת כלים, כל אחד עם שם, תיאור וצורת קלט מוקלדת, שמודל יכול לבחור מתוכה.
מה שרת כלים רגיל לפי MCP לא פותר
שרת כלים רגיל לפי MCP הוא עדיין קוד. רשימת הכלים שלו קבועה בזמן הבנייה, כתובה בקובץ, נבנית ונשלחת — אותם כלים לכל משתמש, בלי מושג אמיתי של "איזה ארגון שואל". הוספת כלי היא גרסה חדשה. גם התשובה שהמודל מקבל היא בדיוק מה שהמערכת מחזירה, גולמית.
מה קו מריץ במקום זה
שכבת היכולות של קו פותרת בדיוק את אותה בעיה בדרך אחרת: התיאור של כלי, וכל הסט שהמודל מורשה לראות בתור הנוכחי, מורכב מחדש משורות במסד הנתונים — אף פעם לא מקובץ ששמור במאגר קוד. פרסום שורת יכולת חדשה הופך אותה לזמינה מיד, מוגבלת בדיוק לארגונים שהתקינו אותה, כי מסד הנתונים עצמו אוכף את ההגבלה. כל קריאה נבדקת מול רמת ההזדהות וההרשאה שהיכולת מצהירה לפני שהיא רצה, והתשובה ממופה למבנה מוקלד, מוצגת דרך תבנית, ועוברת שער חשיפה לפני שהמודל בכלל כותב משפט סביבה.
ארגז הכלים כבר בנוי. המודל רק בוחר.
זו כל חלוקת העבודה: קו מחליט למה תושב מסוים, בתור מסוים, מורשה להגיע — הנחיית ניתוב יכולה אפילו להצמיד או למנוע כלים ספציפיים עבור ביטוי שהיא מזהה. המודל אף פעם לא מרכיב לעצמו ארגז כלים ואף פעם לא רואה פלט גולמי ממערכת שהוא שאל.
בתוכנית העבודה, לא זמין היום: חשיפת טבלת היכולות של דייר כממשק תואם-MCP למערכות ההמשך שלו עצמו היא כיוון שנשקל. זו לא יכולת שאפשר להפעיל כרגע.
למה הגרסה הקשה יותר היא הגרסה ההוגנת יותר לשלוח
שרת כלים קבוע קל יותר לכתוב פעם אחת. סט כלים שמוגבל לפי ארגון, נבדק בכל קריאה, ומורכב מחדש כל תור משורות שהצוות שלכם עצמו עורך ישירות — הוא הגרסה שמחזיקה מעמד מול מאה רשויות, כל אחת מחוברת למערכת ניהול תיקים אחרת. וזו הגרסה שקו בפועל מריץ.