Google Ads MCP
Google Ads MCP
Google Ads MCP — это локальный MCP-сервер и плагин Codex только для чтения, с приоритетом безопасности, предназначенные для просмотра аккаунтов Google Ads. Версия 0.1.0 предоставляет ограниченный набор инструментов для инвентаризации, отчетности, метаданных, истории изменений и безопасного GAQL. Он не содержит возможностей записи, загрузки, планирования, удаления, оптимизации или размещенного транспорта.
Публичный дистрибутив Python называется google-ads-operator-mcp. Название продукта и имя команды остаются Google Ads MCP и google-ads-mcp.
Границы безопасности
Каждый запрос в рамках аккаунта указывает и профиль, и идентификатор клиента.
Учетные данные Google хранятся в Application Default Credentials или в явном файле
google-ads.yaml, доступном только владельцу, за пределами репозитория.accounts.jsonможет содержать только имя переменной окружения для токена разработчика, но никогда сам токен.allowWritesдолжно бытьfalse; любое другое значение отклоняется.Только
GoogleAdsService,CustomerServiceиGoogleAdsFieldServiceсоздаются производственным адаптером.Инструмент получает нормализованные строки, но никогда — клиент Google или необработанную оболочку ответа.
В режиме MCP stdout зарезервирован для JSON-RPC. Диагностика и очищенные коды ошибок отправляются в stderr.
Перед подключением производственного аккаунта прочтите SECURITY.md, PRIVACY.md и модель угроз.
Related MCP server: appstoreconnect-codex-mcp
Требования
Python 3.11, 3.12 или 3.13
Доступ к Google Ads API с токеном разработчика
ADC или отдельно хранимый
google-ads.yaml, доступный только владельцу
Руководствуйтесь официальными рекомендациями Google по токену разработчика, конфигурации Python-клиента и Application Default Credentials.
Локальная настройка
uv sync --frozen --all-groups
uv run --frozen google-ads-mcp version
uv run --frozen google-ads-mcp config initПосле публичного релиза автономный CLI также можно установить с помощью uv tool install google-ads-operator-mcp==0.1.0. Для финальной приемочной проверки чистого плагина используйте архив плагина из релиза, а не копию из дерева исходников.
Отредактируйте ~/.config/google-ads-mcp/accounts.json, замените публичные идентификаторы аккаунтов и восстановите права доступа только для владельца:
Достаньте GOOGLE_ADS_DEVELOPER_TOKEN из локального менеджера секретов, не помещая его значение в репозиторий или историю командной оболочки, затем выполните:
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-onlyНе вставляйте токен разработчика, OAuth refresh token, client secret, ADC JSON или содержимое YAML-файлов в этот репозиторий, issue, запись терминала или чат.
Конфигурация
Приоритет конфигурации: сначала --config, затем GOOGLE_ADS_MCP_CONFIG, затем ~/.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
}
]
}Для существующего YAML-файла клиента Google используйте {"type":"googleAdsYaml","path":"/absolute/owner-only/google-ads.yaml"}. Относительные пути и символические ссылки отклоняются. Сервер никогда не ищет учетные данные в формате YAML в рабочем каталоге или репозитории.
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 --stdioИнструменты MCP
Фиксированный набор возможностей v0.1:
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_searchТипизированные списки возвращают не более 200 элементов на страницу. Одна операция чтения Google ограничена 1 000 нормализованных строк. Пятиминутные курсоры привязаны к профилю и конкретному запросу; на профиль допускается не более 20 активных курсоров. Безопасный GAQL не использует курсор и требует один SELECT без комментариев, нечувствительный ресурс и LIMIT 1..1000.
Параметры, семантику подтверждений и поведение отчетов см. в docs/tools.md.
Плагин Codex
Корень репозитория является корнем плагина. .mcp.json вызывает ./bin/google-ads-mcp-launcher, который через stdio запускает только замороженное окружение uv. Неявный навык google-ads-operator обрабатывает все строки аккаунтов как ненадежные данные и никогда не предлагает недоступные инструменты изменения.
Репозиторий намеренно не создает и не изменяет запись в личном маркетплейсе. Установка из релизного архива проверяется отдельно на этапе приемки.
Проверка
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-operatorАвтоматизированная проверка не является приемкой на реальном аккаунте. Контрольные точки для тестового аккаунта и производственного режима только для чтения, описанные в docs/acceptance.md, остаются обязательными до выхода v0.1.0.
Лицензия
Apache-2.0. Google Ads — товарный знак Google LLC. Этот проект независим и не одобрен компанией 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