Skip to main content
Glama
google-ads-mcp

google-ads-mcp

by ZLeventer

google-ads-mcp

npm version npm downloads glama score Node.js MCP License: MIT

Google Ads 的 MCP 服务器 — 通过 Claude 诊断支出效率、展示份额和素材资源表现。

包含 22 种工具,涵盖广告系列、关键词、RSA(自适应搜索广告)、素材资源、受众群体、地理位置/设备细分、展示份额、竞价分析和预算进度,并提供原始 GAQL 查询入口。专为 B2B 付费搜索团队和代理商打造,用于进行真正的诊断,而不仅仅是仪表板式的“列出我的广告系列”查询。


为什么开发此工具

大多数 Google Ads MCP 服务器仅停留在“列出广告系列 + 基本指标”的层面。本工具旨在解决付费搜索团队真正关心的问题:哪些 RSA 素材资源被标记为“低 (LOW)”以便我进行替换,哪些关键词在零转化的情况下消耗了预算,在竞价分析中我输给了谁,我的移动端与桌面端 CPA 差距是多少,哪些广告系列目前受预算限制。这些都是你用来优化表现的关键杠杆,而它们在这里都是一等工具。

与官方 googleads/google-ads-mcp 的区别:支持 RSA 素材资源表现标签、竞价分析、展示份额分析、地理位置/设备细分、受众群体定位检查和预算进度。


Related MCP server: adops-mcp

示例提示词

安装后,您可以向 Claude 询问如下问题:

  • “本月我的展示份额与竞争对手相比如何?我最常输给谁?”

  • “列出所有表现标签为 LOW 的 RSA 素材资源,以便我替换它们。”

  • “过去 30 天内,哪些关键词在零转化的情况下花费最多?”

  • “所有广告系列中,移动端与桌面端的 CPA 差异是多少?”

  • “目前是否有广告系列受预算限制?显示‘因预算导致的展示份额损失 (Lost IS (Budget))’。”

  • “列出我的再营销受众群体,并告诉我哪些规模足够大,可以在搜索广告中进行定位。”


演示

🎥 演示视频即将推出 — 在 60 秒内通过 Claude 诊断浪费的支出。


功能

分类

工具

账户

列出账户、账户信息

广告系列

列出广告系列、广告系列表现、广告组表现

关键词

关键词表现、搜索字词报告

转化

按广告系列划分的转化、列出转化操作

广告文案 / RSA

列出带有广告强度的 RSA、RSA 素材资源表现标签

素材资源 / 附加信息

列出账户素材资源、广告系列素材资源

受众群体

列出用户列表、广告系列受众群体定位

表现

地理位置表现、设备表现、展示份额、竞价分析

预算

列出预算、预算进度

逃生舱

原始 GAQL 查询


前置要求

  • Node.js 20+

  • Google Ads 开发者令牌 (在此申请)

  • 来自 Google Cloud Console 的 OAuth 2.0 凭据(客户端 ID + 密钥)

  • 具有 https://www.googleapis.com/auth/adwords 范围的刷新令牌


环境变量

变量

必需

描述

GOOGLE_ADS_DEVELOPER_TOKEN

是

您的 Google Ads 开发者令牌

GOOGLE_ADS_CLIENT_ID

是

OAuth 2.0 客户端 ID

GOOGLE_ADS_CLIENT_SECRET

是

OAuth 2.0 客户端密钥

GOOGLE_ADS_REFRESH_TOKEN

是

OAuth 2.0 刷新令牌

GOOGLE_ADS_CUSTOMER_ID

是*

默认客户 ID(无短横线)。可在每次工具调用时覆盖。

GOOGLE_ADS_LOGIN_CUSTOMER_ID

否

用于 MCC 访问的经理账户 ID


使用方法

Claude Desktop (claude_desktop_config.json)

{
  "mcpServers": {
    "google-ads": {
      "command": "npx",
      "args": ["-y", "google-ads-mcp"],
      "env": {
        "GOOGLE_ADS_DEVELOPER_TOKEN": "YOUR_TOKEN",
        "GOOGLE_ADS_CLIENT_ID": "YOUR_CLIENT_ID",
        "GOOGLE_ADS_CLIENT_SECRET": "YOUR_CLIENT_SECRET",
        "GOOGLE_ADS_REFRESH_TOKEN": "YOUR_REFRESH_TOKEN",
        "GOOGLE_ADS_CUSTOMER_ID": "1234567890"
      }
    }
  }
}

Claude Code

{
  "mcpServers": {
    "google-ads": {
      "command": "node",
      "args": ["/path/to/google-ads-mcp/dist/index.js"],
      "env": {
        "GOOGLE_ADS_DEVELOPER_TOKEN": "YOUR_TOKEN",
        "GOOGLE_ADS_CLIENT_ID": "YOUR_CLIENT_ID",
        "GOOGLE_ADS_CLIENT_SECRET": "YOUR_CLIENT_SECRET",
        "GOOGLE_ADS_REFRESH_TOKEN": "YOUR_REFRESH_TOKEN",
        "GOOGLE_ADS_CUSTOMER_ID": "1234567890"
      }
    }
  }
}

