התנסות בשרת ה-MCP של Google Analytics

שרת Model Context Protocol‏ (MCP) של Google Analytics מאפשר לכם לקשר את הנתונים שלכם ב-Google Analytics למודלים גדולים של שפה (LLM) ולסוכני AI, כמו Gemini. אתם יכולים להשתמש בשרת MCP כדי לשלוח שאילתות לדוחות בשפה טבעית, לבדוק הגדרות של נכסים ולבנות סוכני ניתוח בהתאמה אישית.

הגדרת שרת ה-MCP צפייה ב-GitHub צפייה במדריך להגדרה

דרישות מוקדמות

לפני שמגדירים את שרת ה-MCP של Google Analytics, צריך לוודא שעומדים בדרישות הבאות:

  1. מתקינים את Python ואת מנהל החבילות:
  2. מפעילים את Google Analytics API ב :

  3. כדי להעניק גישה לנכס ב-Google Analytics:

מגדירים אימות

שרת ה-MCP של Google Analytics מבצע אימות באמצעות Application Default Credentials ‏ (ADC) עם היקף ההרשאות לקריאה בלבד של Google Analytics OAuth 2.0:

https://www.googleapis.com/auth/analytics.readonly

אתם יכולים להגדיר את ADC באמצעות חשבון המשתמש שלכם ב-Google או באמצעות חשבון שירות.

אפשרות 1: אימות באמצעות פרטי כניסה של משתמש

  1. מתקינים ומפעילים את ה-CLI של gcloud.
  2. מריצים את הפקודה gcloud auth application-default login עם היקפי ההרשאות הנדרשים:

    gcloud auth application-default login \
      --scopes="https://www.googleapis.com/auth/analytics.readonly,https://www.googleapis.com/auth/cloud-platform"
    

    אם אתם משתמשים בקובץ תצורה של לקוח אינטרנט או מחשב מסוג OAuth 2.0 שהורדתם (ראו ניהול לקוחות OAuth), צריך להעביר את --client-id-file:

    gcloud auth application-default login \
      --scopes="https://www.googleapis.com/auth/analytics.readonly,https://www.googleapis.com/auth/cloud-platform" \
      --client-id-file=YOUR_CLIENT_JSON_FILE
    
  3. בסיום הפקודה, מעתיקים את נתיב פרטי הכניסה שמוצג במסוף (Credentials saved to file: [PATH_TO_CREDENTIALS_JSON]). משתמשים בנתיב הזה ב-GOOGLE_APPLICATION_CREDENTIALS כשמגדירים את לקוח ה-MCP.

אפשרות 2: אימות באמצעות חשבון שירות

כדי לבצע אימות באמצעות חשבון שירות עם הרשאת צפייה בנכס ב-Google Analytics:

  • קובץ מפתח JSON של חשבון שירות: מגדירים את GOOGLE_APPLICATION_CREDENTIALS בהגדרות של לקוח ה-MCP לנתיב המוחלט של קובץ ה-JSON של חשבון השירות.
  • התחזות לחשבון שירות: יצירת פרטי כניסה ל-ADC על ידי התחזות לחשבון השירות באמצעות ה-CLI של gcloud:

    gcloud auth application-default login \
      --impersonate-service-account=SERVICE_ACCOUNT_EMAIL \
      --scopes="https://www.googleapis.com/auth/analytics.readonly,https://www.googleapis.com/auth/cloud-platform"
    

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

השרת מתפרסם ב-PyPI בתור analytics-mcp וחושף את הסקריפטים של מסוף analytics-mcp ו-google-analytics-mcp.

בהגדרות הבאות, מחליפים את:

  • ‫PATH_TO_CREDENTIALS_JSON בנתיב המוחלט לקובץ ה-JSON של ADC או של חשבון השירות.
  • ‫YOUR_PROJECT_ID עם מזהה הפרויקט שבו הפעלתם את Google Analytics APIs.

