Google Ads MCP by Adplug

Google Ads MCP server by AdPlug, connecting Google Ads to Claude, ChatGPT and other MCP-compatible AI assistants.

От сообщества: Добавлен пользователем или импортирован; проверьте владельца перед подключениемРаботаетБез входаГлобальныйБесплатноТолько чтение

Что умеет

  • Adplug Get Status: Check whether Google Ads is connected to this AdPlug account. IMPORTANT: Call this tool FIRST before using any other tools on this server. If Google Ads is not connected, surface th
  • Google Ads Gaql Doc: Get the Google Ads Query Language (GAQL) syntax guide. Returns the full GAQL grammar, clause reference (SELECT, FROM, WHERE, ORDER BY, LIMIT, PARAMETERS), operator list, date func
  • Google Ads Reporting View Doc: Get Google Ads API reporting view documentation. Without a view name: returns an overview of all ~167 available reporting views (campaign, ad_group, keyword_view, search

Какие данные видит

Нужен ли аккаунт

Не нужен: сервер работает без входа

Google Ads MCP server by AdPlug, connecting Google Ads to Claude, ChatGPT and other MCP-compatible AI assistants. Analyse performance, audit search terms, research keywords and generate reports across MCC accounts. Manage campaigns, budgets, bids and negative keywords using natural language. Secure Google sign-in, read-only access by default and previews before changes. No coding or server setup required.

Список инструментов сервера (16)

Технические названия из tools/list. Нужны только разработчикам.

adplug_get_statusCheck whether Google Ads is connected to this AdPlug account. IMPORTANT: Call this tool FIRST before using any other tools on this server. If Google Ads is not connected, surface the action_required steps so the user can connect it before you attempt platform-specific operations. Also reports write_access (read_write or read_only). read_only ('View only' in the dashboard) is a team setting: write tools are hidden and any write call is rejected, so do not attempt changes.
google_ads_gaql_docGet the Google Ads Query Language (GAQL) syntax guide. Returns the full GAQL grammar, clause reference (SELECT, FROM, WHERE, ORDER BY, LIMIT, PARAMETERS), operator list, date functions, and rules. Call this before writing any raw GAQL query with google_ads_query.
google_ads_reporting_view_docGet Google Ads API reporting view documentation. Without a view name: returns an overview of all ~167 available reporting views (campaign, ad_group, keyword_view, search_term_view, etc.). With a view name: returns the full field schema for that view, including every attribute, segment, and metric with data types, enum values, and whether each field is filterable/selectable/sortable. Args: view: The reporting view name (e.g. "campaign", "ad_group", "search_term_view"). Omit for the overview of all views.
google_ads_list_accountsList all Google Ads accounts with names, types, currency, and MCC hierarchy. Call this FIRST before any other Google Ads tool — it discovers every accessible account, identifies which are MCCs, and maps the parent/child structure. Other tools auto-resolve login_customer_id from this list, so calling it once at the start prevents USER_PERMISSION_DENIED errors on child-account queries. Returns per account: id, name, is_manager (true for MCCs), currency, status, parent_id (if under an MCC). Never silently drops accounts — inaccessible ones come back with `details unavailable` rather than being filtered out.
google_ads_account_performanceGet performance summary across multiple Google Ads accounts in ONE call. Returns per-account: name, id, currency, impressions, clicks, cost (formatted with currency symbol), conversions, CTR, CPC, cost_per_conversion. Automatically skips MCC/manager accounts. Queries all accounts server-side. Args: date_range: GAQL literal — "TODAY", "YESTERDAY", "LAST_7_DAYS", "LAST_14_DAYS", "LAST_30_DAYS", "LAST_60_DAYS", "LAST_90_DAYS", "LAST_180_DAYS", "LAST_365_DAYS", "THIS_MONTH", "LAST_MONTH", "THIS_QUARTER", "LAST_QUARTER", "THIS_YEAR", "LAST_YEAR", "LAST_BUSINESS_WEEK", "THIS_WEEK_MON_TODAY", "LAST_WEEK_MON_SUN" — or custom "YYYY-MM-DD,YYYY-MM-DD". account_ids: Optional list of specific account IDs. If not specified, queries ALL non-manager accounts (including MCC children). compare: If true, also returns the prior equivalent period for comparison. LAST_7_DAYS compares to the 7 days before that, etc.
google_ads_campaign_performanceGet campaign performance for a Google Ads account, paginated. No GAQL needed. Returns per-campaign: name, status, type, impressions, clicks, cost (formatted), conversions, CTR, CPC, cost_per_conversion, search_impression_share, lost_is_budget, lost_is_rank. Sorted by `sort_by` (default cost descending). Returns up to `page_size` rows (default 200, max 1000) plus `next_page_token` for the next page. The user usually wants the full picture for analysis — keep calling with the returned token until next_page_token is null. Args: customer_id: Google Ads customer ID (digits only). date_range: "LAST_7_DAYS", "LAST_30_DAYS", "LAST_90_DAYS", "THIS_MONTH", "LAST_MONTH", "LAST_24_MONTHS", custom "YYYY-MM-DD,YYYY-MM-DD", etc. See google_ads_account_performance for the full literal list. login_customer_id: MCC account ID if querying a child account. Auto-detected if omitted. campaign_status: Filter by "ENABLED", "PAUSED", or None for all. page_size: Rows per page (1-1000, default 200). page_token: Opaque cursor from a prior response. Omit on first call. sort_by: Sort metric: "cost", "conversions", "clicks", "impressions".
google_ads_queryExecute a custom GAQL query against a Google Ads account, paginated. Power-user tool for queries the convenience tools don't cover. Prefer google_ads_account_performance, google_ads_campaign_performance, google_ads_daily_trends, google_ads_conversion_performance, or google_ads_search_terms when they fit — they return cleaner shaped data. Use this for ad-group/keyword/asset/criterion-level queries, custom segmentation, or anything not covered by those. Prerequisites: if you don't know the GAQL syntax, call google_ads_gaql_doc first. For field names of a specific view, call google_ads_reporting_view_doc. Sensitive billing/access resources are not queryable here. Returns up to `page_size` rows (default 200, max 1000) plus `next_page_token` for the next page. The user usually wants the full picture for analysis — keep calling with the returned token until next_page_token is null. MCC login_customer_id is auto-detected if omitted. When paginating, pass the SAME query and customer_id back with page_token from the prior response. Args: query: The GAQL query to execute. customer_id: The Google Ads customer ID (digits only). login_customer_id: Optional MCC account ID. Auto-detected if omitted. page_size: Rows per page (1-1000, default 200). page_token: Opaque cursor from a prior response. Omit on first call.
google_ads_daily_trendsGet daily performance trends for a Google Ads account. Use this for time-series analysis — day-over-day cost, conversions, CTR, CPC trends. For one-shot per-campaign aggregates use google_ads_campaign_performance instead. For cross-account spend overview use google_ads_account_performance. Returns per-day: date, impressions, clicks, cost (formatted), conversions, CTR, CPC. Bounded by date range — typically <365 rows, no pagination needed. Optionally filter to a single campaign. Args: customer_id: Google Ads customer ID (digits only). date_range: "LAST_7_DAYS", "LAST_30_DAYS", "LAST_90_DAYS", "THIS_MONTH", "LAST_MONTH", "LAST_24_MONTHS", custom "YYYY-MM-DD,YYYY-MM-DD", etc. See google_ads_account_performance for the full literal list. login_customer_id: Optional MCC account ID. Auto-detected if omitted. campaign_id: Optional campaign ID to filter to a single campaign.
google_ads_conversion_performanceGet conversion performance broken down by conversion action. Use this when the user asks "what conversion actions are firing" or wants per-action CPA. Handles the GAQL segmentation quirks automatically — you don't need to worry about PROHIBITED_METRIC_IN_SELECT_OR_WHERE_CLAUSE. Returns per conversion action: name, conversions, conversion value, plus the account-level cost total so you can compute CPA per action. Bounded by the number of conversion actions in the account — typically small, no pagination needed. Args: customer_id: Google Ads customer ID (digits only). date_range: "LAST_7_DAYS", "LAST_30_DAYS", "LAST_90_DAYS", "THIS_MONTH", "LAST_MONTH", "LAST_24_MONTHS", custom "YYYY-MM-DD,YYYY-MM-DD", etc. See google_ads_account_performance for the full literal list. login_customer_id: Optional MCC account ID. Auto-detected if omitted. campaign_id: Optional campaign ID to filter.
google_ads_keyword_ideasGenerate keyword ideas using Google Ads Keyword Planner. Returns keyword ideas with avg_monthly_searches, competition, and bid estimates. Provide either `keywords` (seed terms), `url` (page to mine), or both. Capped at 1000 ideas per call to stay within MCP response limits. The Keyword Planner API does not support pagination — narrow the seeds or geo/language filters if you need more granularity. Args: customer_id: Google Ads customer ID (digits only). keywords: Seed keywords to generate ideas from. url: URL to generate keyword ideas from. language: Language code (e.g. 'en', 'es') or criterion ID. geo_targets: Country codes (e.g. ['US', 'UK']) or criterion IDs. login_customer_id: Optional MCC account ID.
google_ads_preview_mutationPreview a Google Ads change BEFORE executing it (Google Ads write tool). Always call this first. Then call google_ads_execute_mutation to apply. BULK/BATCH — for many changes at once (a new campaign structure, dozens of sitelinks), pass operation="batch" with operations=[{operation, resource_id?, params?}, ...] to apply them all in ONE preview/execute pair (max 100). Steps run in order; a later step reuses an EARLIER step's result via "$N.field" (named field, e.g. "$0.asset_id") or "$N" (that step's primary id): operations=[ {"operation": "create_sitelink", "params": {"link_text": "Pricing", "final_url": "https://x/p"}}, {"operation": "link_asset_to_campaign", "params": {"campaign_id": "123", "asset_id": "$0.asset_id", "field_type": "SITELINK"}}, ] Each step is a separate API call costing one edit. Stops at the first failure by default, reporting which step failed and which never ran; pass params={"continue_on_error": true} to run independent steps regardless. For the full list of operations and their params, call: google_ads_preview_mutation(operation="help") or scoped to a category: google_ads_preview_mutation(operation="help", params={"category": "entity"}) Available categories: entity (campaign/adgroup/ad/keyword/budget/bidding), targeting (geo/language single + bulk, bid modifiers, ad schedule), asset (RSAs, extensions, image/text/YouTube-video assets), asset_group (PMax asset groups + signals + listing filters), settings, shared_set, conversion (conversion actions + campaign conversion-goal config), label, negatives (placement/topic/audience/youtube/mobile-app/content-label/PMax-brand exclusions), audience (Custom Audience CRUD + positive audience attachment to ad groups), user_list (remarketing lists: Customer Match + website-visitor rule-based + logical/combined), demand_gen (create Demand Gen ads — video/multi-asset/carousel/product). Operations: Status mutations (no params required): pause_campaign, enable_campaign, pause_adgroup, enable_adgroup, pause_keyword, enable_keyword, pause_ad, enable_ad Removals (no params required, irreversible): remove_campaign, remove_adgroup, remove_keyword, remove_ad Budget: update_budget — params: {"budget_amount": <float, account currency>} resource_id is the CampaignBudget ID (not the campaign ID). Bidding strategy (campaign-level, standard strategies): update_campaign_bidding — params: {"strategy_type": "TARGET_CPA"|"TARGET_ROAS"| "MAXIMIZE_CONVERSIONS"|"MAXIMIZE_CONVERSION_VALUE"| "MANUAL_CPC"|"MAXIMIZE_CLICKS"|"TARGET_IMPRESSION_SHARE", ...strategy-specific fields} - TARGET_CPA: target_cpa (required), cpc_bid_ceiling, cpc_bid_floor - TARGET_ROAS: target_roas (required, e.g. 2.5 = 250%), cpc_bid_ceiling, cpc_bid_floor - MAXIMIZE_CONVERSIONS: target_cpa (optional cap) - MAXIMIZE_CONVERSION_VALUE: target_roas (optional target) - MANUAL_CPC: enhanced_cpc_enabled (bool, default false) - MAXIMIZE_CLICKS: cpc_bid_ceiling (required, > 0) - TARGET_IMPRESSION_SHARE: location, location_fraction_micros, cpc_bid_ceiling (all required) Args: customer_id: The Google Ads customer ID (digits only). operation: See list above. resource_id: The resource ID (compound for keywords/ads, e.g. "{adGroupId}~{criterionId}"). params: Operation-specific parameters. login_customer_id: Optional MCC account ID.
google_ads_execute_mutationExecute a previously previewed Google Ads mutation (Google Ads write tool). You MUST call google_ads_preview_mutation first. Args: customer_id: The Google Ads customer ID (must match the preview).
google_ads_search_termsGet search term report for a Google Ads account, paginated. Returns search terms sorted by cost (highest spend first), with match type, impressions, clicks, cost (formatted), conversions, CTR, CPC. Returns up to `page_size` rows per call (default 200, max 1000) plus `next_page_token` for the next page. The user usually wants the full picture for analysis — keep calling with the returned token until next_page_token is null. Args: customer_id: Google Ads customer ID (digits only). date_range: "LAST_7_DAYS", "LAST_30_DAYS", "THIS_MONTH", etc. login_customer_id: Optional MCC account ID. Auto-detected if omitted. campaign_id: Optional campaign ID to filter. page_size: Rows per page (1-1000, default 200). page_token: Opaque cursor from a prior response. Omit on first call. min_cost_micros: Optional minimum cost filter in micros (e.g. 1000000 = $1).
google_ads_shared_set_criteriaRead the contents of a shared negative keyword list, paginated. Returns up to `page_size` keywords per call (default 200, max 1000) from the shared set, plus `next_page_token` for the next page. Keep calling with the returned token until next_page_token is null to see all keywords in the list. Use google_ads_query first to list available shared sets: SELECT shared_set.id, shared_set.name, shared_set.member_count FROM shared_set Args: customer_id: Google Ads customer ID (digits only). shared_set_id: The shared set ID to read keywords from. login_customer_id: Optional MCC account ID. Auto-detected if omitted. page_size: Rows per page (1-1000, default 200). page_token: Opaque cursor from a prior response. Omit on first call.
google_ads_preview_add_negativesPreview adding negative keywords BEFORE executing (Google Ads write tool). Always call this first. Then call google_ads_execute_add_negatives to apply. Args: customer_id: Google Ads customer ID (digits only). keywords: List of negative keywords to add (e.g. ["free", "cheap", "diy"]). match_type: EXACT, PHRASE, or BROAD (default EXACT). target_type: Where to add negatives — "campaign" or "shared_set". target_id: Campaign ID (if target_type="campaign") or Shared Set ID (if target_type="shared_set"). login_customer_id: Optional MCC account ID. Auto-detected if omitted.
google_ads_execute_add_negativesExecute a previously previewed negative keyword addition (Google Ads write tool). You MUST call google_ads_preview_add_negatives first. Args: customer_id: Google Ads customer ID (must match the preview).