Skip to main content
Glama
Google Ads MCP Worker

Google Ads MCP Worker

by ambo-sk

Google Ads MCP Worker

基于 Cloudflare Worker 的 Google Ads MCP 服务器。与 mcp-gsc 结构相同:TypeScript,通过 fetch 使用 REST,不依赖 Google 客户端库。

  • 在 API v25 上重新实现 FGRibreau/mcp-google-ads(Rust,API v23)

  • 认证:OAuth2 刷新令牌。Google Ads API 不接受服务账号,因此 GSC 的 JWT 方案在此不适用

  • 传输方式:流式 HTTP(/mcp)和传统 SSE(/sse)

写入操作不受保护。 没有试运行、没有预算上限、没有出价增幅限制、没有两步确认、没有审计日志。 每个变更工具都会立即作用于 customer_id 指向的账户。create_campaign、 create_ad_group 和 create_responsive_search_ad 默认使用 PAUSED 状态,但这只是默认值,你可以覆盖, 并非强制锁定。在信任该设置之前,请先指向测试账户。

设置

1. Google Ads 开发者令牌

经理(MCC)账户 → 工具与设置 → API 中心 → 申请开发者令牌。 在基本访问权限获批之前,该令牌仅适用于测试账户。

2. OAuth 客户端

  1. Google Cloud 控制台 → 选择/创建项目 → 启用 Google Ads API。

  2. API 和服务 → 凭据 → 创建凭据 → OAuth 客户端 ID → 桌面应用。

  3. 记下客户端 ID 和客户端密钥。

3. 刷新令牌

npm install --legacy-peer-deps
npm run token -- <CLIENT_ID> <CLIENT_SECRET>

打开浏览器,请求 adwords 范围,打印 GOOGLE_ADS_REFRESH_TOKEN。 使用有权访问你要管理的 Ads 账户的 Google 账号登录。

4. 部署

npx wrangler secret put GOOGLE_ADS_DEVELOPER_TOKEN
npx wrangler secret put GOOGLE_ADS_CLIENT_ID
npx wrangler secret put GOOGLE_ADS_CLIENT_SECRET
npx wrangler secret put GOOGLE_ADS_REFRESH_TOKEN
npx wrangler secret put MCP_AUTH_TOKEN     # any long random string: openssl rand -hex 32
npm run deploy

在 wrangler.jsonc 中设置非机密默认值:

变量

含义

GOOGLE_ADS_CUSTOMER_ID

默认账户,仅限数字。工具可通过 customer_id 参数按调用覆盖。

GOOGLE_ADS_LOGIN_CUSTOMER_ID

你的 MCC ID,以 login-customer-id 发送。如果不在经理账户下则留空。

GOOGLE_ADS_API_VERSION

默认为 v25。当 Google 发布新版本时在此更新。

本地开发:将 .dev.vars.example 复制为 .dev.vars,然后运行 npm run dev。

5. 连接客户端

claude mcp add --transport http gads https://gads-mcp.<your-subdomain>.workers.dev/mcp \
  --header "Authorization: Bearer <MCP_AUTH_TOKEN>"

Claude Desktop / 仅 stdio 客户端:

{
  "mcpServers": {
    "gads": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "https://gads-mcp.<your-subdomain>.workers.dev/mcp",
        "--header",
        "Authorization: Bearer <MCP_AUTH_TOKEN>"
      ]
    }
  }
}

然后调用 health_check —— 它会报告 OAuth 状态、开发者令牌是否存在,以及可访问的账户。

Related MCP server: Google Ads MCP

工具

46 个工具。每个面向客户的工具都接受可选的 customer_id 参数。

读取(21)

工具

功能

health_check

认证状态、API 版本、已配置的账户

list_accounts

可访问的账户(在 MCC 下时包含名称)

get_account_info

币种、时区、自动标记、测试账户标志

run_gaql

任意 GAQL 查询;默认使用 searchStream,当提供 page_size/page_token 时分页

get_campaign_performance

按费用统计的广告系列指标

get_ad_group_performance

广告组指标

get_ad_performance

广告指标,包含 RSA 标题/描述和批准状态

get_keyword_performance

关键词指标,包含匹配类型、质量得分、出价

get_search_terms

实际搜索词 —— 否定关键词来源

get_negative_keywords

广告系列/广告组/共享集否定关键词

get_geo_performance

按地理位置统计的指标

get_device_performance

按设备统计的指标

get_change_history

变更事件(API 保留 30 天)

list_assets

素材资源及其关联级别

get_policy_issues

被拒登和受限的广告及政策主题

get_conversion_actions

转化操作,包含类别、计数方式、回溯窗口

list_recommendations

Google 的建议及预估影响

search_geo_targets

地点名称 → 地理定位常量 ID

discover_keywords

根据种子词和/或 URL 获取关键词灵感

get_keyword_historical_metrics

固定关键词列表的流量/竞争度

get_keyword_forecasts

假设广告系列的预测

写入(25)

工具

功能

create_campaign_budget

每日预算,可共享或独立

create_campaign

广告系列 + 可选预算,一次调用完成

update_campaign

名称、状态、预算、日期、出价策略

create_ad_group / update_ad_group

广告组及默认每次点击费用

add_keywords / update_keyword

正面关键词、出价、最终到达网址

add_negative_keywords

广告系列或广告组否定关键词

create_responsive_search_ad

RSA,包含固定设置;发送前会检查长度限制

set_entity_status

暂停/启用/移除任何资源,按资源名称操作

add_geo_target

定位或排除地点,可包含出价调整

set_campaign_geo_target_type

存在性定位 vs 兴趣定位

set_ad_schedule

广告时段和出价调整

add_audience_targeting / create_custom_audience

受众群体

create_asset / attach_assets / remove_asset_link

附加链接、宣传信息、结构化摘要、文本、图片

create_conversion_action / update_conversion_action

转化设置,主要/次要

create_bidding_strategy

组合出价策略

apply_recommendation / dismiss_recommendation

执行或忽略 Google 的建议

mutate

对任何资源集合执行原始变更 —— 涵盖以上所有操作

mutate_batch

原子化 googleAds:mutate,跨资源使用临时 ID

mutate 和 mutate_batch 是逃生通道:Google 新增的任何内容,或没有对应命名工具的任何资源 (共享集、用户列表、素材组、实验、标签),都可以通过它们完成,无需修改代码。 两者都接受 validate_only 参数,用于手动试运行。

检查

npm run typecheck   # tsc --noEmit
npm test            # pure-logic selfcheck: micros, dates, resource names, bidding payloads

备注

  • 金额以货币单位(25.5)传入,内部转换为微单位。

  • 变更负载使用 YYYYMMDD 日期格式;报表使用 YYYY-MM-DD。工具统一接受 YYYY-MM-DD 并自动转换。

  • updateMask 使用 snake_case 字段名 —— 如果你为 mutate 手写操作时需要注意。

  • 访问令牌按 Worker 隔离区缓存;刷新令牌不会过期,除非被撤销或连续 6 个月未使用。

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables reading and modifying Google Ads accounts, including campaign management, ad status changes, budget updates, and more.
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    A comprehensive Google Ads MCP server providing ~47 tools for full read/write access to Google Ads accounts, including campaign management, ad creation, keyword management, and reporting.
    2
    Apache 2.0
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables reading and mutating Google Ads campaigns via MCP tools, and includes structured marketer workflows for search term mining, budget optimization, and weekly reviews.
    31 npm
    6
    MIT