Google Ads MCP
Servidor MCP local para la gestión completa de campañas de Google Ads, lecturas GAQL más escrituras seguras con un paso de simulación/confirmación antes de que se confirme cualquier cambio.
Documentación
Servidor Google Ads MCP
Un servidor MCP local para leer y escribir la API de Google Ads. Gestión completa de campañas con un flujo de seguridad de prueba/confirmación en cada escritura.
Requisitos previos
- Cuenta de Google Ads Manager (MCC) con un token de desarrollador.
Comprueba su nivel de acceso: Interfaz de Google Ads -> Herramientas y ajustes -> Configuración -> Centro de API.
- Prueba: solo puede llamar a cuentas de prueba. Solicita acceso Básico para tocar cuentas en vivo (la aprobación puede tardar unos días).
- Básico/Estándar: listo para cuentas en vivo.
- Un proyecto de Google Cloud con la API de Google Ads habilitada y un cliente OAuth2 de tipo Aplicación de escritorio (te proporciona un ID de cliente y un secreto de cliente).
Configuración
python -m venv .venv
. .venv/Scripts/activate # Windows PowerShell: .venv\Scripts\Activate.ps1
pip install -e ".[dev]"
# Mint a refresh token (one-off browser consent):
python scripts/generate_refresh_token.py --client-id XXX --client-secret YYY
cp .env.example .env # then fill in every value
Si tu pantalla de consentimiento de OAuth sigue en modo prueba, añade primero la cuenta de Google con la que inicias sesión como usuario de prueba (Consola de Cloud -> APIs y servicios -> Pantalla de consentimiento de OAuth -> Público); de lo contrario, el consentimiento falla con un error de verificación.
Una vez que .env contiene el ID y el secreto de cliente, python scripts/remint_refresh_token.py
vuelve a emitir un token de actualización caducado o revocado y reescribe .env en su lugar, sin
imprimir el secreto.
Nunca hagas commit de .env; está en gitignore, y es el único lugar donde las credenciales reales
deberían vivir.
Claves de .env: GOOGLE_ADS_DEVELOPER_TOKEN, GOOGLE_ADS_CLIENT_ID,
GOOGLE_ADS_CLIENT_SECRET, GOOGLE_ADS_REFRESH_TOKEN,
GOOGLE_ADS_LOGIN_CUSTOMER_ID (tu ID de MCC, los guiones son opcionales, se muestra
arriba a la derecha en la interfaz de Google Ads cuando inicias sesión en la cuenta de administrador).
Ejecutar las pruebas
pip install -e ".[dev]"
pytest -v
Registrar con Claude Code
Usa la ruta absoluta de Python del venv para que el registro funcione independientemente del
directorio desde el que se lance Claude Code (el servidor también resuelve .env desde la
raíz del proyecto, no desde el directorio de trabajo actual):
# Windows
claude mcp add google-ads -- "<REPO_PATH>\.venv\Scripts\python.exe" -m google_ads_mcp.server
# macOS / Linux
claude mcp add google-ads -- "<REPO_PATH>/.venv/bin/python" -m google_ads_mcp.server
Añade --scope user para que las herramientas estén disponibles en todos los proyectos en lugar de solo en este.
Seguridad en las escrituras
Cada herramienta de escritura usa por defecto una vista previa: valida el cambio con el
validate_only de la API y devuelve un confirmation_token. Para aplicar, llama a la misma herramienta de nuevo
con commit=true y ese token. La operación confirmada es byte por byte lo que se
previsualizó. Nada gasta dinero hasta que confirmes.
Herramientas
Lectura: list_accounts, run_gaql, get_campaigns, get_ad_groups,
get_keywords, get_performance.
Escritura (vista previa -> confirmación): create_campaign_budget, create_campaign,
update_budget, update_campaign_status, create_ad_group,
update_ad_group_status, create_responsive_search_ad, add_keywords,
add_negative_keywords, apply_mutate.