Skip to main content
Glama
649,985 tools. Updated 2026-10-10 08:24

"Google Ads" matching MCP tools:

  • Set which Google Ads account is the user's MCC (My Client Center / manager). This becomes the `login-customer-id` HTTP header for every subsequent Google Ads API call against a sub-account under the manager. Required for agency users with multiple client accounts under one MCC; single-account users normally don't need to call this. Validates that the customerId is in the user's accessible-accounts list AND that Google Ads reports it as a manager account (`isManager=true`). Pass a sub-account ID and the call rejects. After setting, the displayed names of sibling sub-accounts in list_ad_accounts will resolve correctly instead of falling back to 'Account 1234567890'.
    Connector
    Destructive
    OAuth
  • Add a labeled list of offerings (structured snippet) shown beneath a Google Ads ad — a category header plus 3-10 short items, e.g. header "Brands" with values "Nest", "Nexus", "Chromebook", or header "Services" with "Hosting", "DNS", "CDN". Helps searchers self-qualify before clicking. ALSO KNOWN AS: structured snippet, snippet, category list, offering list, header values, product list, service list KEYWORDS: structured snippet, snippet, header, values, brands, services, products, courses, destinations, list, category, google ads, extension WHEN TO USE: - "Add a structured snippet listing our service tiers" - "Create a snippet under 'Brands' with Nest, Nexus, Chromebook" - "Register a list of supported integrations as a snippet extension" - "Show our product categories below our Google Ads" WHEN NOT TO USE: - Want a single phrase (e.g. "Free Shipping") → use create_google_callout_extension - Want clickable links to subpages → use create_google_sitelink_extension - Want a pricing table (with amounts) → use create_google_price_extension - Same snippet for Microsoft Ads / Bing → use create_microsoft_structured_snippet_extension INPUTS: - header: snippet category title (1-25 chars). The Google-Ads vocabulary requires picking one of Google's predefined header names ("Brands", "Models", "Service catalog", "Insurance coverage", etc.) — pass the chosen header string here. - values: 3-10 items, each 1-25 chars. EXAMPLE: create_google_structured_snippet_extension( header="Brands", values=["Nest", "Nexus", "Chromebook"], )
    ConnectorAPI key
  • Changes for Google Ads: the 38 Google Ads tools that create, update, pause or remove something. Reading, listing or checking anything is not here — that is google_ads, and calling this router to look something up is always wrong. google_ads_write(action="execute", tool_name="…", arguments={...}); execute is the only action, and google_ads(action="get_tool_schema") looks a tool up for free. Each call creates a proposal the user approves before anything changes; creates are PAUSED. One account per call, no fan-out. Tools by category: **audiences** google_add_audience_signal, google_add_search_themes, google_remove_search_themes **assets** google_add_call_asset, google_add_callouts, google_add_image_assets, google_add_sitelinks, google_add_structured_snippets, google_remove_asset_links, google_set_business_name **keywords** google_add_keywords, google_add_negative_keywords, google_bulk_update_keyword_bids, google_bulk_update_keyword_status, google_remove_negative_keywords, google_update_keyword **management** google_apply_label, google_create_label, google_pause_ad, google_pause_ad_group, google_pause_campaign, google_remove_label, google_resume_ad, google_resume_ad_group, google_resume_campaign, google_set_device_bid_modifiers, google_update_bid_strategy, google_update_campaign, google_update_campaign_budget, google_update_campaign_networks **conversions** google_create_conversion_action, google_update_conversion_action **creation** google_create_pmax_campaign, google_create_responsive_search_ad, google_create_search_campaign **targeting** google_set_ad_schedule, google_update_campaign_languages, google_update_campaign_locations
    Connector
    Destructive
    OAuth
  • Reads and tool lookup for Meta Ads; nothing called here changes anything. The 16 Meta Ads tools that change something run through meta_ads_write. meta_ads(action="execute", tool_name="…", arguments={...}). action="list_tools" (the write half included) and action="get_tool_schema" are free; never guess a tool_name. accounts=["…","…"] or accounts="all_active": one read across up to 20 Meta Ads accounts, free like every read. Not in this router, called by name: meta_get_campaign_performance (meta campaign performance). Tools by category: **analysis** meta_analyze_audiences, meta_analyze_wasted_spend, meta_detect_creative_fatigue, meta_get_audience_insights, meta_optimize_budget, meta_optimize_placements **targeting** meta_browse_targeting, meta_get_ad_set_delivery_estimate, meta_get_ad_set_targeting, meta_search_targeting **diagnostics** meta_explain_anomaly, meta_validate_creative_url **assets** meta_get_ad_creatives, meta_list_instagram_accounts, meta_list_media, meta_list_pages, meta_list_promotable_apps **performance** meta_get_ad_performance, meta_get_adset_performance **structure** meta_get_lead_form_submissions, meta_list_ad_sets, meta_list_ads, meta_list_campaigns, meta_list_lead_forms **audiences** meta_list_custom_audiences, meta_list_saved_audiences **conversions** meta_list_pixels
    ConnectorOAuth
  • Discover the AdKit MCP contract with progressive drill-down. Top-level paths: "manage" (campaigns, accounts, and reporting across Meta, Google, TikTok, Reddit, X, and LinkedIn, plus Microsoft and ChatGPT Ads raw access and drafts), "integrations" (read-only GA4 data), "library" (browse ads, advertisers, and inspiration boards), and "studio" (AI static ad generation). Start with adkit_help() for the root overview, or drill down like adkit_help({ path: "manage google campaigns create" }). A keyword search with q, e.g. adkit_help({ q: "keyword planner" }) → "manage google research keywords", covers the full command catalog: a capability missing from one drill-down path may still exist under another.
    ConnectorAPI key
  • Permanently remove an ad group from a live Google Ads campaign. All keywords and ads in it stop serving. **Irreversible** — Google Ads sets status=REMOVED rather than truly deleting, but the only way back is to recreate the ad group + keywords + ads from scratch. Prefer pause_campaign (whole campaign) or remove_keywords (specific keywords) for less drastic interventions. Use this only when a whole thematic block of the campaign needs to go (e.g. 'commercial leads' ad group when the user pivots to residential-only).
    Connector
    Destructive
    OAuth

