לפי פרסום של ארתור האנג זואו, ג'ושוע לי ופראטיק גורודאט שנוי מ-Amazon OpenSearch Service, שירות Amazon OpenSearch Service תומך כעת ביכולת חדשה בשם יישומי MCP (או MCP Apps), המרחיבה את פרוטוקול Model Context Protocol כדי לאפשר הצגת ויזואליזציות אינטראקטיביות ישירות בחלון הצ'אט של סביבת הפיתוח לצד תשובת הטקסט של סוכן ה-AI.
הבעיה: תהליך האימות דורש יציאה מסביבת הסוכן
לפי מחברי המאמר, סוכני ניטור (observability agents) מבצעים שאילתות על התראות, מצליבים יומני רישום (logs) עם עקבות (traces), ומפיקים השערת סיבת שורש בתוך דקות. עם זאת, שלב האימות עדיין גוזל זמן ממהנדסים. לאחר קריאת סיכום הטקסט של הסוכן, המהנדס נדרש לעזוב את סביבת הפיתוח (IDE), לפתוח דפדפן, להתחבר לממשק ניטור נפרד, להריץ מחדש שאילתות באופן ידני בכלי אחר, ולהשוות את פלט הטקסט של הסוכן מול לוחות המחוונים בפועל. לאחר מכן המהנדס חוזר לסוכן כדי להמשיך בשיחה.
הכותבים מציינים כי לולאת אימות חיצונית זו מהווה צוואר בקבוק, משום שהיא מאלצת מעבר בין כלים ומאטה את יתרון המהירות של אוטומציה מבוססת סוכנים. בנוסף, ארגונים שבחרו להריץ ניטור מבוסס סוכנים באופן מקומי מטעמי שליטה ויעילות עלויות, ויתרו היסטורית על נוחות שימוש ולעיתים על ביצועי סוכן בהשוואה לפתרונות של ספקים המצמידים AI לשירותיהם. עבור צוותים אלה, פער האימות מהווה את הנטל התפעולי העיקרי.
הפתרון: שילוב ממשק ניטור בתוך סביבת הפיתוח
Amazon OpenSearch Service מציג תמיכה ביישומי MCP, המוסיפים דפוס תגובה כפול (dual response pattern) לפרוטוקול MCP. כאשר סוכן ה-AI מבצע קריאת כלי (tool call) ליישום MCP, התגובה כוללת שני חלקים: סיכום טקסטואלי הכולל נתונים תמציתיים ומובנים, וויזואליזציה אינטראקטיבית המוצגת באותו רצף שיחה.
הוויזואליזציה מופקת באמצעות הרצת קוד בצד השרת מול אותם מקורות נתונים המזינים את לוחות המחוונים של OpenSearch. כתוצאה מכך, התוצאות הן דטרמיניסטיות ומציגות את תוצאת השאילתה בפועל בצורת תרשים אינטראקטיבי, תצוגת מפל עקבות (trace waterfall) או מפת שירותים (service map).
ארכיטקטורה ואופן פעולת הפרוטוקול
היכולת מורכבת משרת MCP מקומי, סביבת הפיתוח (IDE) ויישום ממשק המשתמש של OpenSearch (המכונה OpenSearch UI).
הזרימה פועלת כך:
- שרת MCP מקומי פועל על מחשב המשתמש ומשמש כגשר מאובטח בין סביבת הפיתוח ליישום OpenSearch UI.
- השרת חושף כלי ניטור שסוכן ה-AI יכול להפעיל.
- כל קריאת כלי מועברת דרך שרת ה-MCP המקומי אל נקודת הקצה (endpoint) של יישום OpenSearch UI, מאומתת באמצעות פרטי הגישה של AWS, ומבצעת שאילתה.
- יישום OpenSearch UI, המשמש ממשק Serverless עבור תחומי OpenSearch, אוספי Serverless, שירות CloudWatch ושירות Amazon Managed Service for Prometheus, מחזיר הן סיכום טקסט מובנה והן רכיב ויזואליזציה מרונדר.
- שרת ה-MCP אורז את שני החלקים לתגובת MCP יחידה הנשלחת חזרה לסביבת הפיתוח, שמזהה את הוויזואליזציה ומציגה אותה כווידג'ט אינטראקטיבי.
הנתונים נשארים בחשבון ה-AWS של המשתמש, והשרת פועל מקומית תחת ההרשאות והמדיניות המוגדרות בו.
דוגמה לקריאת כלי מקצה לקצה בחקירת עקבות
לשם הדגמת הדפוס, המחברים מתארים תרחיש חקירת עקבות (trace investigation):
- הסוכן שולח קריאת כלי עם מזהה עקבה (trace ID) או מסננים כגון שם שירות וטווח זמנים אל שרת ה-MCP המקומי באמצעות פרוטוקול MCP סטנדרטי.
- השרת המקומי מאמת את הבקשה ומעביר אותה ב-HTTP API אל יישום OpenSearch UI, אשר שולף את המקטעים (spans) התואמים ומייצר את התגובה.
- התגובה הכפולה כוללת בחלק הטקסטואלי סיכום מובנה עם מזהה עקבה, משך זמן כולל, כמות מקטעים, הנתיב הקריטי (critical path) וניתוח של מקור הכשל. החלק הוויזואלי מציג מפל עקבות אינטראקטיבי המציג היררכיית מקטעים, תזמונים והערות שגיאה.
- הסוכן משתמש בטקסט לצורך שלב הניתוח הבא שלו (כגון הצלבת המקטע הפגום עם יומני רישום), בעוד שהמהנדס צופה במפל העקבות באותו חלון, מרחיב מקטעים, בוחן תכונות ומאמת את סיבת השורש ללא פתיחת לשונית בדפדפן.
כלי MCP הזמינים במערכת
המחברים מפרטים את הכלים הזמינים המחולקים לשלוש קטגוריות:
-
כלי חקירה מרכזיים (Core investigation tools):
- כלי מיון ומענה (Triage and response) המציגים התראות פעילות, מצליבים התראות קשורות ומציגים פילוח חומרה.
- כלי חקירת יומני רישום (Log investigation) לחיפוש דפוסי שגיאות וקיבוץ רשומות דומות.
- כלי חקירת עקבות (Trace investigation) לאיתור עקבות מבוזרות, הצגת היררכיית מקטעים וזיהוי מקור הכשל.
-
כלי הקשר וויזואליזציה (Context and visualization tools):
- כלי חקירת מדדים (Metric investigation) להרצת שאילתות PromQL וניתוח ספים.
- כלי ביצועי שירות המספקים מדדי RED (קצב, שגיאות, משך).
- כלי טופולוגיה המציגים מפת שירותים כגרף תלויות עם נפח קריאות ושיעורי שגיאות.
- כלי ויזואליזציה דינמיים להפקת תרשימי קו, עמודות, שטח ומדדים.
- כלי מערכי נתונים והצלבות (Datasets and correlations) לביצוע חיבורי נתונים בין אותות שונים.
-
כלים מיוחדים (Specialized tools):
- כלי ניטור AI וסוכנים למעקב אחר קריאות מודלי שפה גדולים (LLM) והצגת מפות עקבות של סוכנים.
- כלי בריאות המערכת (Stack health) המדווחים על מצב האשכול והקצאת shards.
- כלי ניקוד מכשור (Instrumentation scoring) לזיהוי פערים בכיסוי הטלמטריה.
שלבי ההתקנה וההגדרה
כדי להתחיל בשימוש, המחברים מפרטים את דרישות הקדם ואת שלבי ההגדרה:
דרישות קדם:
- יישום OpenSearch UI עם סביבת עבודה של Observability המחוברת למקור נתונים אחד לפחות (תחומי OpenSearch Service, אוספי Serverless, או סביבות עבודה של Amazon Managed Service for Prometheus).
- סביבת פיתוח תואמת: Claude Desktop, VS Code GitHub Copilot, Goose, ChatGPT או Cursor.
- התקנה מקומית של Node.js בגרסה 22 ומעלה.
- פרטי גישה של AWS עם הרשאות es:ESHttpGet ו-es:ESHttpPost.
שלבי ההתקנה:
- הורדת קובץ ה-ZIP של שרת ה-MCP מדף ההורדות וחילוצו. הקובץ המחולץ מכיל את server/server.js.
- הוספת הגדרת שרת ה-MCP לקובץ התצורה המתאים בסביבת הפיתוח עם פקודת ההרצה (node), הנתיב לקובץ השרת, ומשתני סביבה הכוללים את נקודת הקצה של OpenSearch UI (שנמצאה תחת Applications בקונסולת OpenSearch), אזור ה-AWS ופרופיל ה-AWS.
- אימות החיבור באמצעות הפעלת סביבת הפיתוח מחדש והזנת הבקשה: "List available observability data sources". תגובה המציגה את מקורות הנתונים המחוברים מעידה על הגדרה תקינה.
המחברים מציינים כי לבדיקה ללא נתוני ייצור ניתן לפרוס את אפליקציית הדמו של OpenTelemetry. להסרת ההגדרה יש למחוק את הרשומה מהגדרות ה-MCP בסביבת הפיתוח ולמחוק את התיקייה המקומית, ללא צורך בניקוי משאבים בצד AWS.