Google Ads MCP
Google Ads MCP
Google Ads MCP es un servidor MCP local, de solo lectura y centrado en la seguridad, además de un plugin de Codex, para inspeccionar cuentas de Google Ads. La versión 0.1.0 expone un conjunto acotado de herramientas de inventario, informes, metadatos, historial de cambios y GAQL seguro. No contiene capacidades de escritura, carga, programación, eliminación, optimización ni transporte alojado.
La distribución pública de Python se denomina google-ads-operator-mcp. El producto y el comando siguen siendo Google Ads MCP y google-ads-mcp.
Límite de seguridad
Toda solicitud limitada a una cuenta especifica tanto un perfil como un ID de cliente.
Las credenciales de Google permanecen en Application Default Credentials o en un
google-ads.yamlexplícito de solo propietario, fuera del repositorio.accounts.jsonsolo puede contener el nombre de una variable de entorno para el token de desarrollador, nunca el propio token.allowWritesdebe serfalse; cualquier otro valor se rechaza.El adaptador de producción solo construye
GoogleAdsService,CustomerServiceyGoogleAdsFieldService.Una herramienta recibe filas normalizadas, nunca un cliente de Google ni un envoltorio de respuesta sin procesar.
El modo MCP reserva stdout para JSON-RPC. Los diagnósticos y los códigos de error saneados se envían a stderr.
Lee SECURITY.md, PRIVACY.md y el modelo de amenazas antes de conectar una cuenta de producción.
Related MCP server: appstoreconnect-codex-mcp
Requisitos
Python 3.11, 3.12 o 3.13
Acceso a la API de Google Ads con un token de desarrollador
ADC, o un
google-ads.yamlde solo propietario almacenado por separado
Sigue las guías oficiales de Google para el token de desarrollador, la configuración del cliente de Python y Application Default Credentials.
Configuración local
uv sync --frozen --all-groups
uv run --frozen google-ads-mcp version
uv run --frozen google-ads-mcp config initDespués del lanzamiento público, la CLI independiente también se puede instalar con uv tool install google-ads-operator-mcp==0.1.0. Utiliza el archivo del plugin de la versión publicada, no una copia del árbol de fuentes, para la puerta de aceptación final del plugin limpio.
Edita ~/.config/google-ads-mcp/accounts.json, sustituye los ID de cuenta públicos y restaura los permisos de solo propietario:
Expón GOOGLE_ADS_DEVELOPER_TOKEN desde tu gestor de secretos local sin poner su valor en el repositorio ni en el historial del shell y, a continuación, ejecuta:
chmod 600 ~/.config/google-ads-mcp/accounts.json
gcloud auth application-default login
uv run --frozen google-ads-mcp config validate
uv run --frozen google-ads-mcp auth doctor --profile production-read-onlyNo pegues el token de desarrollador, el token de actualización de OAuth, el secreto de cliente, el JSON de ADC ni el contenido de YAML en este repositorio, en un issue, en una transcripción de terminal ni en un chat.
Configuración
La precedencia de la configuración es --config, luego GOOGLE_ADS_MCP_CONFIG y después ~/.config/google-ads-mcp/accounts.json.
{
"profiles": [
{
"name": "production-read-only",
"loginCustomerId": "1234567890",
"defaultCustomerId": "0987654321",
"auth": {
"type": "adc",
"developerTokenEnv": "GOOGLE_ADS_DEVELOPER_TOKEN"
},
"allowWrites": false
}
]
}Para un YAML de cliente de Google existente, usa {"type":"googleAdsYaml","path":"/absolute/owner-only/google-ads.yaml"}. Las rutas relativas y los enlaces simbólicos se rechazan. El servidor nunca busca credenciales YAML en el directorio de trabajo ni en el repositorio.
CLI
google-ads-mcp version
google-ads-mcp config init
google-ads-mcp config validate
google-ads-mcp auth doctor --profile <name>
google-ads-mcp accounts discover --profile <name>
google-ads-mcp serve --stdioHerramientas MCP
La superficie fija de v0.1 es:
auth_check customers_list
customer_get customer_hierarchy
account_health campaigns_query
campaign_inventory resource_metadata
reports_catalog report_run
change_events_query gaql_validate
gaql_searchLas listas tipadas devuelven un máximo de 200 elementos por página. Una única lectura de Google está limitada a 1.000 filas normalizadas. Los cursores de cinco minutos están vinculados al perfil y a la solicitud exacta, con un máximo de 20 cursores activos por perfil. El GAQL seguro no tiene cursor y requiere un único SELECT sin comentarios, un recurso no sensible y LIMIT 1..1000.
Consulta docs/tools.md para conocer los parámetros, la semántica de evidencia y el comportamiento de los informes.
Plugin de Codex
La raíz del repositorio es la raíz del plugin. .mcp.json invoca a ./bin/google-ads-mcp-launcher, que solo ejecuta el entorno uv congelado a través de stdio. La habilidad implícita google-ads-operator trata todas las cadenas de cuenta como datos no fiables y nunca propone herramientas de mutación no disponibles.
El repositorio no crea ni modifica deliberadamente ninguna entrada de marketplace personal. La instalación desde el archivo de la versión publicada se valida por separado durante la aceptación.
Verificación
uv run --frozen ruff check .
uv run --frozen pyright
uv run --frozen pytest
uv run --frozen python scripts/validate_read_only.py
uv run --frozen python scripts/validate_gaql_templates.py
uv run --frozen python ~/.codex/skills/.system/plugin-creator/scripts/validate_plugin.py .
uv run --frozen python ~/.codex/skills/.system/skill-creator/scripts/quick_validate.py skills/google-ads-operatorLa verificación automatizada no es lo mismo que la aceptación con una cuenta real. Las puertas de aceptación de la cuenta de prueba y de solo lectura en producción descritas en docs/acceptance.md siguen siendo obligatorias antes de v0.1.0.
Licencia
Apache-2.0. Google Ads es una marca comercial de Google LLC. Este proyecto es independiente y no cuenta con el respaldo de Google.
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 Servers
- AlicenseNot gradedqualityDmaintenanceEnables read-only access to SentinelOne's platform through MCP, allowing security investigations, threat hunting, and asset inventory queries via natural language.MIT
- AlicenseNot gradedqualityCmaintenanceEnables read-only interaction with App Store Connect via MCP tools, including listing apps, versions, builds, and review submissions, with compliance boundaries and no write operations by default.MIT
- AlicenseBqualityCmaintenanceRead-only MCP server for Google Ads, enabling querying campaigns, ad groups, ads, insights, and keywords without create/update/delete operations.9MIT
- AlicenseNot gradedqualityCmaintenanceProvides read-only access to Google Ads account data including campaigns, ad groups, keywords, and performance reports. Enables querying via GAQL through an MCP interface.MIT
Related MCP Connectors
Read-only MCP access to sessions, funnels, campaigns, errors, live visitors, and anomalies.
Read-only access to your VortexIQ store data: audits, KPIs, alerts, Brand DNA, reports, Ask VIQ.
Read-only Frasma MCP: profile, knowledge search, diagnostic handoff. No email.
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/zelentsov-dev/google-ads-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server