שרת MCP בניהול Looker

שרת ה-MCP שמנוהל על ידי Looker הוא שילוב מובנה שמטמיע שרת Model Context Protocol ‏ (MCP) ישירות בפלטפורמת Looker. הוא מאפשר לסוכני AI – כמו Gemini CLI,‏ Claude Desktop,‏ Cursor ו-Copilot – להתחבר בצורה מאובטחת למופע Looker ולקיים אינטראקציה עם נתונים עסקיים ומודלים של LookML.

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

שרת ה-MCP שמנוהל על ידי Looker נמצא בגרסת Preview למכונות Looker (Google Cloud Core) ולמכונות Looker (מקורי). אין תמיכה בתצוגה מקדימה של מקרים שמתארחים אצל הלקוח (במקום).

אם אתם משתמשים במופע שמתארח אצל הלקוח, או אם אתם מעדיפים לנהל את התשתית שלכם, אתם יכולים להתחבר באמצעות MCP Toolbox for Databases העצמאי. ‫MCP Toolbox הוא שרת MCP בקוד פתוח שאפשר להריץ במחשב המקומי או בשרת שלכם כדי לשמש כגשר בין סוכני AI לבין מופע Looker שלכם. מידע נוסף מופיע בדף העזרה בנושא שימוש ב-Looker עם MCP, ‏ Gemini CLI וסוכנים אחרים.

לפני שמתחילים

כדי להשתמש בשרת MCP שמנוהל על ידי Looker, אתם צריכים לעמוד בדרישות הבאות:

דרישות לגבי מופע

  • אתם צריכים להשתמש במופע של Looker (Google Cloud Core) או במופע של Looker (מקורי).
  • המופע צריך להתארח ב-Looker.

ההרשאות הנדרשות

  • כדי לנהל את הגישה לכלי: צריך להיות לכם תפקיד אדמין ב-Looker.
  • כדי לרשום את סוכן ה-AI כלקוח OAuth באמצעות API Explorer, אתם צריכים את התפקיד אדמין ב-Looker.
  • כדי לחבר סוכן AI לשרת ה-MCP שמנוהל על ידי Looker: צריך את פרטי הכניסה הרגילים ל-Looker כדי לבצע אימות במהלך תהליך החיבור של OAuth. אדמין ב-Looker צריך לרשום קודם את סוכן ה-AI כלקוח OAuth. אחרי החיבור, סוכן ה-AI יקבל את התפקידים והגישה של המשתמש שביצע את האימות ב-Looker.

הגדרה של שרת MCP מנוהל

מגדירים את הגישה לכלי כדי להגדיר את שרת ה-MCP המנוהל.

קביעת הגדרות לכלי

כברירת מחדל, כל הכלים מושבתים בשרת ה-MCP המנוהל. אדמינים ב-Looker צריכים להפעיל באופן מפורש את הכלים שסוכני ה-AI יכולים להשתמש בהם. במאמר הגדרות אדמין – Model Context Protocol‏ (MCP) מוסבר איך להפעיל כלים.

הגדרת הגדרות CORS

אם לקוח ה-MCP פועל ישירות בדפדפן אינטרנט ורוצה לתקשר עם שרת ה-MCP שמנוהל על ידי Looker באמצעות CORS, האדמין ב-Looker צריך להוסיף את הדומיין של אתר הלקוח הזה אל רשימת ההיתרים של דומיינים להטמעה בחלונית Admin.

רישום סוכן AI באמצעות OAuth

