Tech & Performance
Google Analytics MCP (MCP GA4) : brancher à Claude
MCP GA4 : installer le serveur MCP de Google Analytics, le brancher à Claude Code ou Claude Desktop, les requêtes utiles et les limites à connaître.
Brancher Google Analytics 4 à Claude passe aujourd'hui par le serveur MCP que Google publie lui-même. Il tourne sur votre machine, interroge vos propriétés GA4 par la Data API et l'Admin API, et ne modifie rien tant que vous n'activez pas l'option d'écriture. Ce guide couvre l'installation, le branchement à Claude Code et à Claude Desktop, les premières requêtes à tester et les limites à connaître avant de fonder une décision sur ses réponses.
Les commandes et les chiffres cités viennent de la documentation de Google et d'Anthropic, consultée le 22 septembre 2026.
Mise à jour du 6 novembre 2026 : la liste des changements de la version 1.0.0, publiée le 3 novembre 2026, indique que le serveur sort de l'état expérimental. Le README compte désormais treize outils, dont trois d'écriture désactivés par défaut.
Ce que fait le serveur MCP de Google Analytics
Google présente ce serveur sur sa page développeur Google Analytics MCP, qui renvoie vers le dépôt GitHub googleanalytics/google-analytics-mcp. Le README du dépôt le décrit comme un serveur MCP, local ou distant, appuyé sur deux API : la Google Analytics Admin API et la Google Analytics Data API. Le 22 septembre 2026, le dépôt le marquait comme expérimental et exposait sept outils. Au 6 novembre 2026 (version 1.1.0), le README en liste treize, dont dix de lecture.
| Outil | Ce qu'il fait |
|---|---|
get_account_summaries | Liste les comptes et propriétés GA4 accessibles |
get_property_details | Renvoie le détail d'une propriété |
list_google_ads_links | Liste les comptes Google Ads liés à une propriété |
run_report | Exécute un rapport de la Data API |
run_funnel_report | Exécute un rapport d'entonnoir |
get_custom_dimensions_and_metrics | Liste les dimensions et métriques personnalisées d'une propriété |
run_realtime_report | Exécute un rapport en temps réel |
list_property_annotations | Renvoie les annotations d'une propriété |
list_key_events | Renvoie les événements clés (anciennement conversions) définis sur une propriété |
run_conversions_report | Exécute un rapport de conversions (coûts publicitaires, conversions, ROAS et modèles d'attribution) par la Data API |
create_property_annotation | Crée une annotation sur une propriété (écriture, option --allow-write et scope analytics.edit) |
create_custom_dimension | Crée une dimension personnalisée (écriture, même option et même scope, rôle Éditeur sur la propriété) |
create_key_event | Marque un événement comme événement clé (écriture, même option et même scope, rôle Marketer ou Éditeur sur la propriété) |
La page développeur de Google, dont la dernière mise à jour affichée est le 26 octobre 2026, présente encore le serveur comme limité aux requêtes de lecture : il ne peut ni créer, ni modifier, ni supprimer la configuration de Google Analytics. Le README du dépôt est plus récent et documente trois outils d'écriture, désactivés par défaut : ils n'existent que si vous lancez le serveur avec --allow-write (variable ANALYTICS_MCP_ALLOW_WRITE). Sans cette option, tout ce qui relève de l'administration de la propriété reste dans l'interface de GA4.
Les prérequis côté Google Cloud
Le README du dépôt décrit les étapes à suivre avant de toucher à Claude :
- Installer
pipx, qui exécute le paquetanalytics-mcppublié sur PyPI. - Activer, dans un projet Google Cloud, la Google Analytics Admin API et la Google Analytics Data API.
- Créer un client OAuth, de type application de bureau ou web, et télécharger son fichier JSON.
- Configurer les Application Default Credentials (ADC) avec un utilisateur qui a accès aux comptes ou aux propriétés GA4, et le scope en lecture seule
analytics.readonly.
La commande que Google propose pour des identifiants utilisateur :
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 variante par emprunt d'identité d'un compte de service existe, avec l'option --impersonate-service-account. À la fin de la commande, gcloud affiche le chemin du fichier d'identifiants, sous la forme Credentials saved to file: [...]. Notez-le, il sert à l'étape suivante.
Deux remarques de sécurité. Le scope analytics.readonly limite ces identifiants à la lecture de Google Analytics. La commande de Google demande aussi le scope cloud-platform : le fichier obtenu se protège donc comme un mot de passe, hors de tout dépôt Git.
Côté Google Analytics, l'identité utilisée n'a besoin que de lire. D'après l'aide Google Analytics sur les rôles, le rôle Lecteur permet de voir les paramètres et les données ; il ne crée rien d'autre que des explorations. C'est suffisant pour les outils de lecture, et un identifiant égaré n'ouvre alors rien de plus. Les trois outils d'écriture demandent, d'après le README, le scope analytics.edit, et deux d'entre eux précisent en plus un rôle sur la propriété (Éditeur, ou Marketer pour l'événement clé). Les restrictions de données comptent aussi : un utilisateur privé des métriques de coûts ou de revenus ne les voit pas dans les rapports, et la Data API applique les mêmes restrictions, par exemple sur purchaseRevenue ou adCost. Un chiffre d'affaires absent des réponses de Claude peut donc venir des droits de l'identité utilisée, pas du suivi.
Brancher le serveur à Claude Code
Le README de Google donne directement la commande pour 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-mcpRemplacez PATH_TO_CREDENTIALS_JSON par le chemin noté plus haut et YOUR_PROJECT_ID par l'identifiant de votre projet Google Cloud. Selon la documentation MCP de Claude Code, le double tiret sépare les options de Claude Code de la commande qui lance le serveur, et tout ce qui le suit est transmis tel quel.
L'option --scope fixe la portée de l'installation. En local, le serveur ne se charge que dans le projet courant et reste enregistré dans ~/.claude.json. En project, il est déclaré dans un fichier .mcp.json à la racine du dépôt et partagé avec l'équipe par Git. En user, il est disponible dans tous vos projets, toujours via ~/.claude.json. Google retient user dans sa commande, ce qui se comprend : les identifiants sont personnels.
Vérifiez ensuite l'installation avec claude mcp list, ou avec /mcp dans une session : analytics-mcp doit apparaître comme connecté.
Brancher le serveur à Claude Desktop
Claude Desktop lit ses serveurs locaux dans un fichier claude_desktop_config.json, que l'on ouvre depuis les réglages de l'application, onglet Developer, bouton Edit Config. D'après le guide du protocole MCP, il se trouve dans ~/Library/Application Support/Claude/ sur macOS et dans %APPDATA%\Claude\ sur Windows. La structure à ajouter est celle que Google donne pour ses autres clients :
{
"mcpServers": {
"analytics-mcp": {
"command": "pipx",
"args": ["run", "analytics-mcp"],
"env": {
"GOOGLE_APPLICATION_CREDENTIALS": "PATH_TO_CREDENTIALS_JSON",
"GOOGLE_PROJECT_ID": "YOUR_PROJECT_ID"
}
}
}
}Le même guide recommande des chemins absolus et un redémarrage complet de l'application après chaque modification. Si le serveur n'apparaît pas, les journaux se lisent dans ~/Library/Logs/Claude/ sur macOS, dans les fichiers mcp*.log.
Et claude.ai dans le navigateur ? Les connecteurs personnalisés de claude.ai reposent sur des serveurs MCP distants. Le serveur de Google tournant en local, c'est sur Claude Code ou Claude Desktop qu'il se branche.
Les premières requêtes à tester
Le README propose quelques demandes pour prendre en main le serveur. En voici l'équivalent en français :
- « Que peut faire le serveur analytics-mcp ? »
- « Donne-moi le détail de ma propriété GA4 dont le nom contient “boutique”. »
- « Quels sont les événements les plus fréquents de ma propriété sur les 180 derniers jours ? »
- « Quelles sont les dimensions et métriques personnalisées de ma propriété ? »
Pour un site e-commerce, trois demandes rendent vite service :
- « Compare les achats et le chiffre d'affaires par groupe de canaux par défaut sur les 28 derniers jours et les 28 jours précédents, en excluant les deux derniers jours. »
- « Construis l'entonnoir
view_item,add_to_cart,begin_checkout,purchasesur 30 jours, par catégorie d'appareil. » - « Quels comptes Google Ads sont liés à cette propriété ? »
Le temps réel a un usage à part : vérifier qu'un tag se déclenche après une mise en production. D'après la documentation de la Data API, il couvre les 30 dernières minutes, jusqu'à 60 pour une propriété Analytics 360, et les événements y apparaissent quelques secondes après leur envoi.
Les limites à connaître avant de s'y fier
Les données récentes bougent encore. Google indique que le traitement peut prendre 24 à 48 heures et que les chiffres des rapports peuvent changer pendant ce délai. Une analyse qui inclut hier ou aujourd'hui compare une période incomplète à une période close, d'où l'exclusion des deux derniers jours dans l'exemple plus haut.
Les quotas s'appliquent. La Data API décompte ses quotas en jetons par propriété, sans rapport avec les tokens du modèle : pour une propriété standard, 200 000 par jour, 40 000 par heure et 10 requêtes simultanées ; pour Analytics 360, 2 000 000 par jour, 400 000 par heure et 50 requêtes simultanées. Un agent qui enchaîne des rapports très détaillés consomme vite ce budget : demandez-lui des requêtes agrégées.
Les réponses trop longues sont coupées. Claude Code affiche un avertissement quand la sortie d'un outil MCP dépasse 10 000 tokens et la plafonne par défaut à 25 000, seuil réglable par la variable MAX_MCP_OUTPUT_TOKENS. Un rapport par page sur douze mois dépasse vite ce plafond : filtrez, limitez le nombre de lignes, agrégez.
Les données passent par le modèle. Le serveur tourne en local, mais ses résultats ne restent pas sur votre machine : Google l'écrit pour son serveur Google Ads, dont les résultats structurés sont renvoyés dans la fenêtre de contexte du modèle, et le principe est le même pour tout serveur MCP. Vérifiez que cet usage est compatible avec vos engagements de confidentialité avant de brancher une propriété.
Le serveur lit ce que GA4 a mesuré. Si le suivi des achats est incomplet, Claude analysera des achats incomplets. Le contrôle passe par la mise en place des événements e-commerce GA4 et par la lecture de l'écart de conversions entre Google Ads et GA4.
GA4 et Google Ads dans la même conversation
Google publie aussi un serveur MCP pour l'API Google Ads, strictement en lecture lui aussi. Les deux peuvent tourner côte à côte dans Claude Code : l'un apporte coûts, clics et conversions Google Ads, l'autre le comportement sur le site. L'outil list_google_ads_links confirme d'abord que la propriété et le compte sont bien liés. Pour l'installation côté Ads, voir notre setup du MCP Google Ads avec Claude, et pour le déroulé d'une analyse hebdomadaire, notre article sur le pilotage de Google Ads avec Claude. Pour les données de recherche naturelle, voir le guide du MCP Google Search Console.
Reste à faire lire ces deux sources avec vos règles : ce que vous comptez comme conversion, sur quelle fenêtre, avec quelle tolérance d'écart entre les deux outils. C'est le rôle d'un skill. La différence entre skill et MCP est détaillée dans notre article sur les skills Claude pour le marketing, et un exemple appliqué à GA4 dans notre article sur le skill Claude Google Analytics.
Questions fréquentes sur le MCP GA4
Le MCP GA4 peut-il modifier ma propriété Google Analytics ?
Pas par défaut. La page développeur de Google présente son serveur MCP comme limité aux requêtes de lecture. Le README du dépôt documente toutefois trois outils d'écriture (create_property_annotation, create_custom_dimension, create_key_event), désactivés tant que vous ne lancez pas le serveur avec l'option --allow-write, et qui demandent en plus le scope analytics.edit. Sans cette option, les identifiants au scope analytics.readonly suffisent.
Faut-il un compte de service pour le MCP GA4 ?
Non. Le README de Google propose des identifiants utilisateur, via les Application Default Credentials et un client OAuth, ou l'emprunt d'identité d'un compte de service. Dans les deux cas, l'identité utilisée doit avoir accès aux propriétés GA4 visées.
Peut-on utiliser le MCP GA4 sur claude.ai dans le navigateur ?
Pas avec la configuration de ce guide. Les connecteurs personnalisés de claude.ai reposent sur des serveurs MCP distants, alors que le serveur se lance ici en local. Il se branche sur Claude Code ou sur Claude Desktop. Depuis la version 1.0.0, le README décrit aussi un mode HTTP multi-utilisateur à héberger soi-même (option --transport http), que ce guide ne couvre pas.
Le MCP GA4 donne-t-il accès au temps réel ?
Oui, par l'outil run_realtime_report. D'après la documentation de la Data API, le temps réel couvre les 30 dernières minutes, et jusqu'à 60 minutes pour une propriété Analytics 360.