Meta Pixel

Código abierto

Un servidor MCP para Google Ads que puedes alojar tú mismo

43 herramientas para que ChatGPT o Claude manejen tus cuentas de Google Ads —leer el rendimiento, investigar palabras clave, armar campañas, cambiar presupuestos— detrás de límites que el modelo no puede negociar.

Ver en GitHubEjecutarlodocker compose up

¿Es tu primera vez con esto? Nuestra explicación cubre qué es un servidor MCP para Google Ads, qué puede exponer y qué revisar antes de confiar en uno. Leer la explicación del servidor MCP

  • 43 herramientas
  • Licencia MIT
  • Java 21 · Spring Boot

Por qué esto es más difícil de lo que parece

Los tokens de desarrollador empiezan restringidos
Un token de desarrollador nuevo de Google Ads tiene acceso de Test Account y solo alcanza cuentas de prueba. Tu primera ejecución correcta devuelve listas vacías y parece un error. El acceso Basic requiere una solicitud y la aprobación tarda días, así que empieza por ahí.
Las cuentas administrador no tienen campañas
Google devuelve sobre todo cuentas administrador (MCC), que no pueden publicar anuncios. Las que sí pueden son sus cuentas hijas, y a cada una hay que dirigirse indicando el administrador desde el cual se encontró.
La API habla en micros
Los importes llegan en millonésimas. Un presupuesto de 5000000 son cinco unidades de moneda, y equivocarse por un millón no es un redondeo: es un incidente de gasto.
Los importes no traen moneda
Nada en la respuesta dice en qué moneda está un número. Si informas un presupuesto de una cuenta en UAH con signo de dólar, quien lo lea verá una cifra unas cuarenta veces mayor que la real.
GAQL no es SQL
No hay joins, y la segmentación cambia lo que significa una fila, no solo cuántas hay. Si pides la segmentación equivocada, tus totales se multiplican sin avisar.
Las versiones se retiran, no se marcan como obsoletas
Google apaga las versiones antiguas de la API en fechas publicadas. Una versión fija deja de funcionar un día determinado, así que tiene que ser configurable sin esperar una nueva release.

Lo que no va a hacer

Vale la pena leerlo antes del comando de instalación, porque un error acá gasta dinero real.

  • Nada se publica solo. La herramienta que crea campañas no tiene un campo de estado en su esquema, así que el modelo no puede crear una campaña activa ni intentándolo.
  • Solo se pueden activar las campañas que creó este servidor. Una hecha en la interfaz de Google Ads se rechaza, porque su presupuesto nunca pasó por el control del límite.
  • Una campaña no se puede eliminar mientras está activa. La eliminación rechaza cualquier campaña que no esté ya en pausa, y quien la pide tiene que repetir su nombre exacto, así que un id equivocado falla de forma ruidosa en lugar de destruir la campaña incorrecta. La eliminación es permanente: Google no ofrece vuelta atrás por la API.
  • Cada cambio de presupuesto se compara con un límite que tú defines, en la moneda de la propia cuenta publicitaria. El servidor rechaza el cambio; nunca lo reduce en silencio para que quepa.
  • Cada herramienta de escritura tiene un límite diario, así que un modelo atascado en un bucle no puede hacer cientos de cambios en una cuenta.
  • Un control aparte rechaza una ráfaga de llamadas en poco tiempo, sea cual sea la herramienta.
  • Por defecto autentica a un solo operador: una contraseña y una cuenta, no un inicio de sesión multiusuario que tengas que proteger.

Cómo encaja todo

mcp-core
La capa de protocolo y un pequeño servidor de autorización OAuth 2.1: registro dinámico de clientes, PKCE, rotación de refresh tokens con detección de reutilización y una pantalla de consentimiento. No sabe nada de publicidad, así que sirve para cualquier herramienta que quieras que un asistente ejecute.
cliente de google-ads
Un cliente de la API de Google Ads sin Spring y sin MCP. Se puede usar por separado desde cualquier código que necesite hablar con Google Ads, y por eso se publica como su propio artefacto.
servidor de google-ads
El servidor ejecutable: las 43 herramientas, los límites de gasto, el registro de auditoría de cada escritura y el flujo que conecta una cuenta de Google Ads.