במהלך השקת התצוגה המקדימה, אדמינים ב-Looker צריכים לרשום סוכן AI באופן ידני כדי לקשר את הסוכן לשרת MCP מנוהל.

  1. פותחים את Looker API Explorer.

    • אם API Explorer כבר מותקן במכונה של Looker, אפשר לגשת אליו באמצעות פורמט כתובת ה-URL הבא:

      https://LOOKER_INSTANCE_URL/extensions/marketplace_extension_api_explorer::api-explorer/
      
    • אם אין לכם את API Explorer במכונה של Looker, אתם יכולים להתקין אותו מ-Looker Marketplace. מידע נוסף מופיע בדף שימוש ב-API Explorer.

    • אם אתם משתמשים במופע של חיבורים פרטיים ב-Looker (Google Cloud core) שמשתמש בגישה לשירותים פרטיים, אי אפשר להשתמש ב-Looker Marketplace וב-API Explorer. כדי לרשום סוכן AI, צריך לשלוח קריאה ישירה לנקודת קצה ל-API‏ oauth_client_apps. אם משתמשים בשיטה הזו, אפשר לדלג על השלב הבא של API Explorer ולעבור ישירות לקטע הגדרת לקוח MCP.

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

      curl -X POST "https://LOOKER_INSTANCE_URL/api/4.0/oauth_client_apps/CLIENT_GUID" \
      -H "Authorization: token ACCESS_TOKEN" \
      -H "Content-Type: application/json" \
      -d '{
        "redirect_uri": "REDIRECT_URI",
        "display_name": "CLIENT_NAME",
        "description": "OAuth client to access MCP server using CLIENT_NAME",
        "enabled": true
      }'
      
  2. בקטע Auth method, מחפשים את נקודת הקצה ל-API Register OAuth App. אפשר גם לחפש 'אפליקציית OAuth' בשדה חיפוש.

  3. בדף Register OAuth App (רישום אפליקציית OAuth), לוחצים על הלחצן Run It (הפעלת האפליקציה).

  4. בכרטיסייה Request בתיבת הדו-שיח Run It, מזינים את הפרטים הבאים בשדות המתאימים:

    • כדי למלא את השדה client_guid:

      • אם הנציג ייתן לכם מזהה לקוח ספציפי, תצטרכו להשתמש בו.
      • אם הסוכן לא מציין Client-ID ספציפי, אפשר להשתמש בכל מזהה ייחודי גלובלי.
      • צריך להיות מוכנים להפיץ את המזהה לכל מפתחי LookML שרוצים להשתמש בסוכן.
    • במקרה של redirect_uri, ה-URI משתנה בהתאם לאפליקציית סוכן ה-AI. כתובת ה-URL הספציפית להפניה מופיעה במסמכי התיעוד של סוכן האימות של OAuth. הפורמט יכול להיראות כמו אחת מהדוגמאות הבאות:

      Gemini CLI

      http://localhost:7777/oauth/callback
      

      Gemini Code Assist

      http://localhost:7777/oauth/callback
      

      מומלץ להשתמש ב-Gemini CLI עם Gemini Code Assist. במקרה כזה, הם חולקים את אותו שרת מקומי של קריאות חוזרות ואת אותה הגדרת יציאה.

      Claude code

      ‫Claude Code משתמש ביציאה אקראית שזמינה לקריאה חוזרת של OAuth, אבל כדאי לתקן את זה באמצעות הדגל --callback-port 8080 (או באמצעות ההגדרה callbackPort ב-mcp.json) כדי להתאים ל-URI הרשום.

      http://localhost:8080/callback
      

      ‫VS Code וסביבות פיתוח משולבות (IDE) אחרות

      בסביבות פיתוח משולבות (IDE), כתובת ה-URI להפניה אוטומטית עשויה להיראות כך, בהתאמה אישית לסביבת הפיתוח המשולבת שלכם.

      vscode://google.vscode-looker-official/oauth_callback
      

      אפליקציות באירוח בענן

      באפליקציות שמתארחות בענן, יכול להיות שכתובת ה-URL תיראה כמו כתובת HTTPS מאובטחת:

      https://AI_AGENT_URL/oauth2callback
      

      אפליקציות מקומיות

      באפליקציות שפועלות באופן מקומי, כתובת ה-URL צריכה להיות localhost עם יציאה סטטית:

      http://localhost:7777/oauth/callback
      
    • משלימים את השלבים display_name ו-description כמו שמתואר במסמך הרשמה של אפליקציית לקוח OAuth.

  5. מסמנים את תיבת הסימון לצד ברור לי שנקודת קצה ל-API זו תשנה נתונים.

  6. לוחצים על Run.

  7. כדי לוודא שהגדרתם אימות בהצלחה, אפשר להשתמש בשיטה Get OAuth Client App ב-API Explorer. לשם כך, פועלים לפי השלבים הבאים:

    • בשדה חיפוש של API Explorer, מזינים Get OAuth Client App.
    • לוחצים על הפעלה.
    • בשדה client_guid, מזינים את הערך שבו השתמשתם כשנרשמתם ל-OAuth:

      client_guid
      

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

הגדרת לקוח ה-MCP

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

  • כתובת ה-URL של השרת: LOOKER_INSTANCE_URL/mcp
  • אימות: OAuth 2.1

הגדרות לדוגמה (mcp.json)

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

Gemini CLI