Cursor (~/.cursor/mcp.json)

{
  "mcpServers": {
    "google-ads": {
      "command": "npx",
      "args": ["-y", "google-ads-mcp"],
      "env": {
        "GOOGLE_ADS_DEVELOPER_TOKEN": "YOUR_TOKEN",
        "GOOGLE_ADS_CLIENT_ID": "YOUR_CLIENT_ID",
        "GOOGLE_ADS_CLIENT_SECRET": "YOUR_CLIENT_SECRET",
        "GOOGLE_ADS_REFRESH_TOKEN": "YOUR_REFRESH_TOKEN",
        "GOOGLE_ADS_CUSTOMER_ID": "1234567890"
      }
    }
  }
}

Docker

docker build -t google-ads-mcp .
docker run --rm \
  -e GOOGLE_ADS_DEVELOPER_TOKEN=YOUR_TOKEN \
  -e GOOGLE_ADS_CLIENT_ID=YOUR_CLIENT_ID \
  -e GOOGLE_ADS_CLIENT_SECRET=YOUR_CLIENT_SECRET \
  -e GOOGLE_ADS_REFRESH_TOKEN=YOUR_REFRESH_TOKEN \
  -e GOOGLE_ADS_CUSTOMER_ID=1234567890 \
  google-ads-mcp

工具参考

工具

描述

gads_run_gaql

运行任何原始 GAQL 查询 — 自定义报告的逃生舱

gads_list_accounts

列出所有可访问的 Google Ads 账户

gads_account_info

名称、货币、时区、经理标志、状态

gads_list_campaigns

带有状态、渠道类型、出价策略的广告系列

gads_campaign_performance

展示次数、点击次数、CTR、CPC、费用、转化次数、CPA、ROAS

gads_ad_group_performance

带有广告系列上下文的广告组指标

gads_keyword_performance

带有匹配类型、质量得分、费用、转化次数的关键词

gads_search_terms_report

触发广告的实际用户查询 — 查找否定关键词和机会

gads_conversions_by_campaign

每个广告系列的转化次数 × 转化操作

gads_list_conversion_actions

所有带有类别、类型、统计方法的转化操作

gads_list_rsas

带有所有标题、描述、广告强度、审核状态的 RSA

gads_rsa_asset_performance

每个素材资源的表现标签:BEST / GOOD / LOW / PENDING / LEARNING

gads_list_assets

账户素材资源:附加链接、附加宣传信息、结构化摘要、图片

gads_campaign_assets

链接到广告系列的素材资源及其字段类型

gads_list_audiences

带有规模和匹配率的用户列表(再营销、客户匹配)

gads_campaign_audience_targeting

广告系列上的受众群体,包含出价调整和包含/排除设置

gads_geo_performance

按国家/地区、区域和城市划分的表现

gads_device_performance

按 MOBILE / DESKTOP / TABLET 划分的费用、转化次数、CPA

gads_impression_share

每个广告系列的搜索展示份额、因预算导致的展示份额损失、因排名导致的展示份额损失

gads_auction_insights

与竞争对手相比的展示份额、重叠率、胜出率

gads_list_budgets

所有预算:金额、投放方式、周期、建议预算

gads_budget_pacing

每个广告系列的费用与预算对比及利用率 %


从源码构建

git clone https://github.com/ZLeventer/google-ads-mcp.git
cd google-ads-mcp
npm install
npm run build

许可证

MIT — 版权所有 (c) 2026 Zach Leventer

Available Tools

22 tools
gads_account_infoA

Get basic info for the current Google Ads account: name, currency, timezone, manager flag, status.

Inputs: customer_id.

gads_ad_group_performanceB

Ad group performance with campaign context. Optional campaign_id filter. Default last 28 days, enabled ad groups.

Inputs: start_date, end_date, customer_id, limit, +2 more.

gads_auction_insightsB

Auction Insights report: impression share, overlap rate, outranking share, top-of-page %, and absolute top % vs competitors. Optional campaign filter.

Inputs: customer_id, start_date, end_date, campaign_id.

gads_budget_pacingA

Cost vs budget per campaign for the specified period with utilization percentage. Flags over- and under-pacing campaigns. Default last 28 days.

Inputs: customer_id, start_date, end_date.

gads_campaign_assetsA

Assets linked to campaigns with field type and status. Shows which extensions are active on which campaigns.

Inputs: customer_id, campaign_id.

gads_campaign_audience_targetingA

Audiences attached to campaigns with targeting setting (observation vs targeting) and bid modifier. Shows both inclusion and exclusion lists.

Inputs: customer_id, campaign_id.

gads_campaign_performanceA

Campaign-level performance: impressions, clicks, CTR, avg CPC, cost, conversions, conv value, CPA, ROAS. Defaults to last 28 days, enabled campaigns, sorted by cost desc.

