# @getmcpads/google-ads-mcp-server

Open-source MCP server for the Google Ads API. 31 read tools and 7 write tools that preview before they apply, full Keyword Planner, Reach Planner and GAQL access. Self-hosted, bring your own credentials.

- **Type:** MCP server
- **Trust:** 60/100 (B), scored on the package rubric
- **Verification:** community-indexed — nobody has claimed this listing
- **Version:** 1.0.2
- **Author:** GetMCPAds
- **License:** Apache-2.0
- **npm:** @getmcpads/google-ads-mcp-server
- **Source:** https://github.com/getmcpads-com/google-ads-mcp-server
- **Compatible clients:** claude-code, cursor, copilot, gemini (basis: transport)

## Trust

60/100 (B), scored on the package rubric
- Publisher verified: no
- Install scripts: nothing suspicious found
- Prompt-injection scan: not run
- Obfuscation scan: not run
- Evidence age: 2 days

## Security scan

- **Status:** clean
- **Scanned:** 2026-08-31T13:41:05.273Z
- **Version scanned:** 1.0.2
- **CVEs:** none found by OSV at scan time

## Tools

36 declared. Statically extracted from the shipped source — a floor on the surface, not a census.
- `google_ads_run_readonly_rpc` — Advanced read-only escape hatch for allowlisted Google Ads services outside GAQL: Audience Insights, Reach Planner, benchmarks, creator/trending insights, targe
- `google_ads_generate_keyword_historical_metrics` — Get Keyword Planner search-volume history for supplied keywords. Returns average monthly searches, monthly volumes (up to 48 months), latest volume, computed 3-
- `google_ads_generate_keyword_ideas` — Discover Keyword Planner ideas from up to 20 seed keywords, a URL, keywords plus URL, or a whole site. Returns historical volume, monthly trends, computed 3-mon
- `google_ads_generate_keyword_forecast_metrics` — Forecast impressions, clicks, CTR, CPC, cost, conversions, and CPA for a temporary keyword campaign. Supports targeting, negatives, match type, three bidding st
- `google_ads_search_fields` — Search Google's live GoogleAdsField catalog. Discovers every queryable GAQL resource, attribute, segment, metric, enum value, and selectable-with compatibility 
- `google_ads_suggest_geo_targets` — Resolve up to 25 location names or geo target IDs to Google Ads geoTargetConstants. Returns criterion IDs, canonical names, target types, status, parents, local
- `google_ads_generate_ad_group_themes` — Organize supplied keywords into existing Google Ads ad groups. Returns suggested ad group/campaign pairings, normalized keyword text, and suggested match type w
- `google_ads_list_accounts` — List Google Ads customer accounts accessible with the current credentials. If an accessible customer is a manager account, also attempts to include enabled chil
- `google_ads_get_account_details` — Get detailed information for a specific Google Ads customer account.
- `google_ads_run_gaql` — Execute a raw GAQL (Google Ads Query Language) query. Full flexibility for any reporting need. Example: SELECT campaign.name, metrics.impressions FROM campaign 
- `google_ads_get_insights` — Query Google Ads performance insights with intelligent query planning. Auto-generates GAQL, handles metric/segment incompatibilities by splitting queries. Use g
- `google_ads_get_campaigns` — List campaigns for a Google Ads account with status, budget, channel type, and bidding strategy.
- `google_ads_get_adgroups` — List ad groups for a Google Ads account, optionally filtered by campaign.
- `google_ads_get_keyword_performance` — Get keyword-level performance data from keyword_view resource. Shows quality score, impressions, clicks, cost.
- `google_ads_validate_query` — Validate metric/dimension/resource compatibility BEFORE executing a query. Checks segment restrictions and resource availability.
- `google_ads_health_check` — Read-only connectivity check. Verifies credential presence, Google Ads API access, login customer visibility, API version, and actionable warnings without retur
- `google_ads_get_account_hierarchy` — List accessible customers and, where possible, manager/client relationships from GAQL customer_client. Falls back to accessible customers if hierarchy queries a
- `google_ads_get_conversion_actions` — List conversion actions with status, type, category, primary/include-in-conversions flags, owner customer, and last activity dates when supported.
- `google_ads_get_change_events` — Fetch recent change_event rows. Enforces Google Ads constraints: date window within the last 30 days and LIMIT <= 10000.
- `google_ads_get_recommendations` — List Google Ads recommendations with type, resource, campaign/ad group links, dismissed state, and impact when supported.
- `google_ads_get_budgets` — List campaign budgets with amount, status, delivery method, and recommended budget fields when supported.
- `google_ads_get_bidding_strategies` — List portfolio bidding strategies. Includes metrics only when startDate/endDate are provided; otherwise returns structure only.
- `google_ads_get_search_terms` — Fetch search term performance from search_term_view or campaign_search_term_insight depending on reportType.
- `google_ads_get_landing_pages` — Fetch landing_page_view performance with final URL, campaign/ad group context, traffic, conversion, and landing-page quality metrics when supported.
- `google_ads_get_pmax_assets` — List Performance Max asset group assets from asset_group_asset with asset group/campaign context and optional date-range performance metrics.
- `google_ads_get_simulations` — Read-only planning/forecast query for campaign, ad group, or portfolio bidding simulations. Returns simulation metadata and projected point lists when available
- `google_ads_get_paid_organic_search_terms` — Read-only paid/organic search terms report. Uses paid_organic_search_term_view when available and falls back to paid-only search_term_view if organic fields are
- `google_ads_get_shopping_products` — Read-only Merchant Center product catalog/eligibility report via shopping_product. Supports account, campaign, and ad group scopes with performance metrics when
- `google_ads_get_shopping_performance` — Read-only Shopping performance report keyed by Merchant Center product dimensions. Useful for joining spend/conversions to merchant ID, item ID, title, brand, f
- `google_ads_get_pmax_placements` — Read-only Performance Max placement diagnostics from performance_max_placement_view. Returns placement type, display name, target URL, campaign context, and imp
- `google_ads_get_pmax_asset_diagnostics` — Read-only Performance Max asset group diagnostics. Returns ad strength, asset coverage action items, primary status reasons, optional performance metrics, and o
- `google_ads_rename_campaign` — Rename a Google Ads campaign. The name is the only thing that changes: delivery, budget and targeting are untouched. Previews by default.
- `google_ads_create_campaign` — Create a Google Ads campaign. It is always created PAUSED and there is no option to create it active: someone has to look at it before it spends. Creates the ca
- `google_ads_update_campaign_budget` — Change the daily budget of a Google Ads campaign. The amount is in the account currency (12.50 for 12.50 EUR). Previews by default.
- `google_ads_update_adgroup_bid`
- `google_ads_update_campaign_schedule`

