שרת 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 צריך להוסיף את הדומיין של אתר הלקוח הזה אל רשימת ההיתרים של דומיינים להטמעה בחלונית אדמין.

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

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

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

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

      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. במקרה כזה, הם חולקים את אותו שרת מקומי של קריאה חוזרת ואת אותה הגדרת יציאה.

      Gemini Enterprise

      https://vertexaisearch.cloud.google.com/oauth-redirect
      

      Claude code

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

      http://localhost:8080/callback
      

      VS Code

      ל-VS Code, משתמשים ב-URI הבא.

      http://127.0.0.1:33418/
      

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

      באפליקציות שמתארחות בענן, יכול להיות שהיא תיראה כמו כתובת 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 יוחזרו הערכים שהזנתם כשנרשמתם לאפליקציה.

  8. (אופציונלי) אפשר להפעיל את משתמש האפליקציה ב-OAuth מראש באמצעות השיטה Activate App User ב-API Explorer. כך עושים זאת:

    • בשדה Search (חיפוש) של API Explorer, מזינים Activate App User (הפעלת משתמש באפליקציה).
    • לוחצים על הפעלה.
    • בשדה CLIENT_GUID, מזינים את הערך שבו השתמשתם כשנרשמתם לאפליקציית OAuth:

      CLIENT_GUID
      
    • בשדה user_id, מזינים את מזהה המשתמש של המשתמש ב-Looker.

    • לוחצים על Run.

הגדרת לקוח ה-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",
          "oauth": {
            "clientId": "CLIENT_GUID"
          }
        }
      }
    }
    
  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.

Gemini Enterprise

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

  1. פועלים לפי התיעוד הרשמי כדי ליצור מאגר נתונים של שרת MCP בהתאמה אישית ב-Gemini Enterprise.
  2. בהגדרת מאגר הנתונים, צריך להשתמש בערכים הבאים, ולהחליף את LOOKER_INSTANCE_URL בכתובת ה-URL של מופע Looker ואת CLIENT_GUID במחרוזת המדויקת שבה השתמשתם במהלך רישום אפליקציית OAuth:
    {
      "instance_uri": "LOOKER_INSTANCE_URL/mcp",
      "auth_uri": "LOOKER_INSTANCE_URL/auth",
      "auth_uri_params": "&response_type=code&code_challenge_method=S256",
      "token_uri": "LOOKER_INSTANCE_URL/api/token",
      "client_id": "CLIENT_GUID",
      "client_secret": "none",
      "scopes": "cors_api",
      "pkce_support_enabled": "true"
    }
    

    פרוטוקול PKCE לא דורש סוד לקוח OAuth, אבל Gemini Enterprise דורש ערך בשדה client_secret. אפשר להזין none כמו בדוגמה להגדרה.

  3. כדי להמשיך, צריך לבצע אימות באמצעות OAuth.
  4. כדאי להגדיר את תיאור שרת ה-MCP כדי לעזור ל-Gemini להבין מתי להפעיל את השרת. לדוגמה:
    Looker Agent with API access to various aspects of Looker. Primarily used to fetch data and run dashboards from Looker.
    
  5. הגדרת ההוראות של סוכן שרת ה-MCP. לדוגמה:
    Use this server exclusively to interact with the Looker instance for monitoring health, checking status, and retrieving data.
    Invoke the Looker MCP server for the following request categories:
      - Instance Health Checks: Auditing connection status, uptime, performance metrics, or system errors.
      - Analytics Queries & Data Retrieval: Fetching live business metrics from Explores, Looks, or Dashboards.
    Strict Constraints:
      - No Local Estimation: Do not guess. Always fetch real-time data via MCP tools.
      - Fallback Behavior: Inform the user of connectivity failures immediately.
    
  6. עוברים לכרטיסייה פעולות במאגר הנתונים המותאם אישית של MCP שיצרתם ומפעילים את הכלים שבהם אתם רוצים ש-Gemini Enterprise ישתמש.
  7. כדי להשלים את ההגדרה, עוברים אל Gemini Enterprise, לוחצים על סמל המחבר ומאשרים את שרת ה-MCP.

Claude code

  1. מתקינים את Claude Code.
  2. יוצרים את הקובץ .mcp.json בתיקיית הבסיס של הפרויקט, אם הוא לא קיים.
  3. מוסיפים את ההגדרה הבאה, מחליפים את LOOKER_INSTANCE_URL בכתובת ה-URL של מופע Looker ואת CLIENT_GUID ב-GUID של לקוח OAuth, ואז שומרים.

      {
        "mcpServers": {
          "looker": {
            "type": "http",
            "url": "LOOKER_INSTANCE_URL/mcp",
            "oauth": {
              "clientId": "CLIENT_GUID",
              "callbackPort": 8080
            }
          }
        }
      }
  

‫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 כדי לפתוח את קובץ ההגדרות.
  3. מוסיפים את ההגדרה הבאה, מחליפים את LOOKER_INSTANCE_URL בכתובת ה-URL של Looker ושומרים.

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

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

סמן

  1. אם התיקייה .cursor לא קיימת, יוצרים אותה בתיקיית הבסיס של הפרויקט.
  2. יוצרים את הקובץ .cursor/mcp.json אם הוא לא קיים, ופותחים אותו.
  3. מוסיפים את ההגדרה הבאה, מחליפים את LOOKER_INSTANCE_URL בכתובת ה-URL של Looker ושומרים.
      {
        "mcpServers": {
          "looker": {
            "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": {
            "type": "http",
            "url": "LOOKER_INSTANCE_URL/mcp"
          }
        }
      }
  

גלישת רוח

  1. פותחים את Windsurf ועוברים אל Cascade assistant.
  2. לוחצים על סמל ה-MCP ואז על Configure (הגדרה) כדי לפתוח את קובץ ההגדרות.
  3. מוסיפים את ההגדרה הבאה, מחליפים את LOOKER_INSTANCE_URL בכתובת ה-URL של מופע Looker ושומרים.
      {
        "mcpServers": {
          "looker": {
            "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 של היסטוריה ושל מאפייני אירועים. בדף המסמכים מעקב אחר השימוש ב-Looker באמצעות כלי הניתוח של פעילות המערכת מופיעות דוגמאות לשאילתות הבאות:

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

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

מגבלות

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

תמחור ומכסות

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