Il Model Context Protocol (MCP) è uno standard aperto che consente ai modelli linguistici di grandi dimensioni (LLM) di interagire in modo sicuro con dati e applicazioni esterni. Il server MCP di Google Ads fornisce un ponte standardizzato all'API Google Ads, che consente agli agenti AI di analizzare e recuperare i dati delle campagne utilizzando il linguaggio naturale.
Risorse e assistenza della community
Repository GitHub:trova demo, esempi e segnala bug o suggerisci funzionalità nel repository google-ads-mcp.
Utilizza la scheda Problemi per i report sui bug e le richieste di funzionalità.
Community: unisciti al canale
#ads-api-ai-toolssu Discord della community Google Advertising.
Panoramica tecnica
Implementando questo server MCP, non è più necessario scrivere "glue code" personalizzato per l'autenticazione dell'API Google Ads, il recupero delle risorse e l'analisi dei dati. Il server espone strumenti specifici che un LLM può scoprire e richiamare autonomamente.
Specifiche principali
- Protocollo: MCP (Model Context Protocol)
- Modalità:sola lettura (versione attuale)
- Lingua: Python
- Trasporto:input/output standard (
stdio) - Autenticazione:OAuth 2.0 o service account
Come funziona il ciclo di interazione
- Richiesta:un utente invia una query come "Come sta andando il rendimento della mia campagna questa settimana?".
- Scoperta: l'LLM esamina gli strumenti disponibili e identifica le
google-ads-mcpfunzionalità di ricerca. - Esecuzione:il server MCP esegue la logica Python sottostante per eseguire query sull'API Google Ads.
- Inserimento del contesto: i risultati strutturati vengono restituiti alla finestra di contesto dell'LLM.
- Risposta:l'LLM sintetizza i dati in una risposta leggibile da una persona.
Inizia
Segui questi passaggi per configurare e utilizzare il server MCP di Google Ads.
Prerequisiti
Prima della configurazione, assicurati di disporre delle seguenti credenziali dalla console Google Cloud:
- ID progetto:il numero del tuo progetto Google Cloud. Controlla la pagina di panoramica dell'API Google Ads per assicurarti che il tuo progetto disponga dei livelli di accesso Explorer, Basic o Standard. In caso contrario, richiedi uno di questi livelli di accesso
- Credenziali OAuth:una coppia ID client/segreto client OAuth 2.0 oppure un insieme di credenziali predefinite dell'applicazione.
Configurazione
Per integrare il server in un host compatibile con MCP, aggiungi la seguente voce al file di configurazione MCP dell'host, ad esempio settings.json. Consulta la documentazione del tuo host per la posizione e il nome file esatti di questa configurazione.
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"
}
}
}
}
Deployment su Google Cloud
Anziché ospitare questo server MCP localmente, puoi ospitarlo su Google Cloud Run o su qualsiasi altra infrastruttura basata su cloud. Questa opzione è utile se vuoi condividere il server tra diversi agenti o eseguirlo come servizio web.
Prerequisiti
- Un progetto Google Cloud.
Lo strumento a riga di comando
gcloudinstallato, autenticato e con un progetto attivo configurato:gcloud config set project YOUR_PROJECT_ID
Crea ed esegui il push di un'immagine Docker
Puoi utilizzare Cloud Build per creare ed eseguire il push dell'immagine su Artifact Registry senza dover installare Docker localmente.
Crea un repository in Artifact Registry:
gcloud artifacts repositories create mcp-servers --repository-format=docker --location=us-central1Vai alla directory del progetto:
cd <full path>/google-ads-mcpCrea e invia l'immagine:
gcloud builds submit --tag us-central1-docker.pkg.dev/YOUR_PROJECT_ID/mcp-servers/google-ads-mcp:latest .Tieni presente che questo passaggio deve essere eseguito ogni volta che vuoi aggiornare il server di cui è stato eseguito il deployment all'ultima versione.
Esegui il deployment in Google Cloud Run
Assicurati di impostare le variabili di ambiente richieste:
GOOGLE_PROJECT_ID: l'ID del tuo progetto Google Cloud, che dispone dei livelli di accesso API appropriati.GOOGLE_ADS_MCP_OAUTH_CLIENT_ID: l'ID client OAuth che vuoi che il server MCP utilizzi.GOOGLE_ADS_MCP_OAUTH_CLIENT_SECRET: il client secret OAuth che vuoi che il server MCP utilizzi.GOOGLE_ADS_MCP_BASE_URL: l'URL di base in cui è accessibile il server MCP: questo valore verrà assegnato automaticamente da Google Cloud Run dopo il primo deployment. Puoi aggiornare le variabili di ambiente dopo il deployment.FASTMCP_HOST: imposta questo valore su 0.0.0.0 per consentire a FastMCP di accettare connessioni da tutti gli indirizzi 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_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"
Configura il client MCP
Dopo il deployment, aggiorna la configurazione del client MCP (ad esempio,
~/.gemini/settings.json) per utilizzare l'URL di Cloud Run.
{
"mcpServers": {
"google-ads-mcp": {
"httpUrl": "https://your-cloud-run-url.a.run.app/mcp"
}
}
}
Funzionalità principali (strumenti)
Il server espone strumenti progettati per il rilevamento e il rendimento degli account report:
list_accessible_customers: restituisce l'elenco degli ID cliente Google Ads e dei nomi account accessibili all'utente autenticato.search: esegue richieste Google Ads Query Language (GAQL) per recuperare metriche, budget e stato delle risorse.get_resource_metadata: recupera i metadati di un tipo di risorsa dell'API Google Ads, ad esempio "campaign".Ciò è utile per comprendere la struttura dei dati e quali campi sono disponibili per le query.
Prompt di esempio per iniziare
Chiedi cosa può fare il server:
What can the google-ads-mcp server do?
Domande sui clienti:
What customers do I have access to?
Domande sulle campagne:
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