מגדירים את Gemini CLI כך שיתחבר ישירות לשרת MCP שמנוהל על ידי Looker.

  1. מתקינים את Gemini CLI.
  2. מוסיפים את שרת ה-MCP המרוחק באמצעות הפקודה הבאה, ומחליפים את LOOKER_INSTANCE_URL בכתובת ה-URL של מכונת Looker:
    gemini mcp add --transport http looker LOOKER_INSTANCE_URL/mcp
    

    אפשר גם להגדיר את זה באופן ידני על ידי הוספת ההגדרה הבאה לקובץ settings.json (שנמצא ב-~/.gemini/settings.json או בספריית הפרויקט):

    {
      "mcpServers": {
        "looker": {
          "httpUrl": "LOOKER_INSTANCE_URL/mcp"
        }
      }
    }
    
  3. מפעילים את Gemini CLI במצב אינטראקטיבי:
    gemini
    
    כשמוצגת בקשה להתחבר, ה-CLI מתחיל את תהליך ההרשאה של OAuth כדי לבצע אימות מאובטח במופע Looker.

Gemini Code Assist

מומלץ להגדיר את Gemini Code Assist לשימוש ב-Gemini CLI. הגישה הזו מייתרת את הצורך להגדיר שרת MCP באופן ידני.

  1. מוודאים שהתקנתם והגדרתם את Gemini CLI ואת שרת ה-MCP שמנוהל על ידי Looker.
  2. איך מגדירים את Gemini Code Assist לשימוש ב-Gemini CLI
  3. מתחילים אינטראקציה עם מופע Looker באמצעות שפה טבעית ישירות בצ'אט של Gemini Code Assist.

Claude code

  1. מתקינים את Claude Code.
  2. יוצרים את הקובץ .mcp.json בתיקיית הבסיס של הפרויקט, אם הוא לא קיים.
  3. מוסיפים את ההגדרה הבאה, מחליפים את PROXY_URL בדומיין של שרת ה-reverse proxy ושומרים.

      {
        "mcpServers": {
          "looker-toolbox": {
            "type": "http",
            "url": "LOOKER_INSTANCE_URL/mcp"
          }
        }
      }
  