‫Antigravity CLI ו-Antigravity IDE

  1. מתקינים את Antigravity CLI או את Antigravity IDE.
  2. מוסיפים את השרת analytics-mcp אל ~/.gemini/config/mcp_config.json (או אל .agents/mcp_config.json בסביבת העבודה):

    {
      "mcpServers": {
        "analytics-mcp": {
          "command": "pipx",
          "args": ["run", "analytics-mcp"],
          "env": {
            "GOOGLE_APPLICATION_CREDENTIALS": "PATH_TO_CREDENTIALS_JSON",
            "GOOGLE_CLOUD_PROJECT": "YOUR_PROJECT_ID"
          }
        }
      }
    }
    
  3. מוודאים ש-analytics-mcp מחובר:

    • ‫Antigravity CLI: מריצים את agy ואז מזינים את /mcp כדי לראות את שרתי ה-MCP שהגדרתם.
    • ‫Antigravity IDE: פותחים את Settings ‏ > Customizations ‏ > שרתי MCP מותקנים ולוחצים על Refresh.

‫Claude Desktop ו-Claude Code

ב-Claude Desktop, מוסיפים את השרת לקובץ claude_desktop_config.json (~/Library/Application Support/Claude/claude_desktop_config.json ב-macOS או %APPDATA%\Claude\claude_desktop_config.json ב-Windows):

{
  "mcpServers": {
    "analytics-mcp": {
      "command": "pipx",
      "args": ["run", "analytics-mcp"],
      "env": {
        "GOOGLE_APPLICATION_CREDENTIALS": "PATH_TO_CREDENTIALS_JSON",
        "GOOGLE_CLOUD_PROJECT": "YOUR_PROJECT_ID"
      }
    }
  }
}

ב-Claude Code, רושמים את השרת באמצעות כלי שורת הפקודה:

claude mcp add analytics-mcp \
  --scope user \
  -e GOOGLE_APPLICATION_CREDENTIALS="PATH_TO_CREDENTIALS_JSON" \
  -e GOOGLE_CLOUD_PROJECT="YOUR_PROJECT_ID" \
  -- pipx run analytics-mcp

סמן

מוסיפים את השרת לקובץ .cursor/mcp.json בספריית הפרויקט (או לקובץ ~/.cursor/mcp.json להגדרה גלובלית). אפשר להפעיל את google-analytics-mcp באמצעות uvx או pipx:

{
  "mcpServers": {
    "google-analytics-mcp": {
      "command": "uvx",
      "args": ["--from", "analytics-mcp", "google-analytics-mcp"],
      "env": {
        "GOOGLE_APPLICATION_CREDENTIALS": "PATH_TO_CREDENTIALS_JSON",
        "GOOGLE_CLOUD_PROJECT": "YOUR_PROJECT_ID"
      }
    }
  }
}

כדי להריץ את גרסת הפיתוח האחרונה ישירות מ-GitHub באמצעות uvx, מעדכנים את "args":

"args": [
  "--from",
  "git+https://github.com/googleanalytics/google-analytics-mcp.git",
  "google-analytics-mcp"
]

לחלופין, כדי להשתמש ב-pipx, משנים את "command" ל-"pipx" ומגדירים את "args" כך:

"command": "pipx",
"args": [
  "run",
  "--spec",
  "git+https://github.com/googleanalytics/google-analytics-mcp.git",
  "google-analytics-mcp"
]

כלי MCP זמינים

שרת ה-MCP של Google Analytics משתמש ב-Admin API וב-Data API v1 כדי לחשוף כלים לקריאה בלבד ללקוח ה-MCP:

  • חיפוש חשבונות ונכסים (Admin API):
    • get_account_summaries: מציגה את החשבונות והנכסים ב-Google Analytics שנגישים למשתמש המאומת (accountSummaries.list).
    • ‫get_property_details: מחזירה את פרטי ההגדרות האישיות של נכס ספציפי ב-Google Analytics‏ (properties.get).
    • ‫list_google_ads_links: הצגת רשימה של קישורים לחשבונות Google Ads של נכס (properties.googleAdsLinks.list).
    • list_property_annotations: הצגת רשימה של ההערות שהוגדרו לנכס (properties.reportingDataAnnotations.list).
  • בדיקת דוחות וסכימות (Data API v1):
    • ‫get_custom_dimensions_and_metrics: אחזור של מאפיינים ומדדים מותאמים אישית שהוגדרו לנכס (getMetadata).
    • ‫run_report: הפעלת דוח רגיל של Google Analytics ‏(runReport).
    • ‫run_realtime_report: הפעלת דוח "פעילות בזמן אמת" ב-Google Analytics‏ (runRealtimeReport).
    • ‫run_funnel_report: מריץ דוח של ניתוח משפך ב-Google Analytics‏ (runFunnelReport).
    • ‫run_conversions_report: הפעלת דוח ביצועי המרות (runConversionsReport).