Las 43 herramientas

Las de lectura necesitan permiso de lectura; las de escritura necesitan permiso de escritura y pasan por los límites de arriba.

  • Cuentas, facturación y ritmo de gasto — Listar las cuentas accesibles, revisar la configuración de facturación y ver el gasto de hoy frente al presupuesto de cada campaña.
  • Campañas — Listar, crear en pausa, activar, pausar, reanudar, eliminar definitivamente y cambiar presupuestos, ofertas, configuración, segmentación, negativas y objetivos de conversión.
  • Grupos de anuncios y anuncios — Crear y editar grupos de anuncios, listar anuncios con su veredicto de políticas, y crear o actualizar anuncios de búsqueda responsivos.
  • Palabras clave y términos de búsqueda — Listar, agregar, quitar y editar palabras clave, leer las consultas que la gente escribió de verdad y obtener ideas de palabras clave.
  • Performance Max — Leer y editar grupos de recursos, sus recursos y su contenido multimedia, los temas de búsqueda y los recursos de marca a nivel de campaña.
  • Vínculos a sitios — Listar, crear, actualizar y quitar vínculos a sitios a nivel de campaña.
  • Informes — Rendimiento por cuenta, campaña, grupo de anuncios o palabra clave, más geografía, audiencias y acciones de conversión.

Ejecutarlo tú mismo

La imagen publicada no necesita Java ni compilación. Copia el archivo de entorno de ejemplo, complétalo y arráncalo: cada valor está documentado en el mismo lugar donde lo defines.

ghcr.io/loomascale/google-ads-mcp
# 1. the compose file and the documented environment template
curl -O https://raw.githubusercontent.com/loomascale/ads-mcp/main/docker-compose.yml
curl -O https://raw.githubusercontent.com/loomascale/ads-mcp/main/.env.example

# 2. fill it in — every value says what it is and how to generate it
cp .env.example .env

# 3. start it; the image is prebuilt, so there is no JDK and no Maven here
docker compose up
tools/list
curl -s -X POST https://your-host/mcp \
  -H 'Authorization: Bearer <token>' \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' | jq '.result.tools[].name'

Un requisito es lento más que difícil: el token de desarrollador de Google Ads necesita una solicitud a Google y la aprobación tarda días. Empieza por eso antes que por nada más.

O sáltate la instalación

LoomaScale es un servidor MCP administrado para las mismas cuentas publicitarias, construido sobre las mismas herramientas. Sin solicitud de token de desarrollador, sin cliente OAuth que registrar, sin servidor que mantener. Empieza con una auditoría gratuita que lee tu cuenta e informa qué se está desperdiciando, antes de que pagues nada. Alojarlo tú mismo es una alternativa real y no un anzuelo: no se reserva nada del repositorio y el servidor nunca envía datos de vuelta.

Instalarlo es un clic desde el directorio del propio asistente: mira cómo conectar Claude a Google Ads, o la guía de configuración de ChatGPT.

Preguntas

¿El asistente puede gastar dinero sin preguntarme?

No puede publicar una campaña por su cuenta: la herramienta de creación no tiene campo de estado, así que una campaña activa no es algo que pueda expresar. Activarla es otra herramienta, que solo funciona con campañas creadas por este servidor, y cada cambio de presupuesto se compara con un límite que tú defines y se rechaza si lo supera.

¿Puede eliminar una campaña?

Sí, pero solo una campaña que ya esté en pausa y solo si se repite su nombre exacto como confirmación. Una campaña activa se rechaza hasta que la pauses. La eliminación es permanente: la API de Google Ads no ofrece vuelta atrás, así que pausar es la opción reversible.

¿Funciona con ChatGPT y con Claude?

Sí. Los dos se registran solos en el servidor con OAuth estándar, así que no hay ninguna clave que copiar. Eso sí, necesitan una dirección HTTPS pública, así que para probar en local usa un túnel en lugar de apuntarlos a localhost.

