Google Ads by Get MCP Ads
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| LOG_LEVEL | No | debug, info, warn, error | info |
| GOOGLE_ADS_CLIENT_ID | Yes | Required. OAuth client ID | |
| GOOGLE_ADS_CLIENT_SECRET | Yes | Required. OAuth client secret | |
| GOOGLE_ADS_ENABLE_WRITES | No | Set to '1' to register the 10 write tools | |
| GOOGLE_ADS_REFRESH_TOKEN | Yes | Required. From the consent flow | |
| GOOGLE_ADS_DEVELOPER_TOKEN | Yes | Required. From the API Center, Basic Access or above | |
| GOOGLE_ADS_LOGIN_CUSTOMER_ID | No | Optional. Manager (MCC) account ID. Resolved automatically when unset |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| resources | {
"subscribe": false,
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| google_ads_list_accountsA | List 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_get_account_detailsB | Get detailed information for a specific Google Ads customer account. |
| google_ads_run_gaqlA | Execute 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_get_insightsA | Query 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_campaignsA | List campaigns for a Google Ads account with status, budget, channel type, and bidding strategy. |
| google_ads_get_adgroupsA | List ad groups for a Google Ads account, optionally filtered by campaign. |
| google_ads_get_keyword_performanceA | Get keyword-level performance data from keyword_view resource. Shows quality score, impressions, clicks, cost. |
| google_ads_validate_queryA | Validate metric/dimension/resource compatibility BEFORE executing a query. Checks segment restrictions and resource availability. |
| google_ads_health_checkA | Read-only connectivity check. Verifies credential presence, Google Ads API access, login customer visibility, API version, and actionable warnings without returning secrets. |
| google_ads_get_account_hierarchyA | List 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_conversion_actionsA | List conversion actions with status, type, category, primary/include-in-conversions flags, owner customer, and last activity dates when supported. |
| google_ads_get_change_eventsA | Fetch recent change_event rows. Enforces Google Ads constraints: date window within the last 30 days and LIMIT <= 10000. |
| google_ads_get_recommendationsA | List Google Ads recommendations with type, resource, campaign/ad group links, dismissed state, and impact when supported. |
| google_ads_get_budgetsA | List campaign budgets with amount, status, delivery method, and recommended budget fields when supported. |
| google_ads_get_bidding_strategiesA | List portfolio bidding strategies. Includes metrics only when startDate/endDate are provided; otherwise returns structure only. |
| google_ads_get_search_termsB | Fetch search term performance from search_term_view or campaign_search_term_insight depending on reportType. |
| google_ads_get_landing_pagesB | 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_assetsA | List Performance Max asset group assets from asset_group_asset with asset group/campaign context and optional date-range performance metrics. |
| google_ads_get_simulationsA | Read-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_paid_organic_search_termsA | 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 unavailable. |
| google_ads_get_shopping_productsA | Read-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_shopping_performanceA | Read-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_pmax_placementsA | Read-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_pmax_asset_diagnosticsA | Read-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_list_image_assetsA | List 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 in the response is the account total. For a visual-only gallery of assets with delivery over dates, use the hosted GetMCPAds service (Performance Max coverage). The local server returns media URLs and native report data. Shopping product imagery lives in Merchant Center, not in this library. |
| google_ads_list_video_assetsA | List 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 gallery of assets with delivery over dates, use the hosted GetMCPAds service (Performance Max coverage). The local server returns media URLs and native report data. Google Ads exposes no downloadable video file: PMax and Demand Gen videos are hosted on YouTube, so display them via embed or thumbnails. |
| google_ads_get_demand_gen_assetsA | List 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_generate_keyword_historical_metricsA | Get 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_ideasA | 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-month/YoY changes, competition, bids, close variants, optional concepts, and pagination. Read-only; no plan is saved. |
| google_ads_generate_keyword_forecast_metricsA | Forecast impressions, clicks, CTR, CPC, cost, conversions, and CPA for a temporary keyword campaign. Supports targeting, negatives, 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_search_fieldsA | Search 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_targetsA | Resolve 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_generate_ad_group_themesA | Organize 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_run_readonly_rpcA | Advanced 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_get_video_uploadA | Read 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. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| google-ads-manifest | |
| google-ads-recipes | |
| google-ads-metrics | |
| google-ads-dimensions | |
| google-ads-compatibility |
TDQS
Scored across 35 tools
Most tools target a distinct Google Ads resource or action (campaigns, ad groups, budgets, search terms, PMax assets, etc.), and descriptions are clear. There is minor overlap between list_accounts and get_account_hierarchy, and between get_insights and run_gaql, but these are differentiated enough for an agent to choose correctly.
All tools share a consistent google_ads_ prefix and mostly follow a verb_noun pattern with clear verbs like get, list, generate, run, validate, and search. Minor inconsistencies exist: health_check is noun-first rather than verb-first, and get versus list is not used with a consistent semantic distinction.
35 tools is well above the 25+ threshold for 'too many'. While Google Ads is a large surface, many specialized getters (pmax_placements, pmax_asset_diagnostics, shopping_performance, paid_organic_search_terms, etc.) could be consolidated or exposed through the included raw GAQL and insight tools, making the set feel heavy.
The tool surface covers a broad read-only slice of Google Ads: account structure, campaigns, ad groups, keywords, budgets, bidding, conversions, recommendations, assets, PMax, Demand Gen, Shopping, search terms, landing pages, simulations, and GAQL field discovery. Minor gaps exist, such as no direct ad_group_ads convenience tool, but raw GAQL and search_fields make most gaps workable.