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 :
- Installez Python et un exécuteur de packages :
- Installez Python 3.10 ou version ultérieure.
- Installez
pipxouuv(uvx) pour exécuter le serveur MCP dans un environnement Python isolé.
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
Accorder l'accès à la propriété Google Analytics :
- Dans l'interface utilisateur de Google Analytics, attribuez à votre compte utilisateur ou de service au moins le rôle Lecteur (
roles/analytics.viewer) sur la propriété Google Analytics cible. Pour obtenir des instructions, consultez Gérer les accès et les restrictions de données.
- Dans l'interface utilisateur de Google Analytics, attribuez à votre compte utilisateur ou de service au moins le rôle Lecteur (
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
- Installez et initialisez gcloud CLI.
Exécutez
gcloud auth application-default loginavec 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_FILEUne 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 dansGOOGLE_APPLICATION_CREDENTIALSlors 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_CREDENTIALSdans 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_JSONpar le chemin absolu vers votre fichier JSON ADC ou de compte de service.YOUR_PROJECT_IDpar l' ID du projet dans lequel vous avez activé les API Google Analytics.
CLI Antigravity et IDE Antigravity
- Installez la CLI Antigravity ou l'IDE Antigravity.
Ajoutez le serveur
analytics-mcpà~/.gemini/config/mcp_config.json(ou.agents/mcp_config.jsondans 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" } } } }Vérifiez que
analytics-mcpest connecté :- CLI Antigravity : exécutez
agy, puis saisissez/mcppour 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).
- CLI Antigravity : exécutez
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é parGOOGLE_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écutezgcloud auth application-default loginavec les champs d'applicationhttps://www.googleapis.com/auth/analytics.readonlyethttps://www.googleapis.com/auth/cloud-platform.
- Vérifiez que l'API Google Analytics Admin (
Projet de quota manquant (
GOOGLE_CLOUD_PROJECT) ou403 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 configurationenvde 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 UNAUTHENTICATEDintrouvable :- 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 loginsi vos identifiants utilisateur ont expiré.
- Utilisez un chemin absolu pour
Échec du lancement du serveur (erreurs
spawn pipx ENOENT,uvx: command not foundou 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
PATHde shell interactif. Remplacez"pipx"ou"uvx"dans"command"par le chemin d'accès binaire absolu renvoyé parwhich pipxouwhich uvx(par exemple,/opt/homebrew/bin/pipxou/Users/username/.local/bin/pipx).
- Vérifiez que Python 3.10 ou version ultérieure est installé (