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.
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 installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Manage Google, Meta, Amazon, TikTok, LinkedIn & ChatGPT ads. 430 tools for campaigns & analytics.
OpenAI Ads MCP for ChatGPT Ads campaigns, creatives, audiences, insights, and conversions.
Search Meta, Google Ads, LinkedIn, and TikTok ad libraries plus creative analysis via MCP.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/ambo-sk/mcp-google-ads'
If you have feedback or need assistance with the MCP directory API, please join our Discord server