Google Ads Manager Mcp

io.github.AleemHaider由 GitHub 账号 AleemHaider 发布v1.0.0更新于 Oct 24, 2026

Unofficial MCP server for Google Ads: reporting plus safe draft/confirm campaign management.

已验证STDIO仅桌面数据与分析商业与电商

概览

AI 生成的概览

本地 MCP 服务器,让助手运行 Google Ads 报表,并以草稿加确认的方式管理广告系列与关键字。

可以做什么
它把助手连接到单个 Google Ads 账户,既可读取也可写入。读取工具可列出可访问的客户账户、执行任意 GAQL SELECT 查询,并获取广告系列、广告组、关键字和搜索词及其指标。写入工具可创建广告系列、预算、广告组、关键字、否定关键字和自适应搜索广告,或更改其状态。每次写入都会先校验并返回带预览的 draftId,只有调用 confirm_write 才会真正生效,草稿 10 分钟后过期。
适用场景
当你希望助手既查看 Google Ads 效果,又进行受控改动(例如暂停广告系列、调整预算、添加关键字)时适合使用。它面向单个账户,若在经理账户下有多个客户账户,可为每个客户 ID 各运行一个实例。若只需要只读报表,则不必安装,Google 官方服务器已覆盖该场景。
运行要求
以 npm 包形式通过 stdio 在本地运行,需要 Node.js。需要 Google Ads 开发者令牌、Google Cloud OAuth 桌面应用客户端 ID 与密钥、由项目认证脚本生成的刷新令牌,以及目标客户 ID;若目标账户隶属于经理账户,还需经理账户 ID。凭据通过环境变量提供,例如 GOOGLE_ADS_CLIENT_ID、GOOGLE_ADS_CLIENT_SECRET、GOOGLE_ADS_DEVELOPER_TOKEN、GOOGLE_ADS_REFRESH_TOKEN 和 GOOGLE_ADS_CUSTOMER_ID。仅支持桌面端。
安装前请注意
该服务器持有可访问真实广告账户的 OAuth 凭据和开发者令牌,请将 GOOGLE_ADS_CLIENT_SECRET、GOOGLE_ADS_DEVELOPER_TOKEN 和 GOOGLE_ADS_REFRESH_TOKEN 视为机密。写入工具可更改或移除广告系列、广告组、关键字和预算,确认后的改动会影响真实花费;新建广告系列和广告默认处于暂停状态。草稿 10 分钟后过期,需及时确认。这是非官方社区项目,与 Google 无关联。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Google Ads Manager Mcp,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

Google Ads Manager MCP

Unofficial, community-maintained project. Not affiliated with, endorsed by, or sponsored by Google. "Google Ads" is a trademark of Google LLC.

A local MCP (Model Context Protocol) server that lets an AI assistant read and manage a Google Ads account: run GAQL reports, create campaigns, pause/enable campaigns, and add keywords.

Google also publishes an official Google Ads MCP server, which is read-only (reporting/diagnostics only). This project covers the same reporting ground and adds write support — creating and editing campaigns, budgets, ad groups, keywords, and ads — gated behind a draft/confirm safety layer so nothing changes in your account by accident.

Every write goes through a draft → confirm safety flow: the tool that "creates" or "updates" something only validates the change against Google's API (validate_only) and hands back a draftId with a preview. Nothing changes in your Ads account until you call confirm_write with that draftId. Drafts expire after 10 minutes.

Tools

Read-only:

  • list_accessible_customers — which accounts this refresh token can reach
  • search_gaql — run any raw GAQL SELECT query
  • get_campaigns — campaigns with status, budget, and core metrics
  • get_ad_groups — ad groups (optionally filtered to a campaign) with metrics
  • get_keywords — keyword criteria with match type, status, and metrics
  • get_search_terms — actual search terms that triggered your ads, for finding negative keyword candidates

Write (draft → confirm):

  • create_campaign — new campaign + budget, created PAUSED unless you say otherwise
  • update_campaign_status — enable / pause / remove a campaign
  • update_campaign_budget — change an existing campaign's daily budget
  • add_keywords — add keyword criteria to an ad group
  • create_ad_group — new ad group inside an existing campaign
  • update_ad_group_status — enable / pause / remove an ad group
  • update_keyword_status — enable / pause / remove a keyword criterion
  • add_negative_keywords — add negative keyword criteria to an ad group
  • create_responsive_search_ad — new responsive search ad, created PAUSED unless you say otherwise
  • confirm_write — execute a previously returned draftId for real

Setup

1. Google Ads developer token

Google Ads → Tools & Settings → API Center. Test-account tokens are issued instantly; a production-level token requires Google's manual review (roughly 1-2 weeks), so apply for that early if you'll use this beyond a test account.

2. OAuth client

Google Cloud Console → APIs & Services → Credentials → Create credentials → OAuth client ID. Choose application type Desktop app. Copy the client ID and client secret.

3. Configure environment

bash
cp .env.example .env

Fill in GOOGLE_ADS_CLIENT_ID, GOOGLE_ADS_CLIENT_SECRET, GOOGLE_ADS_DEVELOPER_TOKEN, and GOOGLE_ADS_CUSTOMER_ID (the account this server should manage — 10 digits, dashes optional). If that account is a client under a manager (MCC) account, also set GOOGLE_ADS_LOGIN_CUSTOMER_ID to the manager account's ID.

4. Get a refresh token

bash
npm installnpm run auth

This opens an authorization URL — open it, sign in with the Google account that has access to your Ads account, approve the adwords scope. The script prints a GOOGLE_ADS_REFRESH_TOKEN; add it to .env.

5. Build

bash
npm run build

6. Point your MCP client at it

For Claude Desktop / Claude Code, add to your MCP config:

json
{  "mcpServers": {    "google-ads-manager": {      "command": "node",      "args": ["/absolute/path/to/google ads manger mcp/build/index.js"],      "env": {        "GOOGLE_ADS_CLIENT_ID": "...",        "GOOGLE_ADS_CLIENT_SECRET": "...",        "GOOGLE_ADS_DEVELOPER_TOKEN": "...",        "GOOGLE_ADS_REFRESH_TOKEN": "...",        "GOOGLE_ADS_CUSTOMER_ID": "..."      }    }  }}

(Or skip the env block and just make sure .env is populated — the server loads it via dotenv when run directly, e.g. npm run dev during local iteration.)

Notes

  • This is scoped to a single Google Ads account (GOOGLE_ADS_CUSTOMER_ID). To manage several client accounts under one manager account, either run one instance per customer ID, or extend googleAdsClient.ts to accept a customerId argument per tool call.
  • New campaigns default to PAUSED (startEnabled: false) so nothing spends until you explicitly enable it.

Contributing

Issues and PRs welcome — new report types, negative-keyword-at-campaign-level support, and multi-account (MCC) handling are the most useful next additions.

License

MIT

来源:README.md,提交 d2646b7

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v1.0.0最新Sep 16, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分