Google Ads MCP server
Google Ads MCP server: 35 read tools, 13 opt-in preview-first writes.
1 stars593 downloads/wk
Reviews
Write oneNobody has reviewed Google Ads yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
Google Ads tools (46, 11 write)
write = sends, deletes, buys or postsRead from the package source without running it. The installed server may list more.
google_ads_apply_planPreview, validate and atomically apply a Google Ads v26 build/change plan: campaigns, budgets, ad groups, RSA/Display/Demand Gen ads, image/text/YouTube assets, PMax asset groups and links, keywords, geographic/language targeting listing groups and conversion action configuration (no conversion event uploads). Native REST camelCase fields; amounts are integer micros of the explicitly stated curren
google_ads_create_campaignwrite actionCreate 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 campaign budget too. Previews by default.
google_ads_generate_ad_group_themesOrganize supplied keywords into existing Google Ads ad groups. Returns suggested ad group/campaign pairings, normalized keyword text, and suggested match type without creating or editing keywords. Read-only Keyword Planner RPC.
google_ads_generate_keyword_forecast_metricsForecast clicks, CPC, cost, conversions, and CPA for a temporary keyword campaign. Supports location and language targeting, match type, three bidding strategies, explicit future dates, and an optional independent per-keyword breakdown. This read-only planless RPC does not create a campaign or saved plan.
google_ads_generate_keyword_historical_metricsGet Keyword Planner search-volume history for supplied keywords. Returns average monthly searches, monthly volumes (up to 48 months), latest volume, computed 3-month and YoY changes, competition, CPC/bid ranges, close variants, and optional device totals. This is a read-only planless RPC.
google_ads_generate_keyword_ideasDiscover 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-month/YoY changes, competition, bids, close variants, optional concepts, and pagination. Read-only; no plan is saved.
google_ads_get_account_detailsGet detailed information for a specific Google Ads customer account.
google_ads_get_account_hierarchyList accessible customers and, where possible, manager/client relationships from GAQL customer_client. Falls back to accessible customers if hierarchy queries are unavailable.
google_ads_get_adgroupsList ad groups for a Google Ads account, optionally filtered by campaign.
google_ads_get_bidding_strategiesList portfolio bidding strategies. Includes metrics only when startDate/endDate are provided; otherwise returns structure only.
google_ads_get_budgetsList campaign budgets with amount, status, delivery method, and recommended budget fields when supported.
google_ads_get_campaignsList campaigns for a Google Ads account with status, budget, channel type, and bidding strategy.
google_ads_get_change_eventsFetch recent change_event rows. Enforces Google Ads constraints: date window within the last 30 days and LIMIT <= 10000.
google_ads_get_conversion_actionsList conversion actions with status, type, category, primary/include-in-conversions flags, owner customer, and last activity dates when supported.
google_ads_get_demand_gen_assetsList Demand Gen ads (video responsive, multi-asset, carousel) with their referenced creatives resolved: stable image URLs and YouTube video IDs with embed and thumbnail URLs. Complements google_ads_get_pmax_assets, which covers Performance Max.
google_ads_get_insightsQuery Google Ads performance insights with intelligent query planning. Auto-generates GAQL, handles metric/segment incompatibilities by splitting queries. Use google-ads://metrics for available metrics, google-ads://dimensions for dimensions.
google_ads_get_keyword_performanceGet keyword-level performance data from keyword_view resource. Shows quality score, impressions, clicks, cost.
google_ads_get_landing_pagesFetch landing_page_view performance with final URL, campaign/ad group context, traffic, conversion, and landing-page quality metrics when supported.
google_ads_get_paid_organic_search_termsRead-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 unavailable.
google_ads_get_pmax_asset_diagnosticsRead-only Performance Max asset group diagnostics. Returns ad strength, asset coverage action items, primary status reasons, optional performance metrics, and optional top asset combinations.
google_ads_get_pmax_assetsList Performance Max asset group assets from asset_group_asset with asset group/campaign context and optional date-range performance metrics.
google_ads_get_pmax_placementsRead-only Performance Max placement diagnostics from performance_max_placement_view. Returns placement type, display name, target URL, campaign context, and impressions only.
google_ads_get_recommendationsList Google Ads recommendations with type, resource, campaign/ad group links, dismissed state, and impact when supported.
google_ads_get_search_termsFetch search term performance from search_term_view or campaign_search_term_insight depending on reportType.
google_ads_get_shopping_performanceRead-only Shopping performance report keyed by Merchant Center product dimensions. Useful for joining spend/conversions to merchant ID, item ID, title, brand, feed label, and custom labels.
google_ads_get_shopping_productsRead-only Merchant Center product catalog/eligibility report via shopping_product. Supports account, campaign, and ad group scopes with performance metrics when the account has Shopping/PMax e-commerce data.
google_ads_get_simulationsRead-only planning/forecast query for campaign, ad group, or portfolio bidding simulations. Returns simulation metadata and projected point lists when available, with a metadata fallback.
google_ads_get_video_uploadwrite actionRead the processing state and YouTube video ID of one Google Ads upload in the selected customer. Use only the returned videoId after state=PROCESSED. This is a read; it does not upload again.
google_ads_health_checkRead-only connectivity check. Verifies credential presence, Google Ads API access, login customer visibility, API version, and actionable warnings without returning secrets.
google_ads_list_accountsList Google Ads customer accounts accessible with the current credentials. If an accessible customer is a manager account, also attempts to include enabled child accounts from customer_client.
google_ads_list_image_assetsList the account's image asset library (FROM asset) with stable, publicly served full-size URLs on tpc.googlesyndication.com, dimensions, file size, and mime type. This is the whole stock and carries no notion of delivery: an asset uploaded in 2022 and never served appears exactly like one running today. Newest first, so a limit returns recent assets rather than an arbitrary slice, and the count i
google_ads_list_video_assetsList the account's YouTube video assets (FROM asset) with derived watch, embed, and public thumbnail URLs. This is the whole stock and carries no notion of delivery: an asset uploaded years ago and never served appears exactly like one running today. Newest first, so a limit returns recent assets rather than an arbitrary slice, and the count in the response is the account total. For a visual-only
google_ads_remove_video_uploadwrite actionRemove a video upload owned by the selected ad account. Deletes the uploaded YouTube video and can break ads referencing it. Preview and matching expectedPlanHash required. Google v26 marks title/description immutable; this tool does not pretend to edit them.
google_ads_rename_accountRename a Google Ads account (its descriptive name). Nothing else changes. Previews by default.
google_ads_rename_campaignRename a Google Ads campaign. The name is the only thing that changes: delivery, budget and targeting are untouched. Previews by default.
google_ads_run_gaqlwrite actionExecute a raw GAQL (Google Ads Query Language) query. Full flexibility for any reporting need. Example: SELECT campaign.name, metrics.impressions FROM campaign WHERE campaign.status = 'ENABLED' AND segments.date DURING LAST_30_DAYS ORDER BY metrics.impressions DESC LIMIT 100
google_ads_run_readonly_rpcwrite actionAdvanced read-only escape hatch for allowlisted Google Ads services outside GAQL: Audience Insights, Reach Planner, benchmarks, creator/trending insights, targeting suggestions, Smart Campaign suggestions, identity verification, invoices, and payments accounts. The operation is an enum; arbitrary paths and all mutations/uploads are impossible.
google_ads_search_fieldsSearch Google's live GoogleAdsField catalog. Discovers every queryable GAQL resource, attribute, segment, metric, enum value, and selectable-with compatibility relationship. Read-only and useful before a raw GAQL query.
google_ads_suggest_geo_targetsResolve up to 25 location names or geo target IDs to Google Ads geoTargetConstants. Returns criterion IDs, canonical names, target types, status, parents, locale, and approximate reach. Read-only.
google_ads_update_adgroup_bidwrite actionChange the default CPC bid of a Google Ads ad group. The amount is in the account currency (1.20 for 1.20 EUR). Has no effect on a campaign using an automated bidding strategy. Previews by default.
google_ads_update_adgroup_statuswrite actionPause, re-enable or remove a Google Ads ad group. Previews by default.
google_ads_update_campaign_budgetwrite actionChange 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_campaign_schedulewrite actionChange the start or end date of a Google Ads campaign. Dates are YYYY-MM-DD in the account time zone. Previews by default.
google_ads_update_campaign_statuswrite actionPause, re-enable or remove a Google Ads campaign. Previews by default: without confirm: true, the tool describes the change without applying it.
google_ads_upload_videowrite actionUpload MP4/WebM/QuickTime bytes (max 16 MiB) to the Google-managed YouTube channel for the selected ad account. Visibility is UNLISTED: viewable by anyone with the link, not private. Default preview omits bytes and returns planHash; confirm requires expectedPlanHash. This API has no validateOnly. After upload, query you_tube_video_upload.state and video_id with google_ads_run_gaql; only use the vi
google_ads_validate_queryValidate metric/dimension/resource compatibility BEFORE executing a query. Checks segment restrictions and resource availability.
Public scan report
scanner v0.1.10 · 2026-10-30 · same rubric, same numbers if you re-run it
- Code scan7 source files scanned25/25
- –Live reliabilityno gateway calls yet and no remote to proben/a
- –Tool poisoningtools not inspected (local package is not executed); not countedn/a
- Auth qualitystatic API keys via environment variables6/15
- Maintenancelast push 4 days ago15/15
- Maintainer identitynamespace and repository owner differ; website matches verified namespace6/10
How Google Ads compares
Against every graded MCP server, from our own scans and uptime checks. Updated after each scan run.
- Safety score
- 80/100
- higher than 60% of 48,243 servers
- Tools
- 46
- the typical server has 7
- Tools that change things
- 24%
- typical: 0%. Fewer write tools means less an agent can break
- GitHub stars
- 1
- more than 65% of 28,706 servers
- Downloads a week
- 593
- more than 90% of 12,306 servers with a package
What its tools let an agent do: 35 read · 11 change
Release history: 4 versions in the registry since 2026-08-30, latest 2026-10-26, typically one every 24 days.
Install Google Ads in Claude Code, Cursor or VS Code
Runs npx -y @getmcpads/google-ads-mcp-server on your machine. Read the scan report first; the gateway never runs local packages.
claude mcp add google-ads -- npx -y @getmcpads/google-ads-mcp-server
Grade history
- 2026-10-30restoreC → Bscore 80
Google Ads: common questions
- Is Google Ads MCP server safe?
- Mostly: it is graded B (80/100). Read the Google Ads safety report
- How do I install Google Ads?
- It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
- Does Google Ads need an API key?
- Yes. The registry entry asks for
GOOGLE_ADS_DEVELOPER_TOKEN,GOOGLE_ADS_CLIENT_SECRET,GOOGLE_ADS_REFRESH_TOKEN. - Is Google Ads maintained?
- The last commit was 10 days ago (2026-10-26). The latest release is v2.1.1.
- What can I use instead of Google Ads?
- Servers from other publishers that do the same job: AdLoop MCP server.
- How does Google Ads compare with other MCP servers?
- safety score 80/100 (higher than 60% of 48,243 servers); tools 46 (the typical server has 7); tools that change things 24% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.
Alternatives to Google Ads
Same job from other publishers: the closest match first, then the best rated.
- AdLoopGoogle Ads, Reddit Ads, GA4 and Tag Manager in your AI client, with a preview before every change.not reviewedEstablishedA