¿Hay un servidor MCP de Google Ads? Sí. Hermoso es un servidor MCP de Google Ads alojado. Añade https://app.hermoso.ai/mcp a Claude, ChatGPT o Cursor y conecta tu cuenta de Google Ads una sola vez. Tu asistente podrá entonces crear campañas de Búsqueda, Display y Performance Max, encontrar ideas de palabras clave, ajustar presupuestos, pujas y segmentación, y generar informes. Activar una campaña siempre requiere tu confirmación explícita.
Google Ads es una estructura en árbol, y los árboles son donde la creación de campañas automatizada suele salir mal. Creas un presupuesto, luego una campaña, luego un grupo de anuncios y después un anuncio. Si el anuncio se rechaza en el cuarto paso, te quedan tres objetos huérfanos y un presupuesto que no querías. Limpiar todo eso a mano es el motivo por el que la mayoría de la gente deja de automatizar Google Ads.
El servidor MCP de Hermoso construye todo el árbol en una sola operación atómica, usando ids de recurso temporales para que los hijos puedan referenciar padres que todavía no existen. O existen la campaña, el grupo de anuncios, el anuncio y las palabras clave, o no existe ninguno. Si un anuncio se rechaza, el presupuesto tampoco se crea.
Instálalo una vez: en Claude.ai o Claude Desktop, pega https://app.hermoso.ai/mcp en Ajustes → Conectores y apruébalo con tu cuenta de Hermoso. En un agente de programación es un solo comando: /plugin marketplace add hermoso-ai/hermoso y luego /plugin install hermoso@hermoso en Claude Code, codex plugin marketplace add hermoso-ai/hermoso y luego codex plugin add hermoso@hermoso en Codex, o npx skills add hermoso-ai/hermoso -a cursor en Cursor (pon el nombre de tu propio agente después de -a), y después inicia sesión una vez con npx -y hermoso auth login. Configuración completa en la página de MCP y CLI.
Las herramientas de Google Ads
Crear. create_google_ads_campaign, create_google_ads_ad_group, create_google_ads_ad, add_google_ads_keywords, create_google_ads_performance_max_campaign, upload_google_ads_asset, add_google_ads_assets para enlaces de sitio, extensiones de texto y fragmentos estructurados.
Configurar. set_google_ads_budget, set_google_ads_bidding (seis estrategias), set_google_ads_targeting (ubicación e idioma), find_google_ads_locations, set_google_ads_networks (red de socios de Búsqueda y Display activados o desactivados), create_google_ads_conversion_action y list_google_ads_conversion_actions.
Investigar. google_ads_keyword_ideas lleva el Planificador de palabras clave a la conversación: volúmenes de búsqueda mensuales reales, competencia y rangos de puja de la parte superior de la página, a partir de un conjunto de palabras clave, una página de destino o un sitio completo.
Leer y cambiar. list_google_ads_campaigns, google_ads_report para GAQL arbitrario, google_ads_change_history para saber qué cambió en la cuenta y cuándo, delete_google_ads_object para eliminar un objeto, y set_google_ads_status, el único interruptor con confirmación obligatoria que activa gasto real.
create_google_ads_campaign también acepta un modo de prueba (dry run), así que un agente puede validar un árbol completo contra la API en vivo sin crear nada. Es un buen valor por defecto cuando propone un plan para que lo apruebes.
Lo que tu agente puede hacer con el MCP de Google Ads
Cada fila es una herramienta real en el servidor. Pídelo en lenguaje natural y el agente elige cuáles ejecutar.
| Tarea | Herramientas | Qué pasa |
|---|---|---|
| Crear una campaña de Búsqueda o Display | create_google_ads_campaign, create_google_ads_ad_group, create_google_ads_ad, add_google_ads_keywords | Presupuesto, campaña, grupo de anuncios, anuncio adaptable y palabras clave en una sola operación atómica, creados pausados. Un modo de prueba valida primero todo el árbol contra la API en vivo. |
| Crear Performance Max | create_google_ads_performance_max_campaign | Una campaña en Búsqueda, YouTube, Display, Discover, Gmail y Maps, con su grupo de recursos, creada pausada. Se rechaza en una cuenta sin acción de conversión. |
| Investigación de palabras clave | google_ads_keyword_ideas | El Planificador de palabras clave de Google: volumen de búsqueda mensual, competencia y rangos de puja de la parte superior de la página a partir de palabras clave, una página de destino o un sitio. |
| Enlaces de sitio y extensiones de texto | add_google_ads_assets, upload_google_ads_asset | Crea enlaces de sitio, extensiones de texto y fragmentos estructurados y los asocia a una campaña o grupo de anuncios. Sube recursos de imagen, tuyos o de Hermoso. |
| Segmentación y redes | set_google_ads_targeting, find_google_ads_locations, set_google_ads_networks | Ubicaciones e idiomas por nombre, y la red de socios de Búsqueda o Display activada o desactivada. |
| Pujas y presupuesto | set_google_ads_bidding, set_google_ads_budget | Seis estrategias de puja y el presupuesto diario. Subir un presupuesto en vivo pide confirmación. |
| Seguimiento de conversiones | create_google_ads_conversion_action, list_google_ads_conversion_actions | Crea acciones de conversión e indica si la puja inteligente puede funcionar en la cuenta. |
| Informes | google_ads_report, list_google_ads_campaigns | Cualquier consulta GAQL: campañas, grupos de anuncios, anuncios, palabras clave, términos de búsqueda, datos demográficos y geografía. |
| Qué cambió | google_ads_change_history | Quién o qué cambió la cuenta, y cuándo. |
| Iniciar, pausar o eliminar | set_google_ads_status, delete_google_ads_object | Activar pone en marcha gasto real y se niega a ejecutarse sin una confirmación explícita. |
| Merchant Center | list_merchant_accounts, list_merchant_products, list_merchant_issues | Lee el feed que anuncia una campaña de Performance Max de Shopping o de retail, y por qué un producto está rechazado. |
| Vincular GA4 | link_google_ads_to_analytics, list_analytics_google_ads_links, create_analytics_key_event | Vincula una propiedad de GA4 para que sus eventos clave se importen como conversiones de Google Ads. |
Ejemplos de peticiones
Pega cualquiera de estas en Claude, ChatGPT o Cursor una vez conectado Hermoso.
- “Busca 30 palabras clave para nuestra app de gestión de proyectos con más de 1.000 búsquedas al mes en Estados Unidos, y agrúpalas por intención.”
google_ads_keyword_ideas devuelve los volúmenes, la competencia y los rangos de puja del Planificador de palabras clave, y el agente las agrupa. - “Crea una campaña de Búsqueda pausada con esas palabras clave: $50 al día, Estados Unidos y Canadá, inglés, maximizar conversiones.”
create_google_ads_campaign crea presupuesto, campaña, grupo de anuncios, anuncio y palabras clave en una sola operación atómica, pausada, y luego la lee. - “Configura una campaña de Performance Max para nuestro catálogo de Shopify con nuestro feed de Merchant Center.”
list_merchant_accounts elige la tienda y después create_google_ads_performance_max_campaign la crea pausada con el feed adjunto. - “¿Qué términos de búsqueda gastaron dinero el mes pasado sin convertir? Añade los diez peores como negativos.”
google_ads_report extrae el informe de términos de búsqueda y después add_google_ads_keywords añade los negativos. - “Añade cuatro enlaces de sitio a nuestra campaña de marca: precios, demo, casos de éxito y contacto.”
add_google_ads_assets crea los enlaces de sitio y los asocia a la campaña. - “Desactiva la red de socios de Búsqueda en todas las campañas y muéstrame el antes y el después.”
set_google_ads_networks lee primero la configuración actual y luego la cambia campaña por campaña. - “Alguien cambió nuestras pujas el viernes. ¿Qué cambió?”
google_ads_change_history enumera los cambios con su hora. - “Vincula nuestra propiedad de GA4 para que los registros cuenten como conversiones en Google Ads.”
link_google_ads_to_analytics las vincula, y create_analytics_key_event marca el evento de registro como evento clave.
Performance Max, creada de la misma manera
create_google_ads_performance_max_campaign crea el tipo de campaña multicanal de Google (Búsqueda, YouTube, Display, Discover, Gmail y Maps desde una sola campaña), y la crea en una sola operación atómica porque Google lo exige: presupuesto, campaña, segmentación de ubicación e idioma, grupo de recursos y todos los enlaces de recursos se suben juntos, de modo que un recurso rechazado no deja una campaña a medio construir. Se crea pausada, y todo el árbol se lee de vuelta desde Google antes de que tu agente te diga que existe.
Los mínimos de recursos de Google se comprueban aquí antes de enviar nada, así que una imagen cuadrada que falta da un mensaje claro y no un rechazo opaco de la API: de 3 a 15 títulos de 30 caracteres o menos, de 1 a 5 títulos largos de hasta 90, de 2 a 5 descripciones de hasta 90, un nombre de empresa de hasta 25, y al menos un logotipo, una imagen de marketing y una imagen de marketing cuadrada. Sube las imágenes primero con upload_google_ads_asset y pasa los nombres de recurso. Un vídeo de YouTube es opcional. Google generará uno a partir del grupo de recursos si lo omites.
Performance Max no tiene palabras clave ni pujas manuales: optimiza hacia conversiones y nada más. Por eso la creación se rechaza en una cuenta sin una acción de conversión activa, en lugar de crear una campaña que no puede optimizar, y te indica las dos salidas: crear una con create_google_ads_conversion_action, o usar una estrategia que no la necesite. Las directrices de marca están activadas por defecto en las nuevas campañas PMax desde la versión 21 de la API de Google Ads, lo que cambia dónde se asocian el nombre de la empresa y el logotipo; Hermoso los vincula a la campaña por ti.
Performance Max de catálogo de Shopping (retail) funciona igual: pasa merchantCenterId y la campaña anuncia tu catálogo de Merchant Center, con feedLabel para limitarla a un solo feed. Se crea y se lee de vuelta exactamente igual que la campaña anterior. La lectura indica la cuenta de Merchant Center y la etiqueta de feed que Google guardó realmente, así puedes ver que es de verdad una campaña de retail y no tomar nuestra palabra. Anuncia el feed completo bajo un único grupo de listados raíz; dividir un feed por marca, categoría o etiqueta personalizada no está implementado, y se rechaza por nombre en lugar de ignorarse en silencio, para que nunca creas que has acotado un feed cuando no lo has hecho.
Merchant Center, para que el agente sepa lo que vende
“¿Por qué no se muestra este producto?” es una pregunta que los informes de Google Ads no pueden responder por estructura, porque un producto rechazado no tiene impresiones que informar. Esa respuesta está en Merchant Center, y la misma conexión de Google llega hasta allí, sin un segundo inicio de sesión.
Tu agente puede listar las cuentas de Merchant Center a las que tu cuenta de Google conectada tiene acceso con list_merchant_accounts (una agencia suele tener varias, así que pregunta qué tienda en lugar de adivinar), leer los productos de un feed con list_merchant_products (el catálogo real que sirve una campaña de Shopping o de Performance Max de retail), y leer los problemas de nivel de cuenta que Google señala con list_merchant_issues. Con eso basta para escribir textos de anuncio sobre productos que existen de verdad, a precios que están vigentes, y para explicar una campaña que no muestra nada.
También escribe. create_merchant_data_source crea un feed de producto por API, upsert_merchant_product pone un producto en él, update_merchant_product cambia los campos que se mueven a diario (precio y disponibilidad), y delete_merchant_product y delete_merchant_data_source los eliminan previa confirmación. list_merchant_data_sources muestra qué feeds pueden aceptar de verdad una escritura.
Tres cosas que conviene saber de antemano. Google bloquea todas las llamadas de la API de Merchant hasta que el proyecto de Cloud de Hermoso está registrado en tu cuenta de Merchant Center, así que register_merchant_developer realiza ese vínculo una vez y lo indica por su nombre. No es una conexión rota, y reconectar no lo arreglará. Las escrituras de producto solo entran en un origen de datos API: un feed de archivo, un autofeed y el feed que crea la propia interfaz de Merchant Center aparecen en las listas normalmente pero rechazan todas las escrituras, así que Hermoso resuelve un feed escribible por ti, crea uno si no hay ninguno, y se niega por nombre si hay varios, en lugar de poner tu producto en un mercado al que tal vez no apunten tus campañas. Y upsert_merchant_product es una escritura de fila completa, mientras que update_merchant_product es un parche. Envía todos los campos que quieras conservar al primero, y solo los campos que cambias al segundo.
Nada de esto significa que tengas que mover tu catálogo. Si el feed ya vive en Shopify o en tu plataforma, déjalo ahí y deja que el agente lo lea; las escrituras son para los casos en los que nada es dueño del feed todavía, o en los que hay que corregir un precio o una disponibilidad ahora y no en la siguiente sincronización.
Google Analytics 4, para ver qué hicieron los clics
Los informes de Google Ads terminan en el clic. Lo que pasó después (la sesión, el registro, el pedido) vive en Google Analytics, y el mismo inicio de sesión de Google llega hasta allí (es una conexión aparte, porque necesita su propio permiso).
Tu agente puede determinar qué propiedad de GA4 leer con list_analytics_properties. Eso importa porque cada llamada a Analytics pide un id de propiedad numérico, y lo que realmente tienes es el ID de medición G-XXXXXXXXX de tu fragmento de seguimiento. Después, analytics_report devuelve sesiones, usuarios, conversiones e ingresos desglosados por canal, fuente/medio, campaña, página de destino, país, dispositivo o fecha, y analytics_realtime muestra quién está en el sitio en este momento. Así que “crea la campaña” y “dime lo que ganó” son la misma conversación.
También escribe, y es la parte que retroalimenta directamente a Google Ads: create_analytics_key_event marca un evento que GA4 ya recoge como evento clave, que es justo lo que Google Ads importa como conversión, y una acción de conversión es lo que necesita cada estrategia de puja inteligente de esta página. create_analytics_custom_dimension registra un parámetro de evento para poder desglosar informes por él, y list_analytics_definitions muestra qué mide ya la propiedad antes de que añadas cualquiera de los dos. Dos cosas que son ciertas para siempre: esto es solo GA4, porque la API no tiene ninguna superficie de Universal Analytics, y una dimensión personalizada se puede archivar pero nunca borrar, con 50 ranuras por evento y por propiedad, así que el agente revisa primero el conjunto existente.
El control de gasto en vivo es más amplio que una sola herramienta
Pausar una campaña no es la única forma de evitar gastar, y tratarlo así es una trampa real: crear un grupo de anuncios, un anuncio o una palabra clave activados dentro de un padre ya activado se sirve en la siguiente subasta. Por eso la misma confirmación que protege set_google_ads_status también protege create_google_ads_ad_group, create_google_ads_ad y add_google_ads_keywords siempre que el padre esté activo, leyendo el dato de la fila que cada una de estas ya obtiene, sin ninguna llamada adicional. Las palabras clave negativas solo restringen el gasto, así que nunca están sujetas a control.
Informes con GAQL, con una advertencia que conviene conocer
google_ads_report acepta GAQL arbitrario, así que tu agente puede pedir la porción que necesite en lugar de quedar encerrado en un formato de informe fijo. Una cosa que tener en cuenta si escribes consultas a mano o dejas que un modelo las escriba: GAQL no es SQL. No tiene subconsultas, y IN acepta una lista literal. Un WHERE id IN (SELECT …) no es válido y fallará en lugar de devolver en silencio las filas equivocadas. Pasa el resultado directamente a una hoja de cálculo con create_sheet y append_to_sheet, o a un documento con create_doc.
Relee y luego informa
Después de la mutación, el árbol se lee de vuelta desde Google, y el resumen que recibes se construye a partir de esa lectura, nunca de lo que se pidió. Es una disciplina pequeña que atrapa el fallo concreto en el que un agente narra con total seguridad una campaña que la plataforma en realidad alteró o rechazó.
Lo que no hará sin preguntar
Un agente con presupuesto solo es útil si el radio de impacto está acotado, así que la autoridad de gasto se limita en el servidor y no en una instrucción. Las campañas, grupos de anuncios y anuncios de Meta se crean PAUSED sin que el que llama pueda cambiarlo. Los interruptores de estado que pueden activar gasto publicitario real (uno en cada plataforma de anuncios: set_meta_campaign_status, set_google_ads_status, set_microsoft_ads_status, set_reddit_ads_status, set_linkedin_ads_status, set_pinterest_ads_status, set_x_ads_status y set_openai_ads_status, entre otros) se niegan a ejecutarse sin una marca de confirmación explícita, y esa misma barrera cubre crear un grupo de anuncios, un anuncio o una palabra clave activados de Google Ads dentro de un padre ya activado, porque eso se sirve en la siguiente subasta. Los borrados también requieren confirmación. En el lado de la generación, hermoso_capabilities publica el coste exacto en créditos de cada modelo antes de que se ejecute nada, y cada render reserva una estimación y luego liquida el coste real, así que un envío fallido se reembolsa en lugar de cobrarte en silencio.
Conectar tu cuenta de Google Ads
Conectas Google Ads a Hermoso mediante el flujo OAuth propio de Google en Configuración, Conectores; ninguna contraseña pasa por el modelo. Las conexiones de Google Ads se comparten a nivel de marca, así que todo un equipo que trabaja en una marca usa una sola conexión en lugar de que cada persona vuelva a autorizarla.
La parte creativa
Gestionar campañas solo sirve si hay algo que publicar. El mismo servidor investiga lo que ya funciona en tu mercado en las bibliotecas de anuncios de Meta, Google y LinkedIn, genera creatividades finales de imagen y vídeo basadas en tu producto real con más de 100 modelos, y sube los recursos, así que “qué deberíamos publicar” y “constrúyelo” son una sola conversación en lugar de dos herramientas. Consulta el resumen del MCP de marketing, la lista completa de herramientas, o el MCP de Meta Ads si gestionas las dos.
Preguntas frecuentes
¿Hay un servidor MCP para Google Ads?
Sí. El servidor MCP de Hermoso crea y gestiona Google Ads desde cualquier cliente MCP: create_google_ads_campaign, create_google_ads_ad_group, create_google_ads_ad y add_google_ads_keywords para construir un árbol de Búsqueda o Display; create_google_ads_performance_max_campaign para Performance Max; set_google_ads_budget, set_google_ads_bidding y set_google_ads_targeting para configurar; google_ads_keyword_ideas para la investigación con el Planificador de palabras clave; list_google_ads_campaigns y google_ads_report para informes; lecturas de Merchant Center para el feed de producto detrás de una campaña de Shopping; y set_google_ads_status, con confirmación obligatoria, para activar.
¿Puede un agente de IA crear una campaña de Google Ads?
Sí, con toda la estructura: campaña, grupo de anuncios, anuncio de búsqueda adaptable o de display y palabras clave, todo en una sola operación atómica que usa ids de recurso temporales. Si se rechaza el anuncio, el presupuesto tampoco se crea, así que no te quedan objetos huérfanos que limpiar. Un modo de prueba valida la estructura contra la API en vivo sin crear nada.
¿Puede crear una campaña de Performance Max?
Sí. create_google_ads_performance_max_campaign crea el presupuesto, la campaña, la segmentación, el grupo de recursos y todos los enlaces de recursos en una sola operación atómica, porque Google los exige juntos. La campaña se crea pausada y se lee de vuelta antes de que el agente informe sobre ella. Los mínimos de recursos de Google se aplican antes de enviar nada: de 3 a 15 títulos, de 1 a 5 títulos largos, de 2 a 5 descripciones, un nombre de empresa, y al menos un logotipo, una imagen de marketing y una imagen de marketing cuadrada. PMax solo puja por conversiones, así que se niega a crearse en una cuenta sin acción de conversión activa, en lugar de crear una campaña que no puede optimizar. Performance Max de feed de Shopping (retail) funciona igual: pasa merchantCenterId y la campaña anuncia tu catálogo de Merchant Center, con feedLabel para limitarla a un solo feed, y la lectura indica la cuenta de Merchant Center y la etiqueta de feed que Google guardó realmente.
¿Funciona con Google Merchant Center?
Sí, lectura y escritura, sobre la misma conexión de Google. El agente puede listar las cuentas de Merchant Center a las que tu cuenta tiene acceso, leer los productos de un feed (el catálogo que realmente sirve una campaña de Shopping o de Performance Max de retail), y leer los problemas de nivel de cuenta que Google señala, que es el único sitio donde averiguar por qué un producto no se muestra, ya que un producto rechazado no tiene impresiones que mostrar en los informes de Google Ads. Google exige un registro único del proyecto de Cloud de Hermoso en tu cuenta de Merchant Center antes de que la API responda, y hay una herramienta que lo hace. También escribe: create_merchant_data_source, upsert_merchant_product, update_merchant_product para los cambios de precio y disponibilidad que se mueven a diario, y delete_merchant_product y delete_merchant_data_source, con confirmación obligatoria. Google solo acepta escrituras de producto en un origen de datos API, así que Hermoso resuelve un feed escribible por ti y se niega por nombre si la cuenta tiene varios.
¿Puede hacer investigación de palabras clave?
Sí. google_ads_keyword_ideas llama al Planificador de palabras clave de Google y devuelve volúmenes de búsqueda mensuales reales, competencia y rangos de puja de la parte superior de la página, a partir de palabras clave, una URL de página de destino o un sitio completo. El agente puede pasarlas directamente a add_google_ads_keywords, o escribirlas en una hoja de Google Sheets.
¿Puede empezar a gastar mi presupuesto de Google Ads?
Solo con una confirmación explícita. set_google_ads_status es el interruptor que activa dinero real, y como crear un hijo activado dentro de un padre ya activado se sirve en la siguiente subasta, la misma confirmación protege también create_google_ads_ad_group, create_google_ads_ad y add_google_ads_keywords cuando el padre está activo. Las palabras clave negativas solo restringen el gasto y nunca están sujetas a control.
¿Puede generar informes?
Sí. google_ads_report acepta GAQL arbitrario, así que el agente puede pedir la porción que necesite. Ten en cuenta que GAQL no es SQL: no tiene subconsultas e IN acepta una lista literal, así que un WHERE id IN (SELECT …) no es válido. Los resultados se pueden escribir directamente en una hoja o un documento de Google.
¿Qué pujas y segmentación puede configurar?
Seis estrategias de puja, programación de la campaña, y segmentación geográfica e de idioma, con find_google_ads_locations para localizar las ubicaciones por nombre. Los presupuestos se configuran con set_google_ads_budget, y las palabras clave admiten negativos y CPC por palabra clave.
¿El agente recibe mi contraseña de Google?
No. Conectas Google Ads mediante el flujo OAuth de Google en Configuración, Conectores de Hermoso, y Hermoso guarda el token resultante. El agente solo llama a las herramientas de Hermoso. Las conexiones de Google Ads se comparten a nivel de marca, así que todo un equipo trabaja con una sola conexión.
¿También puede crear la creatividad del anuncio?
Sí. El mismo servidor investiga los anuncios de la competencia, planifica el concepto, genera creatividades finales de imagen y vídeo con más de 100 modelos y tu producto real incluido, y sube los recursos con upload_google_ads_asset, así que la investigación, la creatividad y la construcción de la campaña ocurren en una sola conversación.
Conecta Google Ads una vez, y tu agente puede investigar el mercado, escribir el anuncio, construir la estructura e informar sobre ella, con una barrera firme antes de que se gaste nada.
Empieza gratis → Lee la documentación de MCP →