Skip to main content
Glama
ambo-sk

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_campaigncreate_ad_groupcreate_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 状态、开发者令牌是否存在,以及可访问的账户。

工具

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

mutatemutate_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 个月未使用。

-
license - not tested
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

  • Manage Google, Meta, Amazon, TikTok, LinkedIn & ChatGPT ads. 430 tools for campaigns & analytics.

  • OpenAI Ads MCP for ChatGPT Ads campaigns, creatives, audiences, insights, and conversions.

  • Search Meta, Google Ads, LinkedIn, and TikTok ad libraries plus creative analysis via MCP.

View all MCP Connectors

Latest Blog Posts

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/ambo-sk/mcp-google-ads'

If you have feedback or need assistance with the MCP directory API, please join our Discord server