Repository navigation
Releases
Releases · mharnett/mcp-google-ads
v1.13.0
1.13.0 (2026-11-13)
Features
- add update_recommendation_subscriptions tool (auto-apply on/off) (#86) (9afea21)
- explicit SEARCH network settings and update_campaign_network_settings tool (#85) (b5625fc)
- google_ads_update_recommendation_subscriptions tool (9afea21)
- lead-form: qualifying questions, custom questions, webhook, validate_only (#90) (979647a)
- update_ad_final_urls: accept Demand Gen multi-asset ads (#84) (d72e5ec)
- video targeting tools (languages, channel exclusions, topics/segments, custom audiences, lookalikes, inventory) (#88) (91dd43e)
Bug Fixes
- bidding: Max Clicks needs a CPC ceiling; refuse it on Demand Gen (#95) (550b627)
- create_campaign: send campaign start and end dates as start_date_time/end_date_time (#93) (ee00099)
- create_campaign: send start and end dates as start_date_time/end_date_time (ee00099)
- create_lookalike_user_list: send seeds as seed_user_list_ids (#89) (62e7bb9)
- key recommendation subscription resource names by type name (#87) (efe0c59)
- key recommendation subscription resource names by type name, not enum number (efe0c59)
- lead-form: refuse qualifying + custom question mix; document preset-text limit (#91) (34c6e2f)
- mark truncated top-level arrays in safeResponse (#81) (cab425f)
- post large-change override alerts to #drak-ops, not DM (#83) (d18c246)
- post large-change override alerts to #drak-ops, not Mark's DM (d18c246)
v1.12.1
v1.12.0
1.12.0 (2026-10-29)
Features
- add google_ads_link_asset_to_ad_group (#72) (940feb4)
- budget magnitude ceiling, expected_old guard and override log on writes (#74) (9bc8f64)
- keyword labelling in pause_keywords and apply_label (#73) (b2277f9)
- never create or attach a lead form unless explicitly requested (#66) (db5f8a2)
Bug Fixes
v1.11.0
v1.10.0
1.10.0 (2026-09-03)
Features
- assets: add customer-level callout/structured-snippet/link tools (#32) (0edef8c)
- scripts: add git-history secret scanner for credential-hygiene audit (#36) (0d8be28)
- scripts: add pass/fail verdict helper for privatize-or-scrub decision (#39) (d04c106)
- scripts: add verdict helper for Forcepoint asset-refresh Acceptance check (#41) (d60e02d)
Bug Fixes
- campaign: set upgraded_targeting=false on DEMAND_GEN campaigns (#38) (a119d35)
- replaceSitelinkUrl: skip asset links whose parent campaign/ad group is REMOVED (#35) (79ae0e3)
- rsa: clone-and-swap must not require path1/path2 on the clone (#37) (335e080)
- scripts: distinguish real history rewrite from ordinary merges (#42) (dc1c691)
v1.9.0
1.9.0 (2026-08-01)
Features
- add google_ads_update_campaign_ad_rotation tool (#25) (205c83e)
- add google_ads_update_video_ad_videos — ad-level VIDEO channel video management (6a79491)
- bidding: add magnitude-ceiling guard to updateCampaignBidding (#29) (1e63b65)
- demand-gen: support video_asset_ids on DG multi-asset ad creation (#27) (5c8a68b)
- gaql: warn on campaign_shared_set queries without an ENABLED filter (f548b9f)
- gaql: warn when campaign_shared_set is queried without an ENABLED filter (895c7ae)
- google_ads_update_video_ad_videos — ad-level VIDEO channel video management (b3b7dab)
- guards: canonical claude-MM-DD-YY[-desc] audit-label format (#22) (a3d075c)
- labels: thread label_descriptor into the auto claude label (#23) (6241206)
Bug Fixes
- bidding: block silent portfolio-strategy detach, add explicit detach tool (#26) (f2e1c24)
- bidding: correct BIDDING_TYPE_ENUM_TO_NAME against real BiddingStrategyType enum (91ff035)
- bidding: stop update_campaign_bidding silently no-opping target-less MaxConv/MCV switches (#24) (04cce8b)
- geo: force positive_geo_target_type=PRESENCE on campaign creation (#28) (7d0b090)
- uniform return shape for updateVideoAdVideos no-op path (TS18048) (70aa59c)
v1.8.0
1.8.0 (2026-07-12)
Features
- dg-ad: support ad.name at creation (create tool) (12b2087)
Bug Fixes
- ci: pass EMBEDDED_* to the npm publish step (8891a16)
- ci: pass EMBEDDED_* to the npm publish step (638e2ff)
- ci: pin npm@11 for OIDC publish (npm@latest=12 dropped Node 20) (32dd7c7)
- ci: pin npm@11 for OIDC publish (npm@latest=12 dropped Node 20) (c00fbea)
- dg-ad: correct numeric-ID resolver + document multi-asset immutability (f371496)
- dg-ad: correct numeric-ID resolver + document multi-asset immutability (36a7b67)
v1.7.0
1.7.0 (2026-07-08)
Features
- oauth: publishable PKCE refresh-token flow + scope-from-config (decouple pilot) (#13) (ae28883)
- rsa: skip length check for countdown / IF-function fields (4a635df)
Bug Fixes
- create_responsive_search_ad now applies caller-supplied labels (#12) (b992395)
- critical: use TimeoutStrategy.Aggressive to actually abort hung requests (d641206)
- dg: gate update_demand_gen tool as write + sync stale fixtures (aeaf6f3)
- Remove long_headlines from update payload (API doesn't support updating) (4b85a39)
- resolve import and export issues from cascade failure (0f29924)
- rsa: count LOCATION insertion by default text, not literal length (69e101f)
v1.6.0
1.6.0 (2026-05-27)
Features
- add experiment lifecycle tools + fix arm batching and schedule/end/promote API calls (cc6cf6c)
- add rename_ad_group and link_asset_to_campaign tools (02297de)
- add update_ad_asset_automation tool for Demand Gen opt-outs (bbd09b4)
- auto opt-out new Demand Gen ads from auto-video and adaptive layouts (7ebfbc3)
Bug Fixes
- add list_experiments and get_experiment to READ_TOOLS fixture; add experiment builder (cf96a97)
- atomic portfolio-strategy detach when breaking shared budgets (874cd47)
Miscellaneous Chores
- bootstrap release-please at 1.6.0 (c452f99)
v1.0.0
Initial npm release of mcp-google-ads.
Features
- 35 tools: campaigns, ad groups, keywords, ads, tracking, negative keywords, GAQL
- MCC (Multi-Client Center) support with auto-context detection
- Safe by default: creates everything PAUSED, approval workflow for activations
- Comprehensive validation and resilience (retry + circuit breaker)
Install
npm install mcp-google-ads