Essayer le serveur MCP Google Analytics

Le serveur Google Analytics Model Context Protocol (MCP) vous permet de connecter vos données Google Analytics à des grands modèles de langage (LLM) et à des agents IA, comme Gemini. Vous pouvez utiliser le serveur MCP pour interroger des rapports en langage naturel, inspecter les configurations de propriétés et créer des agents d'analyse personnalisés.

Configurer le serveur MCP Afficher sur GitHub Regarder le tutoriel de configuration

Prérequis

Avant de configurer le serveur MCP Google Analytics, remplissez les conditions suivantes :

  1. Installez Python et un exécuteur de packages :
  2. Activez les API Google Analytics dans  :

    • Créez ou sélectionnez un projet .
    • Activez l'API Google Analytics Admin (analyticsadmin.googleapis.com) et l'API Google Analytics Data (analyticsdata.googleapis.com) dans votre projet :

      gcloud services enable analyticsadmin.googleapis.com \
        analyticsdata.googleapis.com \
        --project=YOUR_PROJECT_ID
      
  3. Accorder l'accès à la propriété Google Analytics :

Configurer l'authentification

Le serveur MCP Google Analytics s'authentifie à l'aide des identifiants par défaut de l'application (ADC) avec le champ d'application OAuth 2.0 Google Analytics en lecture seule :

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

Vous pouvez configurer l'ADC à l'aide de votre compte utilisateur Google ou d'un compte de service.

Option 1 : S'authentifier avec des identifiants utilisateur

  1. Installez et initialisez gcloud CLI.
  2. Exécutez gcloud auth application-default login avec les champs d'application requis :

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

    Si vous utilisez un fichier de configuration de client Web ou de bureau OAuth 2.0 téléchargé (consultez Gérer les clients OAuth), transmettez --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. Une fois la commande terminée, copiez le chemin d'accès aux identifiants affiché dans la console (Credentials saved to file: [PATH_TO_CREDENTIALS_JSON]). Vous utiliserez ce chemin d'accès dans GOOGLE_APPLICATION_CREDENTIALS lors de la configuration de votre client MCP.

Option 2 : S'authentifier avec un compte de service

Pour vous authentifier avec un compte de service disposant d'un accès Lecteur à votre propriété Google Analytics :

  • Fichier de clé JSON du compte de service : définissez GOOGLE_APPLICATION_CREDENTIALS dans la configuration de votre client MCP sur le chemin absolu de votre fichier JSON de compte de service.
  • Emprunt d'identité d'un compte de service : générez des identifiants ADC en empruntant l'identité du compte de service avec la gcloud CLI :

    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"
    

Configurer votre client MCP

Le serveur est publié sur PyPI en tant que analytics-mcp et expose les scripts de console analytics-mcp et google-analytics-mcp.

Dans les configurations suivantes, remplacez :

  • PATH_TO_CREDENTIALS_JSON par le chemin absolu vers votre fichier JSON ADC ou de compte de service.
  • YOUR_PROJECT_ID par l' ID du projet dans lequel vous avez activé les API Google Analytics.

CLI Antigravity et IDE Antigravity

  1. Installez la CLI Antigravity ou l'IDE Antigravity.
  2. Ajoutez le serveur analytics-mcp à ~/.gemini/config/mcp_config.json (ou .agents/mcp_config.json dans votre espace de travail) :

    {
      "mcpServers": {
        "analytics-mcp": {
          "command": "pipx",
          "args": ["run", "analytics-mcp"],
          "env": {
            "GOOGLE_APPLICATION_CREDENTIALS": "PATH_TO_CREDENTIALS_JSON",
            "GOOGLE_CLOUD_PROJECT": "YOUR_PROJECT_ID"
          }
        }
      }
    }
    
  3. Vérifiez que analytics-mcp est connecté :

    • CLI Antigravity : exécutez agy, puis saisissez /mcp pour afficher les serveurs MCP configurés.
    • IDE Antigravity : ouvrez Settings (Paramètres) > Customizations (Personnalisations) > Installed MCP Servers (Serveurs MCP installés), puis cliquez sur Refresh (Actualiser).

Claude Desktop et Claude Code

Pour Claude Desktop, ajoutez le serveur à votre fichier claude_desktop_config.json (~/Library/Application Support/Claude/claude_desktop_config.json sur macOS ou %APPDATA%\Claude\claude_desktop_config.json sur Windows) :

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

Pour Claude Code, enregistrez le serveur à l'aide de l'outil de ligne de commande :

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

Ajoutez le serveur à .cursor/mcp.json dans le répertoire de votre projet (ou à ~/.cursor/mcp.json pour la configuration globale). Vous pouvez appeler google-analytics-mcp à l'aide de uvx ou de 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"
      }
    }
  }
}

