יועץ שיווק צמיחה הפסיק להקדיש אחר צהריים שלם לשליפת נתונים מ-14 טאבים בדפדפן ומגיליונות נתונים אינסופיים, וזאת על ידי בניית שרת Model Context Protocol (MCP). השרת מאפשר לעוזר AI לשלוף נתונים ולפעול על בסיסם מתוך Google Ads, Meta, GA4 ו-Search Console. כעת הוא מייצר דוחות חודשיים, מבצע ביקורות (audits) ומחיל אופטימיזציות ללא צורך בליווי ידני, מה שמשחרר את המקאטר להתמקד באסטרטגיה במקום בסידור וארגון נתונים (data wrangling).

למה השינוי הזה היה משמעותי

דיווח על פלטפורמות חיפוש ממומן, רשתות חברתיות ואנליטיקה היה בעבר כוריאוגרפיה ידנית: פתיחת כל דאשבורד, העתקת מספרים לגיליון נתונים, התאמת חוסר התאמות וכתיבת תובנות. המאמץ הזה גזל זמן יקר והיה חשוף לטעויות אנוש. MCP משנה את זרימת העבודה על ידי מתן גישה ישירה של ה-AI לשפות השאילתה המקוריות (native query languages) ול-APIs של הפלטפורמות, ובכך הופך את הבקשה מ"תגיד לי מה המספרים" ל"לך תביא לי את המספרים".

הבסיס הטכני

MCP הוא פרוטוקול המאפשר לעוזר מבוסס LLM לקרוא לכלים חיצוניים כחלק מתהליך החשיבה שלו. בפועל, היועץ הקים שירות אינטרנט קטן שחושף את שפת השאילתה הגולמית של כל פלטפורמה (Google Ads ← GAQL) ואת נקודות הקצה (endpoints) הסטנדרטיות של REST עבור Meta, GA4 ו-Search Console. ה-AI בונה שאילתות, שולח אותן לשרת, מקבל תוצאות מובנות ויכול לבצע פעולות כתיבה (write-operations) ולאחריהן פעולות קריאה לצורך אימות (verification reads).

שלושה בחירות עיצוביות שהשתלמו

  • חשיפת שפות שאילתה מקוריות במקום עטיפות דקות (thin wrappers) – הניסיון הראשון כלל כתיבת פונקציה נפרדת לכל צורך בנתונים (למשל, get_campaigns). זוויות דיווח חדשות גרמו לקוד להתרחב במהירות רבה מדי. על ידי חשיפת GAQL ישירות, נקודת קצה אחת מאפשרת ל-AI לנסח כל שאילתה שהוא צריך. הרכבות ה-GAQL של העוזר תפקדו טוב יותר מהסקריפטים הידניים של היועץ, ודפוס זה עובד גם עבור הפלטפורמות האחרות.
  • אימות כל פעולת כתיבה באמצעות קריאה – APIs מחזירים לעיתים קרובות דגל הצלחה גם כאשר השינוי לא נשמר בפועל. השרת כעת מבצע קריאה חוזרת לאחר כל כתיבה; אם הערך המצופה חסר, הוא מתעד שגיאה ושולח התראה למשתמש. מנגנון הגנה זה מונע שגיאות שקטות שעלולות לפגוע בנתוני הביצועים.
  • תחזוקת יומן שגיאות בפורמט markdown – כל באג, שדה שנכתב בשגיאת הקלדה או כלל שלא הובן נרשמים ב-learned-errors.md. ה-AI קורא את הקובץ הזה בתחילת כל סשן, ובכך מלמד את עצמו מה לא לחזור על.

שלושה מכשולים שגזלו זמן

  • התנגשויות שמות בין כלים לייבוא (imports) – פונקציה אחת חלקה שם זהה לשם של מודול מיובא, מה שגרם לשרת לקרוס בזמן ריצה. מתן כינוי (alias) ייחודי לכל ייבוא ביטל את ההתנגשות.
  • הזנחת hot reloads – שרת ה-MCP טען את הקוד פעם אחת בעת ההפעלה. שינויים בקוד לא נכנסו לתוקף עד שתהליך הלקוח (client process) כולו הופעל מחדש, מה שהוביל לשעות של ניפוי שגיאות (debugging) בקוד שאינו פעיל. הוספת תהליך הפעלה מחדש מלא לאחר כל עריכה פתרה את הבעיה.
  • תלויות (dependencies) חסרות – ייבוא בודד שנעדר מהסביבה הווירטואלית הפיל את השרת בעת ההפעלה. בדיקות מקדימות (pre-flight checks) מתקינות ומאמתות כעת את כל החבילות הנדרשות לפני הפעלה מחדש, מה שמאפשר לזהות את הבעיה בשלב מוקדם.

שורה תחתונה

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