Serveur Google Ads MCP đ
Un serveur de protocole de contexte de modÚle alimenté par FastMCP pour l'intégration de l'API Google Ads avec authentification automatique OAuth 2.0
Connectez l'API Google Ads directement à Claude Desktop et à d'autres clients MCP avec une authentification OAuth 2.0 transparente, un rafraßchissement automatique des jetons, une interrogation GAQL et des capacités de recherche de mots clés.
Votre navigateur ne supporte pas la balise vidéo.
Installation facile en un clic
Pour une expĂ©rience de configuration plus simple, nous proposons des installateurs prĂȘts Ă l'emploi :
đ TĂ©lĂ©charger le programme d'installation -https://gomarble.ai/mcp
Rejoignez notre communauté pour obtenir de l'aide et des mises à jour
đ CommunautĂ© Slack -AI in Ads
Essayez Facebook ads mcp server aussi
đ Facebook Ads MCP -Facebook Ads MCP
âš Features
- đ O Auth 2.0 automatique - Authentification unique du navigateur avec rafraĂźchissement automatique
- đ Gestion intelligente des jetons - Gestion automatique des jetons expirĂ©s
- đ ExĂ©cution des requĂȘtes GAQL - ExĂ©cution de toutes les requĂȘtes Google Ads Query Language
- đą Gestion des comptes - Liste et gestion des comptes Google Ads
- đ Recherche de mots clĂ©s - GĂ©nĂ©rer des idĂ©es de mots clĂ©s avec des donnĂ©es de volume de recherche
- fastMCP Framework - Construit sur le standard moderne MCP
- đ„ïž Claude Desktop Ready - IntĂ©gration directe avec Claude Desktop
- đĄïž Secure Local Storage - Tokens stockĂ©s localement, jamais exposĂ©s
đ Outils disponibles
| Outil | Description de l'outil | ParamĂštres | Exemple d'utilisation |
|---|---|---|---|
list_accounts | Liste de tous les comptes Google Ads accessibles | Aucun | "Liste de tous mes comptes Google Ads |
run_gaql | ExĂ©cute les requĂȘtes GAQL avec un formatage personnalisĂ© | customer_id, query, manager_id (optionnel) | "Afficher les performances des campagnes pour le compte 1234567890" |
run_keyword_planner | GénÚre des idées de mots-clés avec des métriques | customer_id, keywords, manager_id, page_url, options de plage de dates | "Générer des idées de mots-clés pour 'digital marketing'" |
Remarque : tous les outils gĂšrent automatiquement l'authentification - aucun paramĂštre de jeton n'est requis !
đ DĂ©marrage rapide
Conditions préalables
Avant de configurer le serveur MCP, vous aurez besoin de :
- Python 3.10+ installé
- Un compte Google Cloud Platform
- Un compte Google Ads avec accĂšs Ă l'API
đ§ Ătape 1 : Configuration de Google Cloud Platform
1.1 Créer un projet Google Cloud
- Aller dans la console Google Cloud
- Créez un nouveau projet
- Cliquer sur "SĂ©lectionner un projet" â "Nouveau projet"
- Saisir le nom du projet (par exemple, "Google Ads MCP")
- Cliquez sur "Créer"
1.2 Activer l'API Google Ads
- Dans votre Google Cloud Console
- Allez dans "APIs & Services" â "Library"
- Recherchez "Google Ads API"
- Cliquez dessus et appuyez sur "Activer"
1.3 Créer les informations d'identification OAuth 2.0
- Allez dans "APIs & Services" â "Credentials"
- Cliquez sur "+ CREATE CREDENTIALS" â "OAuth 2.0 Client ID"
- Configurer l'écran de consentement (si c'est la premiÚre fois)
- Cliquez sur "Configurer l'écran de consentement"
- Choisissez "Externe" (sauf si vous avez Google Workspace)
- Remplissez les champs obligatoires
- Nom de l'application : "Google Ads MCP"
- Adresse électronique de l'assistance utilisateur : Votre adresse e-mail
- Contact développeur : Votre email
- Cliquez sur "Enregistrer et continuer" à toutes les étapes
- Créer un client OAuth
- Type d'application : "Application de bureau"
- Nom : "Client MCP Google Ads"
- Cliquez sur "Créer"
- Télécharger les informations d'identification
- Cliquez sur le bouton "Télécharger JSON
- Enregistrez le fichier sous le nom
client_secret_[chaßne longue].jsondans le répertoire de votre projet
đ§ Ătape 2 : Configuration de l'API Google Ads
2.1 Obtenir le jeton de développeur
- Connectez-vous Ă Google Ads
- Accédez à Outils et paramÚtres (icÎne de clé à molette dans la barre de navigation supérieure)
- Sous "Configuration", cliquez sur "Centre API"
- Acceptez les conditions d'utilisation si vous y ĂȘtes invitĂ©
- Cliquez sur "Apply for token" (demander un jeton)
- Remplissez le formulaire de demande
- Décrivez votre cas d'utilisation (par exemple, "Intégration MCP pour l'analyse des campagnes")
- Fournissez des dĂ©tails techniques sur votre mise en Ćuvre
- Soumettez votre demande et attendez l'approbation (généralement 1 à 3 jours ouvrables)
Remarque : vous recevrez dans un premier temps un jeton de test aux fonctionnalités limitées. Une fois le test terminé, vous pouvez demander l'accÚs à la version de production.
2.2 Trouvez votre jeton de développeur
Une fois votre demande approuvée :
- Retournez au Centre API dans Google Ads
- Copiez votre jeton de développeur (format :
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX)
đ§ Ătape 3 : Installation et configuration
3.1 Cloner et installer
# Cloner le dépÎt git clone https://github.com/yourusername/google-ads-mcp-server.git cd google-ads-mcp-server # Créer un environnement virtuel (recommandé) python3 -m venv .venv source .venv/bin/activate # Sous Windows : .venv\Scripts\activate # Installer les dépendances pip install -r requirements.txt
3.2 Configuration de l'environnement
Créez un fichier .env dans le répertoire de votre projet :
# Copier le fichier exemple cp .env.example .env
Editez le fichier . env avec vos identifiants :
# Requis : Token du développeur de l'API Google Ads GOOGLE_ADS_DEVELOPER_TOKEN=votre_token_developpeur_ici # Requis : Chemin d'accÚs au fichier JSON des informations d'identification OAuth (téléchargé depuis Google Cloud) GOOGLE_ADS_OAUTH_CONFIG_PATH=/full/path/to/your/client_secret_file.json
Exemple de fichier .env :
GOOGLE_ADS_DEVELOPER_TOKEN=ABCDEFG1234567890 GOOGLE_ADS_OAUTH_CONFIG_PATH=/Users/john/google-ads-mcp/client_secret_138737274875-abc123.apps.googleusercontent.com.json
đ„ïž Ătape 4 : IntĂ©gration du bureau de Claude
4.1 Localiser la configuration de Claude
Trouvez votre fichier de configuration de Claude Desktop :
macOS :
~/BibliothĂšque/Application Support/Claude/claude_desktop_config.json
Windows :
%APPDATA%\Claude\claude_desktop_config.json
4.2 Ajouter la configuration du serveur MCP
Modifiez le fichier de configuration et ajoutez votre serveur Google Ads MCP :
{ "mcpServers" : {"google-ads" : { "command" : "/full/path/to/your/project/.venv/bin/python", "args" : ["/full/path/to/your/project/server.py" ] } } }
Exemple réel :
{ "mcpServers" : { "google-ads" : { "command" : "/Users/marble-dev-01/workspace/google_ads_with_fastmcp/.venv/bin/python", "args" : ["/Users/marble-dev-01/workspace/google_ads_with_fastmcp/server.py" ] } } }
Important :
- Utilisez des chemins absolus pour tous les emplacements de fichiers
- Sous Windows, utilisez les barres obliques avant
/ou les doubles barres obliques arriĂšre\\Ndans les chemins d'accĂšs - Remplacer
your_developer_token_herepar votre token de développeur actuel
4.3 Redémarrer Claude Desktop
Fermer et redémarrer Claude Desktop pour charger la nouvelle configuration.
đ Etape 5 : PremiĂšre authentification
5.1 Déclencher le flux OAuth
- Ouvrez Claude Desktop
- Essayez n'importe quelle commande Google Ads, par exemple :
"List all my Google Ads accounts" (Liste de tous mes comptes Google Ads)
5.2 Compléter l'authentification
- Lenavigateur s'ouvre automatiquement sur la page OAuth de Google
- Connectez-vous avec votre compte Google (celui qui a accĂšs Ă Google Ads)
- Accordez les autorisations en cliquant sur "Autoriser"
- Le navigateur affiche la page de succĂšs
- Retournez Ă Claude - votre commande se terminera automatiquement !
5.3 Vérifier la configuration
AprĂšs l'authentification, vous devriez voir
- Un fichier
google_ads_token.jsoncréé dans le répertoire de votre projet - Vos comptes Google Ads listés dans la réponse de Claude
exemples d'utilisation
Opérations de base sur les comptes
"List all my Google Ads accounts" "Show me the account details and which ones have active campaigns" (Liste de tous mes comptes Google Ads)
Analyse des campagnes
"Show me campaign performance for account 1234567890 in the last 30 days" "Get conversion data for all campaigns in the last week" "Which campaigns have the highest cost per conversion ?"
Recherche de mots-clés
"Générer des idées de mots-clés pour 'digital marketing' en utilisant le compte 1234567890" "Trouver des opportunités de mots-clés pour 'AI automation' avec des données de volume de recherche" "Rechercher des mots-clés pour la page https://example.com/services"
RequĂȘtes GAQL personnalisĂ©es
"ExĂ©cuter cette requĂȘte GAQL pour le compte 1234567890 : SELECT campaign.name, metrics.clicks, metrics.cost_micros FROM campaign WHERE segments.date DURING LAST_7_DAYS" "Obtenir des donnĂ©es sur les performances des mots-clĂ©s : SELECT ad_group_criterion.keyword.text, metrics.ctr, metrics.average_cpc FROM keyword_view WHERE metrics.impressions > 100"
đ Exemples avancĂ©s de GAQL
Performance d'une campagne avec revenus
SELECT campaign.id, campaign.name, metrics.clicks, metrics.impressions, metrics.cost_micros, metrics.conversions, metrics.conversions_value FROM campaign WHERE segments.date DURING LAST_30_DAYS ORDER BY metrics.cost_micros DESC
Analyse de la performance des mots-clés
SELECT campaign.name, ad_group_criterion.keyword.text, ad_group_criterion.keyword.match_type, metrics.ctr, metrics.average_cpc, metrics.quality_score FROM keyword_view WHERE segments.date DURING LAST_7_DAYS AND metrics.impressions > 100 ORDER BY metrics.conversions DESC
Ventilation des performances des appareils
SELECT campaign.name, segments.device, metrics.clicks, metrics.cost_micros, metrics.conversions FROM campaign WHERE segments.date DURING LAST_30_DAYS AND campaign.status = 'ENABLED'
đ Structure du projet
google-ads-mcp-server/ âââ server.py # Serveur MCP principal âââ oauth/ â âââ __init__.py # Initialisation du package â âââ google_auth.py # Logique d'authentification OAuth âââ google_ads_token.json # Stockage du jeton auto-gĂ©nĂ©rĂ© (gitignored) âââ client_secret_[long-string].json # Vos identifiants OAuth (gitignored) ââââ .env # Variables d'environnement (gitignored) âââ .env.example # ModĂšle d'environnement âââ .gitignore # Fichier Git ignore âââ requirements.txt # DĂ©pendances Python âââ LICENSE # Licence MIT âââ README.md # Ce fichier
đ SĂ©curitĂ© et bonnes pratiques
Sécurité des fichiers
- â Les fichiers d'identifiants sont gitignored - Jamais livrĂ©s au contrĂŽle de version
- stockage local des jet ons - Les jetons sont stockés dans
google_ads_token.jsonlocalement - variables d'environnement - Données sensibles dans le fichier
.env - rafraĂźchissement automatique - Temps d'exposition minimal du jeton
Permissions de fichiers recommandées
# Définir des permissions sécurisées pour les fichiers sensibles chmod 600 .env chmod 600 google_ads_token.json chmod 600 client_secret_*.json
Considérations relatives à la production
- Utiliser des variables d'environnement au lieu de fichiers
.enven production - Mettre en place une limitation de débit pour respecter les quotas de l'API
- Surveiller l'utilisation de l'API dans Google Cloud Console
- Stockage sécurisé des jetons avec des contrÎles d'accÚs appropriés
- Rotation réguliÚre des jetons pour une sécurité renforcée
đ ïž DĂ©pannage
ProblĂšmes d'authentification
| ProblĂšme | SymptĂŽmes | Solution |
|---|---|---|
| Aucun jeton trouvĂ© | message "Starting OAuth flow" (DĂ©marrage du flux OAuth) | â Normal pour une premiĂšre installation - terminer l'authentification du navigateur |
| Ăchec du rafraĂźchissement du jeton | erreur "Refresh token failed" (Ă©chec du rafraĂźchissement du jeton) | supprimer google_ads_token.json et s'authentifier Ă nouveau |
| Ăchec du flux OAuth | Erreur de navigateur ou absence de rĂ©ponse | VĂ©rifiez le chemin d'accĂšs au fichier d'informations d'identification et la connexion Internet |
| Permission refusée | "AccÚs refusé" dans le navigateur | Vérifier que le compte Google a accÚs à Google Ads |
ProblĂšmes de configuration
| ProblĂšme | SymptĂŽmes | Solution |
|---|---|---|
| Variables d'environnement manquantes | "Variable d'environnement non définie | Vérifier le fichier .env et la section Claude config env |
| Fichier non trouvé | "Erreur de fichier non trouvé (FileNotFoundError) | Vérifier les chemins absolus dans la configuration |
| Erreur d'importation de module | "ModuleNotFoundError" (erreur de module introuvable) | Exécuter pip install -r requirements.txt |
| ProblÚmes de chemin d'accÚs à Python | "Commande non trouvée | Utiliser le chemin absolu de l'exécutable Python |
ProblÚmes liés au bureau de Claude
| ProblĂšme | SymptĂŽmes | Solution |
|---|---|---|
| Le serveur ne se connecte pas | Pas d'outils Google Ads disponibles | Redémarrer Claude Desktop, vérifier la syntaxe du fichier de configuration |
| Configuration JSON invalide | Erreurs de démarrage de Claude | Valider la syntaxe JSON dans le fichier de configuration |
| Erreurs de permission | "Permission refusée" au démarrage | Vérifier les permissions et les chemins d'accÚs aux fichiers |
ProblÚmes liés à l'API
| ProblĂšme | SymptĂŽmes | Solution |
|---|---|---|
| ID de client non valide | "Client introuvable | Utilisez le format Ă 10 chiffres sans tirets : 1234567890 |
| Quota API dépassé | "Erreur "Quota dépassé | Attendre la réinitialisation du quota ou demander une augmentation |
| Jeton de dĂ©veloppeur invalide | "Ăchec de l'authentification | VĂ©rifiez le jeton dans le Centre API Google Ads |
| Erreurs de syntaxe GAQL | "RequĂȘte non valide | VĂ©rifiez la syntaxe GAQL et les noms de champs |
Mode débogage
Activer la journalisation détaillée pour le dépannage :
# Ajouter à server.py pour le débogage importer logging logging.basicConfig(level=logging.DEBUG)
Obtenir de l'aide
Si vous rencontrez des problĂšmes :
- Vérifiez attentivement le message d'erreur - il indique généralement le problÚme exact
- Vérifiez que tous les chemins d'accÚs aux fichiers sont absolus et corrects
- Assurez-vous que les variables d'environnement sont correctement définies
- Vérifiez les quotas d'API et la facturation dansGoogle Cloud Console
- Redémarrez Claude Desktop aprÚs toute modification de la configuration
đ Configuration avancĂ©e
Mode de transport HTTP
Pour un déploiement web ou un accÚs à distance :
# Démarrer le serveur en mode HTTP python3 server.py --http
Configuration de Claude Desktop pour HTTP :
{ "mcpServers" : { "google-ads" : { "url" : "http://127.0.0.1:8000/mcp" } }
Stockage personnalisé des jetons
Modifier l'emplacement du stockage des jetons dans oauth/google_auth.py:
# Emplacement du fichier de jetons personnalisé def get_token_path() : return "/custom/secure/path/google_ads_token.json"
Configuration du compte du gestionnaire
Pour gérer plusieurs comptes sous un MCC :
# Ajouter au fichier .env GOOGLE_ADS_LOGIN_CUSTOMER_ID=123-456-7890
đ€ Contribuer
Les contributions sont les bienvenues ! Voici comment commencer :
Développement
# Créer un dépÎt git clone https://github.com/yourusername/google-ads-mcp-server.git cd google-ads-mcp-server # Créer un environnement de développement python3 -m venv .venv source .venv/bin/activate # Installer les dépendances pip install -r requirements.txt # Configurer l'environnement de développement cp .env.example .env # Ajouter vos identifiants de développement à .env
Effectuer des changements
- Créez une branche de fonctionnalités :
git checkout -b feature/amazing-feature - Effectuez vos modifications avec les tests appropriés
- Testez minutieusement avec différentes configurations de compte
- Mettre à jour la documentation si nécessaire
- Validation des modifications :
git commit -m 'Add amazing feature' (Ajouter une fonctionnalité étonnante) - Pousser vers la branche :
git push origin feature/amazing-feature - Ouvrir une Pull Request avec une description détaillée
Tester vos modifications
# Tester le flux d'authentification python3 server.py --test-auth # Tester la connectivitĂ© API python3 -c " from oauth.google_auth import get_oauth_credentials creds = get_oauth_credentials() print('â
Authentication successful!') " # Tester avec Claude Desktop # Ajouter votre serveur à Claude config et tester les différentes commandes
đ Limites et quotas de l'API
Quotas de l'API Google Ads
- AccÚs de base : 15 000 opérations par jour
- AccÚs standard : 40 000 opérations par jour
- Taux de requĂȘte : 1 600 demandes par minute et par jeton de dĂ©veloppeur
Meilleures pratiques pour l'utilisation de l'API
- Mettez les résultats en cache lorsque cela est possible afin de réduire le nombre d'appels à l'API
- Utiliser des plages de dates pour limiter le volume de données
- Effectuerdes requĂȘtes par lots lorsque cela est possible
- Surveiller l'utilisation dans Google Cloud Console
- Mettre en Ćuvre une logique de rĂ©essai pour les erreurs de limite de taux
Gestion des quotas
# Surveiller l'utilisation dans Google Cloud Console Aller dans APIs & Services â Quotas Rechercher "Google Ads API" pour voir l'utilisation actuelle
licence
Ce projet est sous licence MIT - voir le fichier LICENSE pour plus de détails.
Licence MIT
Copyright (c) 2025 Google Ads MCP Server Contributors L'autorisation est ici accordĂ©e, gratuitement, Ă toute personne obtenant une copie de ce logiciel et des fichiers de documentation associĂ©s (le "Logiciel"), de traiter le Logiciel sans restriction, y compris sans limitation les droits d'utilisation, de copie, de modification, de fusion, de publication, de distribution, de sous-licence, et/ou de vente de copies du Logiciel, et d'autoriser les personnes Ă qui le Logiciel est fourni Ă le faire, sous rĂ©serve des conditions suivantes : L'avis de copyright ci-dessus et cet avis d'autorisation doivent ĂȘtre inclus dans toutes les copies ou parties substantielles du Logiciel.
LE LOGICIEL EST FOURNI "TEL QUEL", SANS GARANTIE D'AUCUNE SORTE, EXPRESSE OU IMPLICITE, Y COMPRIS, MAIS SANS S'Y LIMITER, LES GARANTIES DE QUALITĂ MARCHANDE, D'ADĂQUATION Ă UN USAGE PARTICULIER ET D'ABSENCE DE CONTREFAĂON. EN AUCUN CAS LES AUTEURS OU LES DĂTENTEURS DES DROITS D'AUTEUR NE PEUVENT ĂTRE TENUS RESPONSABLES DE TOUTE RĂCLAMATION, DE TOUT DOMMAGE OU DE TOUTE AUTRE RESPONSABILITĂ, QUE CE SOIT DANS LE CADRE D'UNE ACTION CONTRACTUELLE, DĂLICTUELLE OU AUTRE, DĂCOULANT DE OU EN RAPPORT AVEC LE LOGICIEL OU L'UTILISATION OU D'AUTRES OPĂRATIONS LIĂES AU LOGICIEL
feuille de route
Fonctionnalités à venir
- đ Recherche de mots-clĂ©s amĂ©liorĂ©e avec analyse des concurrents
- đ Visualisation de donnĂ©es intĂ©grĂ©e avec diagrammes et graphiques
- đ€ S uggestions d'optimisation alimentĂ©es par l'IA
- đ O utils de crĂ©ation et de gestion de campagnes
- đ CapacitĂ©s de reporting avancĂ©es
- đ Prise en charge multilingue
RĂ©alisĂ© avec â€ïž pour la communautĂ© MCP
Connectez vos données Google Ads directement aux assistants IA et débloquez de puissantes informations publicitaires grùce à des conversations en langage naturel.