Matching MCP Servers

  • A
    license
    A
    quality
    A
    maintenance
    Self-hosted Google Ads MCP server: 35 read tools and 10 opt-in, preview-first write tools. Maintained source relocated from getmcpads-com/google-ads-mcp-server; npm package remains @getmcpads/google-ads-mcp-server.
    35
    79 npm
    Apache 2.0
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables complete management of Google Ads, including CRUD operations, dashboards, reporting, and all features from the Google Ads panel.
    21 npm
    MIT

Matching MCP Connectors

  • Attach the business logo to a Google Ads text ad for brand recognition. BETA. References a single image-library asset (the logo) and optionally pairs it with the business name and domain (the latter two are also used when the same logo is reused for Microsoft Ads). ALSO KNOWN AS: business logo, brand logo, logo, company logo, brand mark, mark, identity asset KEYWORDS: logo, business logo, brand, brand mark, identity, company logo, brand recognition, BETA, google ads, extension WHEN TO USE: - "Add our business logo to our Google Ads" - "Create a logo extension referencing image library ID 123" - "Attach the Acme Corp logo to our search ads for brand lift" WHEN NOT TO USE: - Multiple product / lifestyle shots → use create_google_image_extension - The logo is not yet in the image library — upload it first, then call this with the resulting ID. - Same logo for Microsoft Ads / Bing → use create_microsoft_business_logo_extension INPUTS: - image_library_id (required): single image library ID pointing to the logo asset. - business_name: business name displayed alongside the logo (≤25 chars). Required if the same library entry is also used for Microsoft Ads. - domain_name: business domain (≤50 chars). Used by Microsoft Ads. EXAMPLE: create_google_business_logo_extension( image_library_id=123, business_name="Acme Corp", domain_name="acme.com", )
    ConnectorAPI key
  • ÉCRITURE GARDÉE : met un mot-clé en pause (réversible dans Google Ads). ids via ads_keywords. Sans confirm:true : dry-run validé par Google. Pilotage requis (write_enabled) ; journalisé.
    ConnectorNo auth
  • ÉCRITURE GARDÉE : met un mot-clé en pause (réversible dans Google Ads). ids via ads_keywords. Sans confirm:true : dry-run validé par Google. Pilotage requis (write_enabled) ; journalisé.
    ConnectorNo auth
  • List all Google Ads MCCs and ALL customer accounts the OAuth token can access (via customers:listAccessibleCustomers — not just hierarchy of the MCC). Each customer comes enriched with descriptive_name, currency_code, time_zone, manager flag, status. Use the returned customer_id (10 digits) in `customer_id` on other tools, and `account` to pick the MCC connection when multiple are present. Bulk support: accepts customer_ids for batched execution.
    ConnectorNo auth
  • Change history / audit log: who changed what in the account and when. Covers campaigns, ad groups, ads (headlines/descriptions/final URLs), keywords, budgets and bids, with the user_email who made each change, the client (web UI / API / bulk upload), the operation (CREATE/UPDATE/REMOVE), the changed field mask and the old→new resource. Backed by Google Ads change_event (last 30 days only, per customer). Pass `since`/`until` (YYYY-MM-DD or "YYYY-MM-DD HH:MM:SS") or `days`; for incremental polling pass `since` = the last seen change timestamp. Bulk support: accepts customer_ids for batched execution.
    ConnectorNo auth
  • AI ad generation workspace. Create ad briefs, generate images (create/clone/resize/edit), list ad media, inspect media items, and share briefs. Use entity "ads" + action "generate" to generate images. Omit id to auto-create an ad, or provide id to add variants to an existing ad. To use a user's own photo as a clone/edit reference: entity:"media" action:"request_upload_url" → PUT file bytes → pass { type:"temporary_upload", id:<uploadId> } in generate references. Has no live campaign data, spend, or performance reporting; that data lives in adkit_manage. Studio ads are creative drafts, not launched ads.
    Connector
    Destructive
    API key
  • ⚠️ THIS PUBLISHES TO GOOGLE ADS RIGHT NOW. The campaign and all its ad groups, keywords, and ads will be created in the user's Google Ads account immediately after this call. It will be created with status=PAUSED so no money is spent until a human clicks Enable in the Google Ads UI — that's the safety boundary — but the campaign IS in their account. DO NOT call this tool because the user said 'approve', 'looks good', 'yes', or 'go ahead' while reviewing the draft. Those words mean 'I like the draft' — they do NOT mean 'put it in my Google Ads account'. The user must explicitly say something like 'publish to Google Ads', 'push it to Google Ads', or 'create it in my Google Ads account' before you call this. If there is ANY ambiguity, summarize what will happen and ask 'should I create this in your Google Ads account right now? It'll be paused so it won't spend until you click Enable in Google Ads UI.' REQUIRES confirm=true to actually publish. If confirm is missing/false, returns a summary and waits for the user to explicitly say yes to publishing. Idempotent: if the draft is already published (publication record exists), the call is a no-op and returns the existing Google Ads campaign id. (This tool was previously named approve_campaign_as_draft — that name was misleading.)
    Connector
    Destructive
    OAuth
  • Set or clear the Final URL Suffix on a wizard campaign's search channel (Google Ads or Microsoft Ads). The suffix is appended to every final URL the platform serves — typically UTM parameters for tracking (utm_source, utm_medium, utm_campaign, ...). Matches the platform UI's "Final URL Suffix" input under the Google Ads / Microsoft Ads channel's Advanced Settings section. KEYWORDS: final url suffix, final-url-suffix, url suffix, suffix, utm, utm parameters, utm source, utm medium, utm campaign, tracking, tracking template, url tracking, tracking parameters, google ads, google, microsoft ads, microsoft, bing, search channel, search campaign, campaign settings, advanced settings WHEN TO USE: - Add or change UTM / tracking parameters on Google Ads or Microsoft Ads final URLs - Clear an existing suffix (pass empty string "") REQUIREMENTS: - The campaign MUST already have the target channel enabled (via create_campaign / add_and_edit_campaign_elements with a `google` and/or `microsoft` block). - Final URL Suffix is search-channel-only. LinkedIn / Meta / Reddit do NOT support it and the tool will reject other channel types. PARAMETERS: - campaign_id (required): the wizard campaign ID. - channel (required): "GOOGLE_ADS" or "MICROSOFT_ADS". - final_url_suffix (required): the suffix string. Max 2048 chars. Format: key=value pairs separated by `&`. Allowed characters: A–Z a–z 0–9 . _ ~ = & { } - or %XX percent-encoded. Spaces and [ ] ( ) # ? must be percent-encoded. Pass empty string "" to clear. EXAMPLES: Set UTMs on a Google Ads channel: set_search_channel_final_url_suffix({ "campaign_id": 177214, "channel": "GOOGLE_ADS", "final_url_suffix": "utm_source=metadata&utm_medium=cpc&utm_campaign={campaignid}" }) Clear the suffix on a Microsoft Ads channel: set_search_channel_final_url_suffix({ "campaign_id": 177214, "channel": "MICROSOFT_ADS", "final_url_suffix": "" }) RESPONSE: {success, campaign_id, channel_id, channel, applied:{final_url_suffix}, errors?} INTEGRATION WITH OTHER TOOLS: - Use search_campaigns_by_names / get_campaign_by_wizard_id to find the campaign. - Google Ads / Microsoft Ads channels are enabled by create_campaign or add_and_edit_campaign_elements with a `google` / `microsoft` block.
    Connector
    Destructive
    API key
  • Add a short non-clickable selling-point snippet (callout) that appears beneath a Google Ads ad — short trust-builder phrases like "Free Shipping", "24/7 Support", "Money-Back Guarantee", or "No Setup Fees". Callouts reinforce value props without taking up headline space. ALSO KNOWN AS: callout, callout extension, selling point, trust badge, value prop, value proposition, tagline, ad badge KEYWORDS: callout, selling point, trust signal, value prop, badge, free shipping, money back, guarantee, support, no fees, google ads, extension WHEN TO USE: - "Add a 'Free Shipping' callout to our Google Ads library" - "Create a callout for 24/7 support" - "Register a new value-prop tag for the holiday campaigns" - "I want a 'Money-Back Guarantee' badge to show under our ads" WHEN NOT TO USE: - Want a clickable shortcut to a landing page → use create_google_sitelink_extension - Want a list of named items (e.g. "Brands: Nest, Nexus") → use create_google_structured_snippet_extension - Same callout for Microsoft Ads / Bing → use create_microsoft_callout_extension - Anything for Facebook / LinkedIn / Reddit — search-channel-only INPUTS: - callout_text: visible snippet (1-25 chars). EXAMPLE: create_google_callout_extension(callout_text="Free Shipping")
    ConnectorAPI key
  • Lists the user's connected Google Ads account(s). Returns only the account(s) the user selected at connect time; the response carries default_account_id. all_accessible=true returns every account the credential can reach, which also expands client accounts under MCC (manager) accounts. platform is optional and defaults to Google Ads; naming another connected platform (meta | tiktok | linkedin | microsoft | ga4 | search_console | youtube | business_profile) returns the name of that platform's own account-listing tool instead.
    ConnectorOAuth
  • Pause or reactivate one or more Google Ads campaigns, ad groups, ads, or keywords (max 20 per call). Use dry_run: true to preview the change (current vs new status, validated by Google) without applying anything. Only set action to 'activate' when the user has explicitly requested to resume or enable. Keyword ids are composite "<ad_group_id>:<criterion_id>" (as returned by adsap_google_get_insights level keyword). ad_account_id is the bare 10-digit Google Ads customer ID. For Meta entities use adsap_set_entity_status instead.
    ConnectorAPI key
  • Reads and tool lookup for ChatGPT Ads; nothing called here changes anything. The 13 ChatGPT Ads tools that change something run through chatgpt_ads_write. chatgpt_ads(action="execute", tool_name="…", arguments={...}). action="list_tools" (the write half included) and action="get_tool_schema" are free; never guess a tool_name. accounts=["…","…"] or accounts="all_active": one read across up to 20 ChatGPT Ads accounts, free like every read. Not in this router, called by name: chatgpt_get_performance (read chatgpt ads performance). Tools by category: **targeting** chatgpt_geo_lookup **discovery** chatgpt_get_account, chatgpt_get_account_limits **conversions** chatgpt_get_pixel_settings, chatgpt_list_pixels **structure** chatgpt_list_ad_groups, chatgpt_list_ads, chatgpt_list_campaigns **assets** chatgpt_validate_chat_card
    ConnectorOAuth
  • Link a GA4 property to a Google Ads customer account (see list_google_ads_links to check what's already linked first - this errors if one already exists for that pair). Together with mark_key_event, this is what lets Google automatically sync a GA4 key event into a Google Ads conversion action - see update_ga4_conversion_action (Google Ads connector) for the one step still needed once that sync happens. Needs the analytics scope; a connection made before that scope was requested will refuse this until reconnected (see needsReconsent).
    ConnectorOAuth
  • Browse 1M+ ads from thousands of advertisers across Meta, Google, and LinkedIn. Keep a per-project watchlist of advertisers and save ads to shareable inspiration boards. For advertiser list/search, params.scope is library (default, all advertisers) or watchlist (the selected project's My Watchlist). Create and fill boards before setting shareEnabled: true through boards update, and only enable sharing when the user explicitly asks. The user's own campaigns live in adkit_manage.
    ConnectorAPI key
  • Register a new brand (business / client) on this Upfixe account. Each brand pins to exactly one Google Ads customerId. Two ways to choose it: • Pass customerId explicitly. Required when the user manages more than one Google Ads account (agencies / MCC owners). Call list_ad_accounts first to discover the available customerIds, surface them to the user, and pass the one they confirm. • Omit customerId. Only safe when the user has exactly one accessible account. If they have multiple, this tool returns an error rather than silently picking one. If no Google Ads account is connected to the Upfixe account at all, this returns an error telling the user to connect at https://app.upfixe.com/connect-google-ads. After creating, call fetch_homepage_content to scrape the site, then update_value_prop_doc to save the doc.
    Connector
    Destructive
    OAuth