Pour exécuter la dernière version de développement directement depuis GitHub à l'aide de uvx, mettez à jour "args" :

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

Pour utiliser pipx, remplacez "command" par "pipx" et définissez "args" sur :

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

Outils MCP disponibles

Le serveur MCP Google Analytics utilise l'API Admin et l'API Data v1 pour exposer des outils en lecture seule à votre client MCP :

  • Découverte de comptes et de propriétés (API Admin) :
    • get_account_summaries : liste les comptes et propriétés Google Analytics accessibles à l'utilisateur authentifié (accountSummaries.list).
    • get_property_details : renvoie les détails de configuration d'une propriété Google Analytics spécifique (properties.get).
    • list_google_ads_links : liste les associations à des comptes Google Ads pour une propriété (properties.googleAdsLinks.list).
    • list_property_annotations : liste les annotations configurées pour une propriété (properties.reportingDataAnnotations.list).
  • Rapports et inspection de schéma (API Data v1) :
    • get_custom_dimensions_and_metrics : récupère les dimensions et métriques personnalisées définies pour une propriété (getMetadata).
    • run_report : exécute un rapport Google Analytics standard (runReport).
    • run_realtime_report : exécute un rapport Google Analytics en temps réel (runRealtimeReport).
    • run_funnel_report : exécute un rapport d'exploration de l'entonnoir Google Analytics (runFunnelReport).
    • run_conversions_report : exécute un rapport sur les performances des conversions (runConversionsReport).

Exemples de prompts

Une fois connecté, essayez de poser des questions à votre assistant IA, par exemple :

  • Combien d'utilisateurs ai-je eus hier ?
  • Quels ont été mes produits les plus vendus hier ?
  • J'ai un budget marketing de 5 000 $/mois et je dois générer plus de revenus. Aide-moi à créer un plan marketing basé sur les données.
  • Quelles dimensions et métriques personnalisées sont configurées dans ma propriété ?
  • Quels sont les événements les plus populaires dans ma propriété Google Analytics au cours des 90 derniers jours ?

Dépannage

Utilisez la checklist suivante pour résoudre les erreurs de configuration et les erreurs d'exécution courantes :

  • 403 PERMISSION_DENIED (API non activée ou autorisations de propriété insuffisantes) :
    • Vérifiez que l'API Google Analytics Admin (analyticsadmin.googleapis.com) et l'API Google Analytics Data (analyticsdata.googleapis.com) sont activées dans le projet spécifié par GOOGLE_CLOUD_PROJECT.
    • Vérifiez que l'utilisateur ou le compte de service d'authentification dispose au moins du rôle Lecteur (roles/analytics.viewer) sur la propriété Google Analytics cible dans l'interface utilisateur de Google Analytics.
    • Si l'erreur indique Request had insufficient authentication scopes, réexécutez gcloud auth application-default login avec les champs d'application https://www.googleapis.com/auth/analytics.readonly et https://www.googleapis.com/auth/cloud-platform.
  • Projet de quota manquant (GOOGLE_CLOUD_PROJECT) ou 403 ACCESS_NOT_CONFIGURED :

    • Les requêtes authentifiées avec des identifiants ADC utilisateur nécessitent un projet de quota pour lequel les API Google Analytics sont activées. Définissez "GOOGLE_CLOUD_PROJECT": "YOUR_PROJECT_ID" dans la configuration env de votre serveur MCP ou définissez le projet de quota dans votre fichier ADC :

      gcloud auth application-default set-quota-project YOUR_PROJECT_ID
      
  • Fichier d'identifiants ou 401 UNAUTHENTICATED introuvable :

    • Utilisez un chemin absolu pour GOOGLE_APPLICATION_CREDENTIALS (par exemple, /Users/username/.config/gcloud/application_default_credentials.json). Évitez les variables ~ ou $HOME, car de nombreux hôtes MCP ne développent pas les variables d'interface système dans les fichiers de configuration JSON.
    • Réexécutez gcloud auth application-default login si vos identifiants utilisateur ont expiré.
  • Échec du lancement du serveur (erreurs spawn pipx ENOENT, uvx: command not found ou erreurs de version de Python) :

    • Vérifiez que Python 3.10 ou version ultérieure est installé (python3 --version).
    • Les applications d'interface utilisateur graphique (IUG) de bureau (comme Claude Desktop et Cursor) n'héritent souvent pas de votre PATH de shell interactif. Remplacez "pipx" ou "uvx" dans "command" par le chemin d'accès binaire absolu renvoyé par which pipx ou which uvx (par exemple, /opt/homebrew/bin/pipx ou /Users/username/.local/bin/pipx).