Le Model Context Protocol (MCP) est une norme ouverte qui permet aux grands modèles de langage (LLM) d'interagir de manière sécurisée avec des données et des applications externes. Le serveur MCP Google Ads fournit un pont standardisé vers l'API Google Ads, ce qui permet aux agents d'IA d'analyser et de récupérer des données de campagne en langage naturel.
Ressources et assistance de la communauté
Dépôt GitHub : découvrez des démonstrations et des exemples, signalez des bugs ou suggérez des fonctionnalités dans le dépôt google-ads-mcp.
Utilisez l'onglet Issues (Problèmes) pour signaler des bugs et demander des fonctionnalités.
Communauté : rejoignez le canal
#ads-api-ai-toolssur le Discord de la communauté Google Advertising.
Présentation technique
En implémentant ce serveur MCP, vous n'avez plus besoin d'écrire de "code de colle" personnalisé pour l'authentification de l'API Google Ads, la récupération de ressources et l'analyse de données. Le serveur expose des outils spécifiques qu'un LLM peut découvrir et appeler de manière autonome.
Caractéristiques techniques
- Protocole : MCP (Model Context Protocol)
- Mode : Lecture seule (version actuelle)
- Langue : Python
- Transport : entrée/sortie standard (
stdio) - Authentification : OAuth 2.0 ou compte de service
Fonctionnement de la boucle d'interaction
- Requête : un utilisateur envoie une requête telle que "Comment mes campagnes ont-elles performé cette semaine ?".
- Découverte : le LLM inspecte les outils disponibles et identifie les fonctionnalités de recherche
google-ads-mcp. - Exécution : le serveur MCP exécute la logique Python sous-jacente pour interroger l'API Google Ads.
- Injection de contexte : les résultats structurés sont renvoyés à la fenêtre de contexte du LLM.
- Réponse : le LLM synthétise les données dans une réponse lisible.
Premiers pas
Suivez ces étapes pour configurer et utiliser le serveur MCP Google Ads.
Prérequis
Avant la configuration, assurez-vous de disposer des identifiants suivants dans la Google Ads Developer Console :
- Jeton de développeur : chaîne d'accès unique de 22 caractères.
- ID du projet : identifiant de votre projet Google Cloud.
- Identifiants OAuth : paire d'ID client/code secret du client OAuth2 ou ensemble d'identifiants par défaut de l'application.
Configuration
Pour intégrer le serveur dans un hôte compatible avec le protocole MCP, ajoutez l'entrée suivante au fichier de configuration MCP de votre hôte, par exemple settings.json. Consultez la documentation de votre hôte pour connaître l'emplacement exact et le nom de fichier de cette configuration.
JSON
{
"mcpServers": {
"google-ads-mcp": {
"command": "pipx",
"args": [
"run",
"--spec",
"git+https://github.com/googleads/google-ads-mcp.git",
"google-ads-mcp"
],
"env": {
"GOOGLE_PROJECT_ID": "YOUR_PROJECT_ID",
"GOOGLE_ADS_DEVELOPER_TOKEN": "YOUR_DEVELOPER_TOKEN"
}
}
}
}
Déploiement sur Google Cloud
Au lieu d'héberger ce serveur MCP localement, vous pouvez l'héberger sur Google Cloud Run ou sur toute autre infrastructure cloud. Cela est utile si vous souhaitez partager le serveur entre différents agents ou l'exécuter en tant que service Web.
Prérequis
- Un projet Google Cloud.
L'outil de ligne de commande
gcloudinstallé, authentifié et avec un projet actif configuré :gcloud config set project YOUR_PROJECT_ID
Créer et transférer une image Docker
Vous pouvez utiliser Cloud Build pour créer et transférer l'image vers Artifact Registry sans avoir à installer Docker localement.
Créez un dépôt dans Artifact Registry :
gcloud artifacts repositories create mcp-servers --repository-format=docker --location=us-central1Créez et envoyez l'image :
gcloud builds submit --tag us-central1-docker.pkg.dev/YOUR_PROJECT_ID/mcp-servers/google-ads-mcp:latest .Notez que cette étape doit être effectuée chaque fois que vous souhaitez mettre à jour le serveur déployé vers la dernière version.
Déployer sur Google Cloud Run
Assurez-vous de définir les variables d'environnement requises :
GOOGLE_PROJECT_ID: ID de votre projet Google Cloud.GOOGLE_ADS_DEVELOPER_TOKEN: jeton de développeur que vous souhaitez que le serveur MCP utilise.GOOGLE_ADS_MCP_OAUTH_CLIENT_ID: ID client OAuth que vous souhaitez que le serveur MCP utilise.GOOGLE_ADS_MCP_OAUTH_CLIENT_SECRET: code secret du client OAuth que vous souhaitez que le serveur MCP utilise.GOOGLE_ADS_MCP_BASE_URL: URL de base où votre serveur MCP est accessible. Elle sera automatiquement attribuée par Google Cloud Run après votre premier déploiement. Vous pouvez mettre à jour les variables d'environnement après le déploiement.FASTMCP_HOST: définissez cette valeur sur 0.0.0.0 pour autoriser FastMCP à accepter les connexions de toutes les adresses IP.
gcloud run deploy google-ads-mcp \
--image us-central1-docker.pkg.dev/YOUR_PROJECT_ID/mcp-servers/google-ads-mcp:latest \
--platform managed \
--region us-central1 \
--allow-unauthenticated \
--set-env-vars="GOOGLE_PROJECT_ID=YOUR_PROJECT_ID,GOOGLE_ADS_DEVELOPER_TOKEN=YOUR_DEVELOPER_TOKEN,GOOGLE_ADS_MCP_OAUTH_CLIENT_ID=YOUR_CLIENT_ID,GOOGLE_ADS_MCP_OAUTH_CLIENT_SECRET=YOUR_CLIENT_SECRET,GOOGLE_ADS_MCP_BASE_URL=YOUR_BASE_URL,FASTMCP_HOST=0.0.0.0"
Configurer le client MCP
Après le déploiement, mettez à jour la configuration de votre client MCP (par exemple, ~/.gemini/settings.json) pour utiliser l'URL Cloud Run.
{
"mcpServers": {
"google-ads-mcp": {
"httpUrl": "https://your-cloud-run-url.a.run.app/mcp"
}
}
}
Fonctionnalités de base (outils)
Le serveur expose des outils conçus pour la découverte de comptes et la création de rapports sur les performances :
list_accessible_customers: renvoie la liste des ID client Google Ads et des noms de compte accessibles à l'utilisateur authentifié.search: exécute des requêtes en langage de requête Google Ads (GAQL) pour récupérer les métriques, les budgets et l'état des ressources.get_resource_metadata: récupère les métadonnées d'un type de ressource de l'API Google Ads, par exemple "campagne".Cela est utile pour comprendre la structure des données et les champs disponibles pour les requêtes.
Exemples de requêtes pour commencer
Demandez ce que le serveur peut faire :
What can the google-ads-mcp server do?
Posez des questions sur les clients :
What customers do I have access to?
Posez des questions sur les campagnes :
How many active campaigns do I have?
How is my campaign performance this week?
Give me a report of the top spending campaigns split by device category over the
last 7 days for account 1234567890