‫Claude למחשב

  1. ב-Claude למחשב, עוברים אל הגדרות ובוחרים באפשרות מחברים.
  2. בוחרים באפשרות הוספת מחבר בהתאמה אישית ומזינים שם (לדוגמה, Looker).
  3. בכתובת ה-URL, מזינים את כתובת ה-URL של המופע ב-Looker עם הנתיב /mcp שנוסף בסוף (לדוגמה, https://looker.example.com/mcp).
  4. בקטע הגדרות מתקדמות, מזינים את המחרוזת המדויקת שבה השתמשתם בשדה client_guid במהלך רישום אפליקציית OAuth. משאירים את השדה 'סוד הלקוח ב-OAuth' ריק.
  5. לוחצים על הוספה כדי לשמור את המחבר. כשמוצגת בקשה להתחבר, Claude למחשב מתחיל בצורה מאובטחת את תהליך ההרשאה של PKCE דרך הדפדפן.
  1. מפעילים מחדש את Claude לשולחן העבודה.

קלין

  1. פותחים את התוסף Cline בסביבת הפיתוח המשולבת (IDE) ולוחצים על סמל שרתי MCP.
  2. לוחצים על Configure MCP Servers (הגדרת שרתי MCP) כדי לפתוח את קובץ ההגדרות.
  3. מוסיפים את ההגדרה הבאה, מחליפים את LOOKER_INSTANCE_URL בכתובת ה-URL של Looker, ואז שומרים.

      {
        "mcpServers": {
          "looker-toolbox": {
            "type": "http",
            "url": "LOOKER_INSTANCE_URL/mcp"
          }
        }
      }
  

אחרי שהשרת מתחבר בהצלחה, מופיע סטטוס פעיל בצבע ירוק.

סמן

  1. אם התיקייה .cursor לא קיימת, יוצרים אותה בתיקיית הבסיס של הפרויקט.
  2. יוצרים את הקובץ .cursor/mcp.json אם הוא לא קיים, ופותחים אותו.
  3. מוסיפים את ההגדרה הבאה, מחליפים את LOOKER_INSTANCE_URL בכתובת ה-URL של Looker, ואז שומרים.
      {
        "mcpServers": {
          "looker-toolbox": {
            "type": "http",
            "url": "LOOKER_INSTANCE_URL/mcp"
          }
        }
      }
  
  1. פותחים את Cursor ועוברים אל Settings > Cursor Settings > MCP. כשמתבצע חיבור לשרת, מופיע סטטוס פעיל בצבע ירוק.

קוד Visual Studio ‏ (Copilot)

  1. פותחים את VS Code ויוצרים את הספרייה .vscode ברמה הבסיסית של הפרויקט, אם היא לא קיימת.
  2. יוצרים את הקובץ .vscode/mcp.json אם הוא לא קיים, ופותחים אותו.
  3. מוסיפים את ההגדרה הבאה, מחליפים את LOOKER_INSTANCE_URL בכתובת ה-URL של מופע Looker ושומרים.
      {
        "servers": {
          "looker-toolbox": {
            "type": "http",
            "url": "LOOKER_INSTANCE_URL/mcp"
          }
        }
      }
  

גלישת רוח

  1. פותחים את Windsurf ועוברים אל Cascade assistant.
  2. לוחצים על סמל ה-MCP ואז על Configure (הגדרה) כדי לפתוח את קובץ ההגדרות.
  3. מוסיפים את ההגדרה הבאה, מחליפים את LOOKER_INSTANCE_URL בכתובת ה-URL של מופע Looker ושומרים.
      {
        "mcpServers": {
          "looker-toolbox": {
            "type": "http",
            "url": "LOOKER_INSTANCE_URL/mcp"
          }
        }
      }
  

אימות באמצעות הלקוח

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

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

פרטים נוספים זמינים במאמרי העזרה של הלקוח.

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

אבטחה וניהול

שרת ה-MCP המנוהל מתוכנן כך שיקבל בירושה את מסגרת האבטחה והניהול הקיימת של Looker.

  • גבולות הרשאות: השרת אוכף הרשאות מחמירות ברמת המשתמש. סוכן AI לא יכול לגשת לנתונים או למודלים שהמשתמש המאומת לא מורשה לראות.
  • VPC Service Controls: במופעים של Looker (Google Cloud core) שמשתמשים ב-VPC Service Controls, נקודת הקצה המנוהלת של MCP מכבדת את הגבולות הקיימים של VPC Service Controls בלי שנדרשות מדיניות או הגדרות נוספות.
  • מפתחות הצפנה בניהול הלקוח (CMEK): במופעים של Looker (Google Cloud core) שמשתמשים ב-CMEK, שרת ה-MCP המנוהל תואם ל-CMEK ולא נדרשות מדיניות או הגדרות נוספות.

רישום ביומן ביקורת

כל פעולה שמבצע סוכן AI מתועדת בפעילות המערכת ב-Looker וביומני הביקורת של Cloud.

פעילות המערכת

הפעילות בשרת MCP שמנוהל על ידי Looker מתועדת ב-Explores‏ History ו-Event Attribute. בדף התיעוד מעקב אחרי השימוש ב-Looker באמצעות System Activity Explores מופיעות דוגמאות לשאילתות הבאות:

יומני ביקורת של Cloud

מופעים של Looker (Google Cloud core) עוקבים גם אחרי פעילות של שרתי MCP שמנוהלים על ידי Looker באמצעות Cloud Audit Logs. בדף התיעוד בנושא רישום ביומן הביקורת של Looker (Google Cloud Core)‎ מופיעות שאילתות לדוגמה.

מגבלות

  • היקפי הרשאות מפורטים: עדיין אין תמיכה בהיקפי הרשאות OAuth בשרת ה-MCP המנוהל. בקרת הגישה מסתמכת על רשימת ההיתרים של הכלי הגלובלי ועל הרשאות הבסיס של המשתמש.
  • רישום דינמי: אין תמיכה ברישום דינמי של לקוחות בתצוגה המקדימה.
  • רענון לקוח: שינויים ברשימת ההיתרים של הכלי לא נדחפים אוטומטית ללקוחות שמחוברים אליו. המשתמשים צריכים לחכות 30 שניות אחרי ביצוע שינוי ברשימת הכלים, ואז להתחבר מחדש ללקוח כדי לרענן את מניפסט הכלים. לקבלת מידע על אופן ההתחברות מחדש לשרת ה-MCP, אפשר לעיין בתיעוד של הלקוח.
  • קיבולת השרת: במהלך שלב התצוגה המקדימה, שרת ה-MCP המנוהל מוגדר עם קיבולת קבועה כדי לעזור לנו לאסוף נתוני ביצועים. במהלך תקופות של שימוש שיא, יכול להיות שיתרחשו מדי פעם מצבים של פסק זמן. זה תקין.
  • רשימות של כתובות IP שאושרו: שרת ה-MCP בניהול Looker לא תואם לרשימות של כתובות IP שאושרו ב-Looker (המקורי). הוא כן תואם לרשימות של כתובות IP שאושרו ב-Looker (שירות הליבה של Google Cloud).

תמחור ומכסות

שרת ה-MCP שמנוהל על ידי Looker זמין ללא עלות נוספת. עם זאת, קריאות לכלים שמתבצעות על ידי סוכני AI צורכות את מכסות ה-API הרגילות של המופע, שמבוססות על שאילתות וניהול. פעילות גבוהה של סוכנים עלולה להשפיע על מכסת ה-API הזמינה.