Google Ads MCP Worker
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 客户端
Google Cloud 控制台 → 选择/创建项目 → 启用 Google Ads API。
API 和服务 → 凭据 → 创建凭据 → OAuth 客户端 ID → 桌面应用。
记下客户端 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 中设置非机密默认值:
变量 | 含义 |
| 默认账户,仅限数字。工具可通过 |
| 你的 MCC ID,以 |
| 默认为 |
本地开发:将 .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)
工具 | 功能 |
| 认证状态、API 版本、已配置的账户 |
| 可访问的账户(在 MCC 下时包含名称) |
| 币种、时区、自动标记、测试账户标志 |
| 任意 GAQL 查询;默认使用 |
| 按费用统计的广告系列指标 |
| 广告组指标 |
| 广告指标,包含 RSA 标题/描述和批准状态 |
| 关键词指标,包含匹配类型、质量得分、出价 |
| 实际搜索词 —— 否定关键词来源 |
| 广告系列/广告组/共享集否定关键词 |
| 按地理位置统计的指标 |
| 按设备统计的指标 |
| 变更事件(API 保留 30 天) |
| 素材资源及其关联级别 |
| 被拒登和受限的广告及政策主题 |
| 转化操作,包含类别、计数方式、回溯窗口 |
| Google 的建议及预估影响 |
| 地点名称 → 地理定位常量 ID |
| 根据种子词和/或 URL 获取关键词灵感 |
| 固定关键词列表的流量/竞争度 |
| 假设广告系列的预测 |
写入(25)
工具 | 功能 |
| 每日预算,可共享或独立 |
| 广告系列 + 可选预算,一次调用完成 |
| 名称、状态、预算、日期、出价策略 |
| 广告组及默认每次点击费用 |
| 正面关键词、出价、最终到达网址 |
| 广告系列或广告组否定关键词 |
| RSA,包含固定设置;发送前会检查长度限制 |
| 暂停/启用/移除任何资源,按资源名称操作 |
| 定位或排除地点,可包含出价调整 |
| 存在性定位 vs 兴趣定位 |
| 广告时段和出价调整 |
| 受众群体 |
| 附加链接、宣传信息、结构化摘要、文本、图片 |
| 转化设置,主要/次要 |
| 组合出价策略 |
| 执行或忽略 Google 的建议 |
| 对任何资源集合执行原始变更 —— 涵盖以上所有操作 |
| 原子化 |
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
Google Ads MCP: reports, search terms, negatives, budgets, campaigns. Approval on every write.
Google Ads MCP server — manage campaigns, keywords, and metrics.
Google Ads MCP with 20,000+ account peer context and staged approve-then-execute writes.
Manage Google Ads from ChatGPT, Claude or any MCP client. Sign in with OAuth or use an API key.
Related MCP Servers
- AlicenseBqualityBmaintenanceUnofficial Google Ads MCP for campaigns, keywords, budgets, reports and gated mutations.3071 npm4MIT
- AlicenseNot gradedqualityDmaintenanceEnables reading and modifying Google Ads accounts, including campaign management, ad status changes, budget updates, and more.MIT
- AlicenseNot gradedqualityDmaintenanceA 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.2Apache 2.0
- AlicenseNot gradedqualityDmaintenanceEnables reading and mutating Google Ads campaigns via MCP tools, and includes structured marketer workflows for search term mining, budget optimization, and weekly reviews.31 npm6MIT