פרומפטים לדוגמה

אחרי החיבור, אתם יכולים לשאול את העוזר האישי מבוסס-AI שאלות כמו:

  • כמה משתמשים היו לי אתמול?
  • מה היו המוצרים הכי נמכרים שלי אתמול?
  • יש לי תקציב שיווק של 5,000 $בחודש ואני צריך לייצר יותר הכנסות. עזור לי ליצור תוכנית שיווקית שמבוססת על נתונים.
  • אילו מאפיינים ומדדים מותאמים אישית מוגדרים בנכס שלי?
  • מהם האירועים הכי פופולריים בנכס שלי ב-Google Analytics ב-90 הימים האחרונים?

פתרון בעיות

כדי לפתור שגיאות נפוצות בהגדרה ובזמן הריצה, אפשר להשתמש ברשימת המשימות הבאה:

  • 403 PERMISSION_DENIED (ה-API לא מופעל או שאין מספיק הרשאות בנכס):
    • מוודאים שגם Google Analytics Admin API (analyticsadmin.googleapis.com) וגם Google Analytics Data API (analyticsdata.googleapis.com) מופעלים בפרויקט ב- שצוין על ידי GOOGLE_CLOUD_PROJECT.
    • מוודאים שלמשתמש או לחשבון השירות שמאמתים יש לפחות את התפקיד צפייה (roles/analytics.viewer) בנכס היעד ב-Google Analytics בממשק המשתמש של Google Analytics.
    • אם השגיאה היא Request had insufficient authentication scopes, צריך להריץ מחדש את gcloud auth application-default login עם ההיקפים https://www.googleapis.com/auth/analytics.readonly ו-https://www.googleapis.com/auth/cloud-platform.
  • חסר פרויקט למכסות (GOOGLE_CLOUD_PROJECT) או 403 ACCESS_NOT_CONFIGURED:

    • בקשות שמאומתות באמצעות פרטי כניסה של משתמש ב-ADC דורשות פרויקט מכסה שבו מופעלים ממשקי ה-API של Google Analytics. מגדירים את "GOOGLE_CLOUD_PROJECT": "YOUR_PROJECT_ID" בהגדרות של env בשרת ה-MCP, או מגדירים את הפרויקט לחיוב על מכסות בקובץ ה-ADC:

      gcloud auth application-default set-quota-project YOUR_PROJECT_ID
      
  • לא נמצא קובץ 401 UNAUTHENTICATED או קובץ פרטי כניסה:

    • צריך להשתמש בנתיב מוחלט ל-GOOGLE_APPLICATION_CREDENTIALS (לדוגמה, /Users/username/.config/gcloud/application_default_credentials.json). אל תשתמשו במשתנים ~ או $HOME, כי הרבה מארחי MCP לא מרחיבים משתני מעטפת בתוך קובצי תצורה של JSON.
    • אם פג התוקף של פרטי הכניסה של המשתמש, מריצים מחדש את gcloud auth application-default login.
  • השרת לא מופעל (שגיאות בגרסאות spawn pipx ENOENT,‏ uvx: command not found או Python):

    • מוודאים שמותקנת גרסה 3.10 ומעלה של Python‏ (python3 --version).
    • אפליקציות GUI למחשב (כמו Claude Desktop ו-Cursor) בדרך כלל לא יורשות את PATH של המעטפת האינטראקטיבית. מחליפים את "pipx" או את "uvx" ב-"command" בנתיב הבינארי המוחלט שמוחזר על ידי which pipx או which uvx (לדוגמה, /opt/homebrew/bin/pipx או /Users/username/.local/bin/pipx).