## Install

**Verdict: review** — Installable, but 1 thing to check first: No publisher has proved control of this listing; it is indexed, not vouched for.
**Cautions** (coverage gaps and advisories — never blocking)
- No publisher has proved control of this listing; it is indexed, not vouched for.
**Config** (claude-code):
```json
"{\n  \"mcpServers\": {\n    \"google-ads-mcp-server\": {\n      \"command\": \"npx\",\n      \"args\": [\n        \"-y\",\n        \"@getmcpads/google-ads-mcp-server\"\n      ],\n      \"env\": {\n        \"GOOGLE_ADS_DEVELOPER_TOKEN\": \"<YOUR_GOOGLE_ADS_DEVELOPER_TOKEN>\",\n        \"GOOGLE_ADS_CLIENT_SECRET\": \"<YOUR_GOOGLE_ADS_CLIENT_SECRET>\",\n        \"GOOGLE_ADS_REFRESH_TOKEN\": \"<YOUR_GOOGLE_ADS_REFRESH_TOKEN>\"\n      }\n    }\n  }\n}"
```
**Credentials it will ask for** (names only — Forge never holds a value):
- `GOOGLE_ADS_DEVELOPER_TOKEN` — Google Ads Developer Token (required)
- `GOOGLE_ADS_CLIENT_SECRET` — Google Ads Client Secret (required)
- `GOOGLE_ADS_REFRESH_TOKEN` — Google Ads Refresh Token (required)
Placeholders only. Forge never holds, brokers, or transmits a credential value — replace each <YOUR_NAME> in your own config file. Do not send a value back to Forge; no Forge endpoint accepts one.
- This entry needs 3 credentials (3 required). The generated config carries placeholders, so it will fail in the editor rather than at runtime if they are left unset.

## Blast radius

Extensive blast radius — mutates data; holds an oauth grant.
- Floor 54, ceiling 54 (tier: extensive)
- This is impact, not likelihood. A high radius is not a defect: a filesystem server is supposed to write files. It is never part of the trust score.

## Machine-readable views of this entry

- Signed JSON: https://forgeregistry.com/api/v1/packages/%40getmcpads%2Fgoogle-ads-mcp-server
- Install plan: https://forgeregistry.com/api/v1/packages/%40getmcpads%2Fgoogle-ads-mcp-server/install-plan
- Alternatives: https://forgeregistry.com/api/v1/alternatives/%40getmcpads%2Fgoogle-ads-mcp-server
- HTML page: https://forgeregistry.com/registry/%40getmcpads%2Fgoogle-ads-mcp-server
- MCP: POST https://forgeregistry.com/api/mcp → `forge_get_package` / `forge_install_plan`

## About this document

Generated by Forge (https://forgeregistry.com) — a compact rendering of the same record served, signed, at the JSON URL above. Trust and scan facts are the registry's own measurements; anything Forge did not measure is named as unmeasured rather than omitted.
