Google Ads MCP Worker
Google Ads MCP Worker
Servidor MCP de Google Ads en un Cloudflare Worker. Misma forma que mcp-gsc: TypeScript, REST mediante fetch, sin librería cliente de Google.
Reimplementación de FGRibreau/mcp-google-ads (Rust, API v23) en API v25
Autenticación: token de actualización OAuth2. La API de Google Ads no acepta cuentas de servicio, por lo que el enfoque GSC JWT no aplica aquí
Transportes: HTTP Streamable (
/mcp) y SSE heredado (/sse)
Las escrituras no están protegidas. Sin dry-run, sin límite de presupuesto, sin tope de aumento de puja, sin confirmación en dos pasos, sin registro de auditoría. Cada herramienta de mutación se aplica inmediatamente a la cuenta a la que apunte
customer_id.create_campaign,create_ad_groupycreate_responsive_search_adusanPAUSEDpor defecto, pero ese es un valor por defecto que puedes sobrescribir, no un bloqueo. Apunta esto a una cuenta de prueba hasta que confíes en la configuración.
Configuración
1. Token de desarrollador de Google Ads
Cuenta de administrador (MCC) → Herramientas y configuración → Centro de API → solicita un token de desarrollador. Hasta que se apruebe el acceso básico, el token solo funciona con cuentas de prueba.
2. Cliente OAuth
Google Cloud Console → elige/crea un proyecto → habilita la API de Google Ads.
APIs y servicios → Credenciales → Crear credenciales → ID de cliente de OAuth → Aplicación de escritorio.
Anota el ID de cliente y el secreto de cliente.
3. Token de actualización
npm install --legacy-peer-deps
npm run token -- <CLIENT_ID> <CLIENT_SECRET>Abre un navegador, solicita el ámbito adwords e imprime GOOGLE_ADS_REFRESH_TOKEN.
Inicia sesión con una cuenta de Google que tenga acceso a la cuenta de Ads que quieras gestionar.
4. Despliegue
npx wrangler secret put GOOGLE_ADS_DEVELOPER_TOKEN
npx wrangler secret put GOOGLE_ADS_CLIENT_ID
npx wrangler secret put GOOGLE_ADS_CLIENT_SECRET
npx wrangler secret put GOOGLE_ADS_REFRESH_TOKEN
npx wrangler secret put MCP_AUTH_TOKEN # any long random string: openssl rand -hex 32
npm run deployEstablece los valores por defecto no secretos en wrangler.jsonc:
Var | Significado |
| Cuenta por defecto, solo dígitos. Las herramientas aceptan |
| Tu ID de MCC, enviado como |
| Por defecto |
Desarrollo local: copia .dev.vars.example a .dev.vars y luego npm run dev.
5. Conectar un cliente
claude mcp add --transport http gads https://gads-mcp.<your-subdomain>.workers.dev/mcp \
--header "Authorization: Bearer <MCP_AUTH_TOKEN>"Claude Desktop / clientes solo stdio:
{
"mcpServers": {
"gads": {
"command": "npx",
"args": [
"mcp-remote",
"https://gads-mcp.<your-subdomain>.workers.dev/mcp",
"--header",
"Authorization: Bearer <MCP_AUTH_TOKEN>"
]
}
}
}Luego llama a health_check — informa del estado de OAuth, de la presencia del token de desarrollador y de las cuentas accesibles.
Related MCP server: Google Ads MCP
Herramientas
46 herramientas. Cada herramienta con ámbito de cliente acepta un customer_id opcional.
Lectura (21)
Tool | Qué hace |
| Estado de autenticación, versión de API, cuentas configuradas |
| Cuentas accesibles (con nombres cuando hay un MCC configurado) |
| Moneda, zona horaria, autoetiquetado, indicador de cuenta de prueba |
| Cualquier consulta GAQL; |
| Métricas de campaña por coste |
| Métricas de grupo de anuncios |
| Métricas de anuncios con titulares/descripciones RSA y estado de aprobación |
| Métricas de palabras clave con tipo de concordancia, nivel de calidad y puja |
| Consultas reales — la fuente de palabras clave negativas |
| Negativas de campaña / grupo de anuncios / conjunto compartido |
| Métricas por ubicación |
| Métricas por dispositivo |
| Eventos de cambio (la API los conserva 30 días) |
| Recursos y su nivel de adjunto |
| Anuncios rechazados y limitados con temas de política |
| Acciones de conversión con categoría, recuento y ventana de retroceso |
| Recomendaciones de Google más estimaciones de impacto |
| Nombre de lugar → ID de constante de objetivo geográfico |
| Ideas de palabras clave a partir de semillas y/o una URL |
| Volumen/competencia para una lista fija de palabras clave |
| Previsión para una campaña hipotética |
Escritura (25)
Tool | Qué hace |
| Presupuesto diario, compartido o no |
| Campaña + presupuesto opcional en una sola llamada |
| Nombre, estado, presupuesto, fechas, estrategia de puja |
| Grupos de anuncios y CPC por defecto |
| Palabras clave positivas, pujas, URL finales |
| Negativas de campaña o grupo de anuncios |
| RSA con fijación; límites de longitud comprobados antes de enviar |
| Pausar / habilitar / eliminar cualquier cosa por nombre de recurso |
| Segmentar o excluir ubicaciones, con modificadores de puja |
| Presencia frente a presencia-o-interés |
| Ventanas de segmentación por franjas horarias y modificadores de puja |
| Audiencias |
| Enlaces de sitio, destacados, fragmentos, texto, imágenes |
| Configuración de conversión, primaria/secundaria |
| Estrategias de cartera |
| Actuar sobre las sugerencias de Google |
| Mutación bruta en cualquier colección de recursos — cubre todo lo anterior |
|
|
mutate y mutate_batch son las vías de escape: cualquier cosa que añada Google, o cualquier recurso sin herramienta específica
(conjuntos compartidos, listas de usuarios, grupos de recursos, experimentos, etiquetas), pasa por ellas sin cambiar el código.
Ambas aceptan validate_only si quieres una prueba en seco manual.
Comprobaciones
npm run typecheck # tsc --noEmit
npm test # pure-logic selfcheck: micros, dates, resource names, bidding payloadsNotas
El dinero se pasa en unidades de moneda (
25.5) y se convierte a micros internamente.Las cargas útiles de mutate usan fechas
YYYYMMDD; los informes usanYYYY-MM-DD. Las herramientas aceptanYYYY-MM-DDen todas partes y convierten.updateMaskusa nombres de campo en snake_case — relevante si escribes operaciones a mano paramutate.Los tokens de acceso se almacenan en caché por aislamiento de Worker; los tokens de actualización no caducan salvo que se revoquen o no se usen durante 6 meses.
This server cannot be deployed
Maintenance
Related MCP Connectors
Google Ads MCP: reports, search terms, negatives, budgets, campaigns. Approval on every write.
Google Ads MCP server — manage campaigns, keywords, and metrics.
Google Ads MCP with 20,000+ account peer context and staged approve-then-execute writes.
- mcpOAuthio.github.vibeads
Manage Google Ads from ChatGPT, Claude or any MCP client. Sign in with OAuth or use an API key.
Related MCP Servers
- AlicenseBqualityCmaintenanceUnofficial Google Ads MCP for campaigns, keywords, budgets, reports and gated mutations.3074 npm4MIT
- AlicenseNot gradedqualityDmaintenanceEnables reading and modifying Google Ads accounts, including campaign management, ad status changes, budget updates, and more.MIT
- AlicenseNot gradedqualityDmaintenanceA comprehensive Google Ads MCP server providing ~47 tools for full read/write access to Google Ads accounts, including campaign management, ad creation, keyword management, and reporting.2Apache 2.0
- AlicenseNot gradedqualityDmaintenanceEnables reading and mutating Google Ads campaigns via MCP tools, and includes structured marketer workflows for search term mining, budget optimization, and weekly reviews.54 npm6MIT