¿Necesito una cuenta administrador de Google Ads?

La necesitas para solicitar el token de desarrollador. No hace falta configurar nada más: el flujo de conexión recorre las cuentas que alcanza tu acceso, descarta las cuentas administrador que no pueden publicar anuncios y guarda cómo dirigirse a cada cuenta restante.

¿Qué guarda?

Tus credenciales de Google, cifradas en reposo, y un registro de auditoría de cada escritura que hizo. Los datos de las campañas siguen en Google Ads y se leen cuando se necesitan, no se copian.

¿A la versión autoalojada le faltan funciones?

No. Las herramientas y los límites que hay acá son los que se extrajeron del producto, no un conjunto reducido. Lo que agrega la versión administrada es la mitad comercial —cuentas, facturación, límites de uso y el panel— y en la versión abierta eso son interfaces reemplazables, no huecos.

¿Prefieres que funcione por ti?

La versión administrada empieza con una auditoría gratuita de tu cuenta de Google Ads.

Ver qué encuentra

Conecta tu asistente a tu plataforma de anuncios

LoomaScale funciona dentro del asistente que ya usas. Elige tu combinación; cada guía toma unos cinco minutos.

ChatGPT
Google Ads

Gestiona campañas de Google Ads desde ChatGPT: términos de búsqueda, presupuestos y campañas nuevas, en pausa hasta que las revises. Instalación en un clic desde el directorio de ChatGPT.

Leer la integración
Claude
Google Ads

Gestiona Google Ads desde Claude: auditorías, cambios de presupuesto y campañas nuevas, cada escritura dentro del tope de gasto que fijas. Conexión desde el directorio de Claude.

Leer la integración
Claude Code
Google Ads

Instala el plugin de LoomaScale en Claude Code con dos comandos y audita Google Ads desde tu terminal: términos de búsqueda, presupuestos y ritmo de gasto, con skills incluidas.

Leer la integración
Codex
Google Ads

Instala el plugin de LoomaScale en OpenAI Codex con dos comandos y audita Google Ads desde tu terminal: términos de búsqueda, presupuestos y objetivos de conversión.

Leer la integración
ChatGPT
Meta Ads

Gestiona campañas de Facebook e Instagram desde ChatGPT: conjuntos de anuncios, presupuestos y creativos en un solo chat. La misma instalación en un clic.

Leer la integración
Claude
Meta Ads

Gestiona campañas de Facebook e Instagram desde Claude: auditorías, topes de presupuesto y conjuntos de anuncios nuevos, dentro de los límites que fijas.

Leer la integración
Claude Code
Meta Ads

Revisa campañas de Facebook e Instagram desde Claude Code: el mismo plugin, un solo inicio de sesión y skills para auditar gasto, ritmo y fatiga de creativos.

Leer la integración
Codex
Meta Ads

Revisa campañas de Facebook e Instagram desde OpenAI Codex: el mismo plugin e inicio de sesión, con revisión de ubicaciones, edades y calidad de leads.

Leer la integración
Manus
Google Ads

Conecta Manus a Google Ads con el servidor MCP de LoomaScale. Analiza campañas, palabras clave y búsquedas; solicita cambios dentro de tus permisos y límite de gasto.

Leer la integración
Slack
Google Ads

Pregúntale a Slackbot por Google Ads en cualquier mensaje directo de Slack: auditorías, términos de búsqueda y ritmo de gasto, con cambios dentro de tu límite. La app se instala una vez por espacio de trabajo.

Leer la integración
Manus
Meta Ads

Conecta Manus a Meta Ads con el servidor MCP de LoomaScale. Revisa campañas, conjuntos de anuncios, creativos y ubicaciones de Facebook e Instagram.

Leer la integración
Slack
Meta Ads

Pregúntale a Slackbot por tus campañas de Facebook e Instagram en cualquier mensaje directo de Slack: entrega, ritmo de gasto y gasto por conjunto de anuncios, leídos en vivo desde Meta Ads.

Leer la integración