Inputs: start_date, end_date, customer_id, limit, +2 more.

gads_conversions_by_campaignB

Conversions and conversion value broken down by campaign × conversion action. Sorted by conversions desc. Default last 28 days.

Inputs: start_date, end_date, customer_id, limit.

gads_device_performanceA

Clicks, cost, CTR, conversions, and CPA split by MOBILE / DESKTOP / TABLET per campaign. Default last 28 days.

Inputs: customer_id, start_date, end_date, campaign_id.

gads_geo_performanceB

Performance broken down by geographic location (country, region, city). Surfaces top and bottom geo segments by cost and conversions.

Inputs: customer_id, start_date, end_date, campaign_id, +1 more.

gads_impression_shareA

Search Impression Share, Lost IS (Budget), and Lost IS (Rank) per campaign. Identifies whether budget or Quality Score/bid is limiting reach.

Inputs: customer_id, start_date, end_date.

gads_keyword_performanceA

Keyword-level performance with match type, quality score, clicks, cost, conversions. Filter by campaign_id or ad_group_id. Default last 28 days, enabled keywords.

Inputs: start_date, end_date, customer_id, limit, +3 more.

gads_list_accountsA

List all Google Ads customer accounts the authenticated user has access to. Useful for finding customer IDs.

Inputs: no named parameters.

gads_list_assetsB

List account-level assets: sitelinks, callouts, structured snippets, images, call extensions, and more. Filter by asset type.

Inputs: customer_id, asset_type, limit.

gads_list_audiencesB

List user lists (remarketing audiences, customer match lists) in the account with size, eligibility, and match rate.

Inputs: customer_id, limit.

gads_list_budgetsB

All campaign budgets with daily/total amount, delivery method (STANDARD/ACCELERATED), period, and whether a recommended budget exists.

Inputs: customer_id.

gads_list_campaignsB

List campaigns in the account with name, status, channel type, bidding strategy, and date range. Filter by status (default ENABLED).

Inputs: status, customer_id, limit.

gads_list_conversion_actionsC

List all conversion actions configured in the account: name, category, type, whether included in Conversions metric, counting type.

Inputs: customer_id, status.

gads_list_rsasB

List Responsive Search Ads with all headlines, descriptions, Ad Strength rating, and approval status. Filter by campaign or ad group.

Inputs: customer_id, campaign_id, ad_group_id, limit.

gads_rsa_asset_performanceA

Asset-level performance labels (BEST / GOOD / LOW / PENDING / LEARNING) for RSA headlines and descriptions. Identifies which assets to keep, test, or replace.

Inputs: customer_id, ad_group_id, date_range.

gads_run_gaqlA

Escape hatch: run any raw GAQL query against Google Ads. Use when preset tools don't cover the report shape you need. Docs: developers.google.com/google-ads/api/docs/query/overview

Inputs: query (required), customer_id.

gads_search_terms_reportA

Search terms that triggered ads (the actual user queries, not your keywords). Essential for finding wasted spend and negative keyword candidates. Default last 28 days.

Inputs: start_date, end_date, customer_id, limit, +2 more.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

    TDQS

    A3.6/5.0

    Scored across 22 tools

    Disambiguation5/5

    Each tool targets a distinct aspect of Google Ads (account info, campaign performance, keyword performance, asset management, etc.). Even related tools like campaign_performance and ad_group_performance are clearly differentiated by level. No two tools appear to serve the same purpose.

    Naming Consistency4/5

    All tools share the 'gads_' prefix and use lowercase with underscores. The naming follows a descriptive phrase pattern (e.g., gads_campaign_performance, gads_rsa_asset_performance). While not strictly verb_noun, the convention is consistent and readable.

    Tool Count5/5

    22 tools is well-scoped for a comprehensive Google Ads server. It covers listing entities, performance reports across dimensions, conversion analysis, budget pacing, auction insights, and an escape hatch. Each tool earns its place without overwhelming the user.

    Completeness4/5

    The tool set covers most common reporting and listing needs (campaigns, ad groups, keywords, assets, audiences, conversions, etc.). Missing write operations (create/update/delete) but these are often out of scope for a reporting-focused MCP server. The GAQL escape hatch compensates for any missing report shapes.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      F
      maintenance
      MCP server for managing Google Ads, Meta Ads, LinkedIn Ads, and TikTok Ads via AI. 210+ tools including account audits, wasted spend detection, and PMax insights.
      2
      MIT
    • A
      license
      A
      quality
      C
      maintenance
      Cross-platform ad management MCP server for Google Ads and Meta Ads. Campaign analytics, A/B testing with z-test, anomaly detection, and budget reallocation. 15 tools, 60 tests.
      17
      92 npm
      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
      MCP server for managing Google Ads campaigns through the official Google Ads API, covering accounts, campaigns, budgets, keywords, search terms, and keyword ideas. It provides tools for both reading and mutating live ads data, such as pausing campaigns, updating budgets, and adding keywords.
      MIT