Product
Ads and Publisher
Google Ads API (accounts, campaigns, ad groups, ads, keywords, budgets, conversions, assets and GAQL reporting, with every other method through the gateway), plus advertising and publisher APIs: Search Ads 360, Display & Video 360, Campaign Manager, Ad Exchange, AdSense, AdMob, Real-time Bidding and more.
Install
gads is one plugin in the google-services-mcps marketplace, and it runs one MCP server with the same name. Install it for Claude Code with the command below. For Codex, OpenCode or Antigravity, change --agent; the product id stays the same.
Install for Claude Code
npx google-services-mcps install --agent claude --plugin gadsWhat it manages
The server carries 5 generated API bindings and 26 gateway APIs. Gateway APIs are reached through api_search, api_describe and api_call, which every product with gateway APIs lists.
| API | Version |
|---|---|
| admob | v1 |
| displayvideo | v4 |
| doubleclickbidmanager | v2 |
| googleads | v26 |
| searchads360 | v23 |
| API | Version |
|---|---|
| adexchangebuyer2 | v2beta1 |
| admob | v1beta |
| adsense | v2 |
| adsenseplatform | v1 |
| adsenseplatform | v1alpha |
| agenciesandbrands | v1 |
| authorizedbuyersmarketplace | v1 |
| authorizedbuyersmarketplace | v1alpha |
| authorizedbuyersmarketplace | v1beta |
| checks | v1alpha |
| curationpartners | v1 |
| datamanager | v1 |
| dfareporting | v3.5 |
| dfareporting | v5 |
| displayvideo | v2 |
| displayvideo | v3 |
| displayvideo | v4 |
| displayvideo | v5 |
| doubleclicksearch | v2 |
| googleads | v26 |
| localservices | v1 |
| marketingplatformadmin | v1alpha |
| readerrevenuesubscriptionlinking | v1 |
| realtimebidding | v1 |
| searchads360 | v0 |
| webcontentpublisher | v1 |
Tools
The plugin's server registers 338 tools: 105 reads, 189 writes, 20 destructive actions and 24 dynamic tools. A read never asks. A write is listed only when Allow write tools is on, and asks before it runs. A destructive action asks twice. A dynamic tool decides per call.
Every tool name starts with mcp__plugin_gads_gads__, so a call traces back to this product. The table lists the tools this server registers, with the safety class from the plugin's tool map.
| Tool | Class | What it does |
|---|---|---|
| account_remove | write | Remove a signed-in account |
| account_set_default | write | Set the default account |
| accounts_list | read | Signed-in accounts |
| admob_accounts_ad_units_list | read | admob.accounts.adUnits.list |
| admob_accounts_apps_list | read | admob.accounts.apps.list |
| admob_accounts_get | read | admob.accounts.get |
| admob_accounts_list | read | admob.accounts.list |
| admob_accounts_mediation_report_generate | read | admob.accounts.mediationReport.generate |
| admob_accounts_network_report_generate | read | admob.accounts.networkReport.generate |
| ads_list_customers | read | List Google Ads accounts |
| ads_mutate | dynamic | Change Google Ads resources |
| ads_resource_metadata | read | Fields of a Google Ads resource |
| ads_search | read | Search Google Ads (GAQL) |
| api_call | dynamic | Call an API method |
| api_describe | read | Describe an API method |
| api_methods | read | gads: API methods |
| api_search | read | Search API methods |
| auth_login | write | Sign in to Google |
| auth_setup_client | write | Save the Google OAuth client |
| auth_status | read | Sign-in status |
| dis_youtube_asset_types_associations_list | read | displayvideo.advertisers.lineItems.youtubeAssetTypes.youtubeAssetAssociations.list |
| disp_negative_keyword_lists_keywords_list | read | displayvideo.advertisers.negativeKeywordLists.negativeKeywords.list |
| displa_line_items_bulk_edit_asgn_tgt_opts | write | displayvideo.advertisers.lineItems.bulkEditAssignedTargetingOptions |
| displa_line_items_bulk_list_asgn_tgt_opts | read | displayvideo.advertisers.lineItems.bulkListAssignedTargetingOptions |
| displa_location_lists_locations_bulk_edit | write | displayvideo.advertisers.locationLists.assignedLocations.bulkEdit |
| displayv_invoices_lookup_invoice_currency | read | displayvideo.advertisers.invoices.lookupInvoiceCurrency |
| displayv_line_items_tgt_types_opts_create | write | displayvideo.advertisers.lineItems.targetingTypes.assignedTargetingOptions.create |
| displayv_line_items_tgt_types_opts_delete | destructive | displayvideo.advertisers.lineItems.targetingTypes.assignedTargetingOptions.delete |
| displayvi_advertisers_ad_group_ads_create | write | displayvideo.advertisers.adGroupAds.create |
| displayvi_advertisers_ad_group_ads_delete | destructive | displayvideo.advertisers.adGroupAds.delete |
| displayvi_advertisers_channels_sites_list | read | displayvideo.advertisers.channels.sites.list |
| displayvi_advertisers_location_lists_list | read | displayvideo.advertisers.locationLists.list |
| displayvi_advs_groups_tgt_types_opts_list | read | displayvideo.advertisers.adGroups.targetingTypes.assignedTargetingOptions.list |
| displayvi_advs_negative_keyword_lists_get | read | displayvideo.advertisers.negativeKeywordLists.get |
| displayvi_location_lists_locations_create | write | displayvideo.advertisers.locationLists.assignedLocations.create |
| displayvi_location_lists_locations_delete | destructive | displayvideo.advertisers.locationLists.assignedLocations.delete |
| displayvi_sdfdownloadtasks_operations_get | read | displayvideo.sdfdownloadtasks.operations.get |
| displayvid_adv_ad_gro_you_ass_typ_ass_cre | write | displayvideo.advertisers.adGroups.youtubeAssetTypes.youtubeAssetAssociations.create |
| displayvid_adv_ad_gro_you_ass_typ_ass_del | destructive | displayvideo.advertisers.adGroups.youtubeAssetTypes.youtubeAssetAssociations.delete |
| displayvid_adv_ad_gro_you_ass_typ_ass_lis | read | displayvideo.advertisers.adGroups.youtubeAssetTypes.youtubeAssetAssociations.list |
| displayvid_advertisers_ad_assets_create | write | displayvideo.advertisers.adAssets.create |
| displayvid_advertisers_ad_assets_get | read | displayvideo.advertisers.adAssets.get |
| displayvid_advertisers_ad_assets_list | read | displayvideo.advertisers.adAssets.list |
| displayvid_advertisers_ad_assets_patch | write | displayvideo.advertisers.adAssets.patch |
| displayvid_advertisers_ad_group_ads_get | read | displayvideo.advertisers.adGroupAds.get |
| displayvid_advertisers_ad_group_ads_list | read | displayvideo.advertisers.adGroupAds.list |
| displayvid_advertisers_ad_group_ads_patch | write | displayvideo.advertisers.adGroupAds.patch |
| displayvid_advertisers_ad_groups_create | write | displayvideo.advertisers.adGroups.create |
| displayvid_advertisers_ad_groups_delete | destructive | displayvideo.advertisers.adGroups.delete |
| displayvid_advertisers_ad_groups_get | read | displayvideo.advertisers.adGroups.get |
| displayvid_advertisers_ad_groups_list | read | displayvideo.advertisers.adGroups.list |
| displayvid_advertisers_ad_groups_patch | write | displayvideo.advertisers.adGroups.patch |
| displayvid_advertisers_audit | read | displayvideo.advertisers.audit |
| displayvid_advertisers_campaigns_create | write | displayvideo.advertisers.campaigns.create |
| displayvid_advertisers_campaigns_delete | destructive | displayvideo.advertisers.campaigns.delete |
| displayvid_advertisers_campaigns_get | read | displayvideo.advertisers.campaigns.get |
| displayvid_advertisers_campaigns_list | read | displayvideo.advertisers.campaigns.list |
| displayvid_advertisers_campaigns_patch | write | displayvideo.advertisers.campaigns.patch |
| displayvid_advertisers_channels_create | write | displayvideo.advertisers.channels.create |
| displayvid_advertisers_channels_get | read | displayvideo.advertisers.channels.get |
| displayvid_advertisers_channels_list | read | displayvideo.advertisers.channels.list |
| displayvid_advertisers_channels_patch | write | displayvideo.advertisers.channels.patch |
| displayvid_advertisers_create | write | displayvideo.advertisers.create |
| displayvid_advertisers_creatives_create | write | displayvideo.advertisers.creatives.create |
| displayvid_advertisers_creatives_delete | destructive | displayvideo.advertisers.creatives.delete |
| displayvid_advertisers_creatives_get | read | displayvideo.advertisers.creatives.get |
| displayvid_advertisers_creatives_list | read | displayvideo.advertisers.creatives.list |
| displayvid_advertisers_creatives_patch | write | displayvideo.advertisers.creatives.patch |
| displayvid_advertisers_delete | destructive | displayvideo.advertisers.delete |
| displayvid_advertisers_get | read | displayvideo.advertisers.get |
| displayvid_advertisers_invoices_list | read | displayvideo.advertisers.invoices.list |
| displayvid_advertisers_line_items_create | write | displayvideo.advertisers.lineItems.create |
| displayvid_advertisers_line_items_delete | destructive | displayvideo.advertisers.lineItems.delete |
| displayvid_advertisers_line_items_get | read | displayvideo.advertisers.lineItems.get |
| displayvid_advertisers_line_items_list | read | displayvideo.advertisers.lineItems.list |
| displayvid_advertisers_line_items_patch | write | displayvideo.advertisers.lineItems.patch |
| displayvid_advertisers_list | read | displayvideo.advertisers.list |
| displayvid_advertisers_location_lists_get | read | displayvideo.advertisers.locationLists.get |
| displayvid_advertisers_patch | write | displayvideo.advertisers.patch |
| displayvid_advs_ad_assets_bulk_create | write | displayvideo.advertisers.adAssets.bulkCreate |
| displayvid_advs_chans_sites_bulk_edit | write | displayvideo.advertisers.channels.sites.bulkEdit |
| displayvid_advs_chans_sites_create | write | displayvideo.advertisers.channels.sites.create |
| displayvid_advs_chans_sites_delete | destructive | displayvideo.advertisers.channels.sites.delete |
| displayvid_advs_chans_sites_replace | write | displayvideo.advertisers.channels.sites.replace |
| displayvid_advs_edit_asgn_tgt_opts | write | displayvideo.advertisers.editAssignedTargetingOptions |
| displayvid_advs_groups_tgt_types_opts_get | read | displayvideo.advertisers.adGroups.targetingTypes.assignedTargetingOptions.get |
| displayvid_advs_insertion_orders_create | write | displayvideo.advertisers.insertionOrders.create |
| displayvid_advs_insertion_orders_delete | destructive | displayvideo.advertisers.insertionOrders.delete |
| displayvid_advs_insertion_orders_get | read | displayvideo.advertisers.insertionOrders.get |
| displayvid_advs_insertion_orders_list | read | displayvideo.advertisers.insertionOrders.list |
| displayvid_advs_insertion_orders_patch | write | displayvideo.advertisers.insertionOrders.patch |
| displayvid_advs_line_items_bulk_update | write | displayvideo.advertisers.lineItems.bulkUpdate |
| displayvid_advs_line_items_duplicate | write | displayvideo.advertisers.lineItems.duplicate |
| displayvid_advs_list_asgn_tgt_opts | read | displayvideo.advertisers.listAssignedTargetingOptions |
| displayvid_advs_location_lists_create | write | displayvideo.advertisers.locationLists.create |
| displayvid_advs_location_lists_patch | write | displayvideo.advertisers.locationLists.patch |
| displayvid_advs_tgt_types_opts_create | write | displayvideo.advertisers.targetingTypes.assignedTargetingOptions.create |
| displayvid_advs_tgt_types_opts_delete | destructive | displayvideo.advertisers.targetingTypes.assignedTargetingOptions.delete |
| displayvid_advs_tgt_types_opts_get | read | displayvideo.advertisers.targetingTypes.assignedTargetingOptions.get |
| displayvid_advs_tgt_types_opts_list | read | displayvideo.advertisers.targetingTypes.assignedTargetingOptions.list |
| displayvid_associations_create | write | displayvideo.advertisers.lineItems.youtubeAssetTypes.youtubeAssetAssociations.create |
| displayvid_associations_delete | destructive | displayvideo.advertisers.lineItems.youtubeAssetTypes.youtubeAssetAssociations.delete |
| displayvid_auds_create | write | displayvideo.firstPartyAndPartnerAudiences.create |
| displayvid_auds_get | read | displayvideo.firstPartyAndPartnerAudiences.get |
| displayvid_auds_list | read | displayvideo.firstPartyAndPartnerAudiences.list |
| displayvid_auds_patch | write | displayvideo.firstPartyAndPartnerAudiences.patch |
| displayvid_combined_audiences_get | read | displayvideo.combinedAudiences.get |
| displayvid_combined_audiences_list | read | displayvideo.combinedAudiences.list |
| displayvid_custom_lists_get | read | displayvideo.customLists.get |
| displayvid_custom_lists_list | read | displayvideo.customLists.list |
| displayvid_edit_customer_match_members | write | displayvideo.firstPartyAndPartnerAudiences.editCustomerMatchMembers |
| displayvid_floodlight_groups_get | read | displayvideo.floodlightGroups.get |
| displayvid_floodlight_groups_patch | write | displayvideo.floodlightGroups.patch |
| displayvid_google_audiences_get | read | displayvideo.googleAudiences.get |
| displayvid_google_audiences_list | read | displayvideo.googleAudiences.list |
| displayvid_groups_activities_get | read | displayvideo.floodlightGroups.floodlightActivities.get |
| displayvid_groups_activities_list | read | displayvideo.floodlightGroups.floodlightActivities.list |
| displayvid_groups_bulk_edit_asgn_tgt_opts | write | displayvideo.advertisers.adGroups.bulkEditAssignedTargetingOptions |
| displayvid_groups_bulk_list_asgn_tgt_opts | read | displayvideo.advertisers.adGroups.bulkListAssignedTargetingOptions |
| displayvid_groups_tgt_types_opts_create | write | displayvideo.advertisers.adGroups.targetingTypes.assignedTargetingOptions.create |
| displayvid_groups_tgt_types_opts_delete | destructive | displayvideo.advertisers.adGroups.targetingTypes.assignedTargetingOptions.delete |
| displayvid_keywords_bulk_edit | write | displayvideo.advertisers.negativeKeywordLists.negativeKeywords.bulkEdit |
| displayvid_keywords_create | write | displayvideo.advertisers.negativeKeywordLists.negativeKeywords.create |
| displayvid_keywords_delete | destructive | displayvideo.advertisers.negativeKeywordLists.negativeKeywords.delete |
| displayvid_keywords_replace | write | displayvideo.advertisers.negativeKeywordLists.negativeKeywords.replace |
| displayvid_line_items_tgt_types_opts_get | read | displayvideo.advertisers.lineItems.targetingTypes.assignedTargetingOptions.get |
| displayvid_line_items_tgt_types_opts_list | read | displayvideo.advertisers.lineItems.targetingTypes.assignedTargetingOptions.list |
| displayvid_location_lists_locations_list | read | displayvideo.advertisers.locationLists.assignedLocations.list |
| displayvid_negative_keyword_lists_create | write | displayvideo.advertisers.negativeKeywordLists.create |
| displayvid_negative_keyword_lists_delete | destructive | displayvideo.advertisers.negativeKeywordLists.delete |
| displayvid_negative_keyword_lists_list | read | displayvideo.advertisers.negativeKeywordLists.list |
| displayvid_negative_keyword_lists_patch | write | displayvideo.advertisers.negativeKeywordLists.patch |
| displayvid_sdfdownloadtasks_create | write | displayvideo.sdfdownloadtasks.create |
| displayvid_tgt_types_tgt_opts_get | read | displayvideo.targetingTypes.targetingOptions.get |
| displayvid_tgt_types_tgt_opts_list | read | displayvideo.targetingTypes.targetingOptions.list |
| displayvid_tgt_types_tgt_opts_search | read | displayvideo.targetingTypes.targetingOptions.search |
| doubleclic_queries_create | write | doubleclickbidmanager.queries.create |
| doubleclic_queries_delete | destructive | doubleclickbidmanager.queries.delete |
| doubleclic_queries_get | read | doubleclickbidmanager.queries.get |
| doubleclic_queries_list | read | doubleclickbidmanager.queries.list |
| doubleclic_queries_reports_get | read | doubleclickbidmanager.queries.reports.get |
| doubleclic_queries_reports_list | read | doubleclickbidmanager.queries.reports.list |
| doubleclic_queries_run | write | doubleclickbidmanager.queries.run |
| googl_remove_automatically_created_assets | write | googleads.customers.adGroupAds.removeAutomaticallyCreatedAssets |
| googleads_account_budget_proposals_mutate | dynamic | googleads.customers.accountBudgetProposals.mutate |
| googleads_ad_group_assets_mutate | dynamic | googleads.customers.adGroupAssets.mutate |
| googleads_ad_group_criteria_mutate | dynamic | googleads.customers.adGroupCriteria.mutate |
| googleads_asset_group_assets_mutate | dynamic | googleads.customers.assetGroupAssets.mutate |
| googleads_bidding_strategies_mutate | dynamic | googleads.customers.biddingStrategies.mutate |
| googleads_campaign_assets_mutate | dynamic | googleads.customers.campaignAssets.mutate |
| googleads_campaign_budgets_mutate | dynamic | googleads.customers.campaignBudgets.mutate |
| googleads_campaign_conv_goals_mutate | dynamic | googleads.customers.campaignConversionGoals.mutate |
| googleads_campaign_criteria_mutate | dynamic | googleads.customers.campaignCriteria.mutate |
| googleads_conversion_actions_mutate | dynamic | googleads.customers.conversionActions.mutate |
| googleads_create_customer_client | write | googleads.customers.createCustomerClient |
| googleads_criteria_mutate | dynamic | googleads.customers.customerNegativeCriteria.mutate |
| googleads_custom_conversion_goals_mutate | dynamic | googleads.customers.customConversionGoals.mutate |
| googleads_customer_assets_mutate | dynamic | googleads.customers.customerAssets.mutate |
| googleads_customers_ad_group_ads_mutate | dynamic | googleads.customers.adGroupAds.mutate |
| googleads_customers_ad_groups_mutate | dynamic | googleads.customers.adGroups.mutate |
| googleads_customers_ads_mutate | dynamic | googleads.customers.ads.mutate |
| googleads_customers_asset_groups_mutate | dynamic | googleads.customers.assetGroups.mutate |
| googleads_customers_asset_sets_mutate | dynamic | googleads.customers.assetSets.mutate |
| googleads_customers_assets_mutate | dynamic | googleads.customers.assets.mutate |
| googleads_customers_campaigns_mutate | dynamic | googleads.customers.campaigns.mutate |
| googleads_customers_google_ads_mutate | dynamic | googleads.customers.googleAds.mutate |
| googleads_customers_google_ads_search | read | googleads.customers.googleAds.search |
| googleads_customers_mutate | dynamic | googleads.customers.mutate |
| googleads_enable_p_max_brand_guidelines | write | googleads.customers.campaigns.enablePMaxBrandGuidelines |
| googleads_generate_keyword_ideas | read | googleads.customers.generateKeywordIdeas |
| googleads_geo_target_constants_suggest | read | googleads.geoTargetConstants.suggest |
| googleads_google_ads_fields_get | read | googleads.googleAdsFields.get |
| googleads_google_ads_fields_search | read | googleads.googleAdsFields.search |
| googleads_google_ads_search_stream | read | googleads.customers.googleAds.searchStream |
| googleads_keyword_theme_constants_suggest | read | googleads.keywordThemeConstants.suggest |
| googleads_list_accessible_customers | read | googleads.customers.listAccessibleCustomers |
| health | read | Server health |
| sea_keyword_plan_campaign_keywords_mutate | write | searchads360.customers.keywordPlanCampaignKeywords.mutate |
| searc_remove_automatically_created_assets | write | searchads360.customers.adGroupAds.removeAutomaticallyCreatedAssets |
| search_configure_campaign_lifecycle_goals | write | searchads360.customers.campaignLifecycleGoal.configureCampaignLifecycleGoals |
| search_configure_customer_lifecycle_goals | write | searchads360.customers.customerLifecycleGoal.configureCustomerLifecycleGoals |
| searchads3_ad_group_ad_labels_mutate | write | searchads360.customers.adGroupAdLabels.mutate |
| searchads3_ad_group_asset_sets_mutate | write | searchads360.customers.adGroupAssetSets.mutate |
| searchads3_ad_group_assets_mutate | write | searchads360.customers.adGroupAssets.mutate |
| searchads3_ad_group_bid_modifiers_mutate | write | searchads360.customers.adGroupBidModifiers.mutate |
| searchads3_ad_group_criteria_mutate | write | searchads360.customers.adGroupCriteria.mutate |
| searchads3_ad_group_customizers_mutate | write | searchads360.customers.adGroupCustomizers.mutate |
| searchads3_ad_group_labels_mutate | write | searchads360.customers.adGroupLabels.mutate |
| searchads3_adjustments_mutate | write | searchads360.customers.biddingSeasonalityAdjustments.mutate |
| searchads3_append_lead_conversation | write | searchads360.customers.localServices.appendLeadConversation |
| searchads3_asset_group_assets_mutate | write | searchads360.customers.assetGroupAssets.mutate |
| searchads3_asset_group_signals_mutate | write | searchads360.customers.assetGroupSignals.mutate |
| searchads3_asset_set_assets_mutate | write | searchads360.customers.assetSetAssets.mutate |
| searchads3_batch_jobs_add_operations | write | searchads360.customers.batchJobs.addOperations |
| searchads3_batch_jobs_list_results | read | searchads360.customers.batchJobs.listResults |
| searchads3_bidding_data_exclusions_mutate | write | searchads360.customers.biddingDataExclusions.mutate |
| searchads3_bidding_strategies_mutate | write | searchads360.customers.biddingStrategies.mutate |
| searchads3_campaign_asset_sets_mutate | write | searchads360.customers.campaignAssetSets.mutate |
| searchads3_campaign_assets_mutate | write | searchads360.customers.campaignAssets.mutate |
| searchads3_campaign_bid_modifiers_mutate | write | searchads360.customers.campaignBidModifiers.mutate |
| searchads3_campaign_budgets_mutate | write | searchads360.customers.campaignBudgets.mutate |
| searchads3_campaign_conv_goals_mutate | write | searchads360.customers.campaignConversionGoals.mutate |
| searchads3_campaign_criteria_mutate | write | searchads360.customers.campaignCriteria.mutate |
| searchads3_campaign_customizers_mutate | write | searchads360.customers.campaignCustomizers.mutate |
| searchads3_campaign_drafts_mutate | write | searchads360.customers.campaignDrafts.mutate |
| searchads3_campaign_drafts_promote | write | searchads360.customers.campaignDrafts.promote |
| searchads3_campaign_goal_configs_mutate | write | searchads360.customers.CampaignGoalConfigs.mutate |
| searchads3_campaign_groups_mutate | write | searchads360.customers.campaignGroups.mutate |
| searchads3_campaign_labels_mutate | write | searchads360.customers.campaignLabels.mutate |
| searchads3_campaign_shared_sets_mutate | write | searchads360.customers.campaignSharedSets.mutate |
| searchads3_conv_custom_variables_mutate | write | searchads360.customers.conversionCustomVariables.mutate |
| searchads3_conv_value_rule_sets_mutate | write | searchads360.customers.conversionValueRuleSets.mutate |
| searchads3_conversion_actions_mutate | write | searchads360.customers.conversionActions.mutate |
| searchads3_conversion_value_rules_mutate | write | searchads360.customers.conversionValueRules.mutate |
| searchads3_create_customer_client | write | searchads360.customers.createCustomerClient |
| searchads3_criteria_mutate | write | searchads360.customers.customerNegativeCriteria.mutate |
| searchads3_custom_audiences_mutate | write | searchads360.customers.customAudiences.mutate |
| searchads3_custom_conversion_goals_mutate | write | searchads360.customers.customConversionGoals.mutate |
| searchads3_custom_interests_mutate | write | searchads360.customers.customInterests.mutate |
| searchads3_customer_asset_sets_mutate | write | searchads360.customers.customerAssetSets.mutate |
| searchads3_customer_assets_mutate | write | searchads360.customers.customerAssets.mutate |
| searchads3_customer_client_links_mutate | write | searchads360.customers.customerClientLinks.mutate |
| searchads3_customer_conv_goals_mutate | write | searchads360.customers.customerConversionGoals.mutate |
| searchads3_customer_customizers_mutate | write | searchads360.customers.CustomerCustomizers.mutate |
| searchads3_customer_labels_mutate | write | searchads360.customers.customerLabels.mutate |
| searchads3_customer_manager_links_mutate | write | searchads360.customers.customerManagerLinks.mutate |
| searchads3_customer_user_accesses_mutate | write | searchads360.customers.customerUserAccesses.mutate |
| searchads3_customers_account_links_create | write | searchads360.customers.accountLinks.create |
| searchads3_customers_account_links_mutate | write | searchads360.customers.accountLinks.mutate |
| searchads3_customers_ad_group_ads_mutate | write | searchads360.customers.adGroupAds.mutate |
| searchads3_customers_ad_groups_mutate | write | searchads360.customers.adGroups.mutate |
| searchads3_customers_ad_parameters_mutate | write | searchads360.customers.adParameters.mutate |
| searchads3_customers_ads_mutate | write | searchads360.customers.ads.mutate |
| searchads3_customers_asset_groups_mutate | write | searchads360.customers.assetGroups.mutate |
| searchads3_customers_asset_sets_mutate | write | searchads360.customers.assetSets.mutate |
| searchads3_customers_assets_mutate | write | searchads360.customers.assets.mutate |
| searchads3_customers_audiences_mutate | write | searchads360.customers.audiences.mutate |
| searchads3_customers_batch_jobs_mutate | write | searchads360.customers.batchJobs.mutate |
| searchads3_customers_batch_jobs_run | write | searchads360.customers.batchJobs.run |
| searchads3_customers_budget_opts | write | searchads360.customers.suggestSmartCampaignBudgetOptions |
| searchads3_customers_campaigns_mutate | write | searchads360.customers.campaigns.mutate |
| searchads3_customers_composition_insights | write | searchads360.customers.generateAudienceCompositionInsights |
| searchads3_customers_created_asset | write | searchads360.customers.removeCampaignAutomaticallyCreatedAsset |
| searchads3_customers_custom_columns_get | read | searchads360.customers.customColumns.get |
| searchads3_customers_custom_columns_list | read | searchads360.customers.customColumns.list |
| searchads3_customers_data_links_create | write | searchads360.customers.dataLinks.create |
| searchads3_customers_data_links_remove | destructive | searchads360.customers.dataLinks.remove |
| searchads3_customers_data_links_update | write | searchads360.customers.dataLinks.update |
| searchads3_customers_experiments_mutate | write | searchads360.customers.experiments.mutate |
| searchads3_customers_forecast_metrics | write | searchads360.customers.generateKeywordForecastMetrics |
| searchads3_customers_goals_mutate | write | searchads360.customers.Goals.mutate |
| searchads3_customers_historical_metrics | write | searchads360.customers.generateKeywordHistoricalMetrics |
| searchads3_customers_invoices_list | read | searchads360.customers.invoices.list |
| searchads3_customers_keyword_plans_mutate | write | searchads360.customers.keywordPlans.mutate |
| searchads3_customers_labels_mutate | write | searchads360.customers.labels.mutate |
| searchads3_customers_mutate | write | searchads360.customers.mutate |
| searchads3_customers_product_links_create | write | searchads360.customers.productLinks.create |
| searchads3_customers_product_links_remove | destructive | searchads360.customers.productLinks.remove |
| searchads3_customers_search_ads360_mutate | write | searchads360.customers.searchAds360.mutate |
| searchads3_customers_search_ads360_search | read | searchads360.customers.searchAds360.search |
| searchads3_customers_shared_sets_mutate | write | searchads360.customers.sharedSets.mutate |
| searchads3_customers_upload_user_data | write | searchads360.customers.uploadUserData |
| searchads3_customers_user_lists_mutate | write | searchads360.customers.userLists.mutate |
| searchads3_customizer_attributes_mutate | write | searchads360.customers.customizerAttributes.mutate |
| searchads3_customizers_mutate | write | searchads360.customers.AdGroupCriterionCustomizers.mutate |
| searchads3_drafts_list_async_errors | read | searchads360.customers.campaignDrafts.listAsyncErrors |
| searchads3_enable_p_max_brand_guidelines | write | searchads360.customers.campaigns.enablePMaxBrandGuidelines |
| searchads3_experiment_arms_mutate | write | searchads360.customers.experimentArms.mutate |
| searchads3_experiments_end_experiment | write | searchads360.customers.experiments.endExperiment |
| searchads3_experiments_promote_experiment | write | searchads360.customers.experiments.promoteExperiment |
| searchads3_exps_list_exp_async_errors | read | searchads360.customers.experiments.listExperimentAsyncErrors |
| searchads3_filters_mutate | write | searchads360.customers.assetGroupListingGroupFilters.mutate |
| searchads3_generate_ad_group_themes | write | searchads360.customers.generateAdGroupThemes |
| searchads3_generate_aud_overlap_insights | write | searchads360.customers.generateAudienceOverlapInsights |
| searchads3_generate_audience_definition | write | searchads360.customers.generateAudienceDefinition |
| searchads3_generate_benchmarks_metrics | write | searchads360.customers.generateBenchmarksMetrics |
| searchads3_generate_keyword_ideas | write | searchads360.customers.generateKeywordIdeas |
| searchads3_generate_reach_forecast | write | searchads360.customers.generateReachForecast |
| searchads3_geo_target_constants_suggest | write | searchads360.geoTargetConstants.suggest |
| searchads3_get_identity_verification | read | searchads360.customers.getIdentityVerification |
| searchads3_get_smart_campaign_status | read | searchads360.customers.smartCampaignSettings.getSmartCampaignStatus |
| searchads3_incentives_apply_incentive | write | searchads360.customers.incentives.applyIncentive |
| searchads3_incentives_fetch_incentive | read | searchads360.incentives.fetchIncentive |
| searchads3_invitations_mutate | write | searchads360.customers.customerUserAccessInvitations.mutate |
| searchads3_keyword_plan_ad_groups_mutate | write | searchads360.customers.keywordPlanAdGroups.mutate |
| searchads3_keyword_plan_campaigns_mutate | write | searchads360.customers.keywordPlanCampaigns.mutate |
| searchads3_keywords_mutate | write | searchads360.customers.keywordPlanAdGroupKeywords.mutate |
| searchads3_labels_mutate | write | searchads360.customers.adGroupCriterionLabels.mutate |
| searchads3_leads_provide_lead_feedback | write | searchads360.customers.localServicesLeads.provideLeadFeedback |
| searchads3_links_move_manager_link | write | searchads360.customers.customerManagerLinks.moveManagerLink |
| searchads3_list_accessible_customers | read | searchads360.customers.listAccessibleCustomers |
| searchads3_list_insights_eligible_dates | read | searchads360.audienceInsights.listInsightsEligibleDates |
| searchads3_list_plannable_user_interests | read | searchads360.listPlannableUserInterests |
| searchads3_mutate | write | searchads360.customers.conversionGoalCampaignConfigs.mutate |
| searchads3_offline_user_data_jobs_add_ops | write | searchads360.customers.offlineUserDataJobs.addOperations |
| searchads3_offline_user_data_jobs_create | write | searchads360.customers.offlineUserDataJobs.create |
| searchads3_offline_user_data_jobs_run | write | searchads360.customers.offlineUserDataJobs.run |
| searchads3_payments_accounts_list | read | searchads360.customers.paymentsAccounts.list |
| searchads3_rec_subs_mutate_rec_sub | write | searchads360.customers.recommendationSubscriptions.mutateRecommendationSubscription |
| searchads3_recommendations_dismiss | write | searchads360.customers.recommendations.dismiss |
| searchads3_recommendations_generate | write | searchads360.customers.recommendations.generate |
| searchads3_regenerate_shareable_link_id | write | searchads360.customers.thirdPartyAppAnalyticsLinks.regenerateShareableLinkId |
| searchads3_remarketing_actions_mutate | write | searchads360.customers.remarketingActions.mutate |
| searchads3_schemas_mutate | write | searchads360.customers.customerSkAdNetworkConversionValueSchemas.mutate |
| searchads3_search_ads360_campaigns_mutate | write | searchads360.customers.searchAds360Campaigns.mutate |
| searchads3_search_ads360_fields_get | read | searchads360.searchAds360Fields.get |
| searchads3_search_ads360_fields_search | read | searchads360.searchAds360Fields.search |
| searchads3_search_aud_insights_attributes | read | searchads360.customers.searchAudienceInsightsAttributes |
| searchads3_shared_criteria_mutate | write | searchads360.customers.sharedCriteria.mutate |
| searchads3_smart_campaign_settings_mutate | write | searchads360.customers.smartCampaignSettings.mutate |
| searchads3_start_identity_verification | write | searchads360.customers.startIdentityVerification |
| searchads3_suggest_keyword_themes | write | searchads360.customers.suggestKeywordThemes |
| searchads3_suggest_smart_campaign_ad | write | searchads360.customers.suggestSmartCampaignAd |
| searchads3_upload_call_conversions | write | searchads360.customers.uploadCallConversions |
| searchads3_upload_click_conversions | write | searchads360.customers.uploadClickConversions |
| searchads3_upload_conversion_adjustments | write | searchads360.customers.uploadConversionAdjustments |
| searchads3_v23_generate_conversion_rates | write | searchads360.generateConversionRates |
| searchads3_v23_list_benchmarks_locations | read | searchads360.listBenchmarksLocations |
| searchads3_v23_list_benchmarks_products | read | searchads360.listBenchmarksProducts |
| searchads3_v23_list_benchmarks_sources | read | searchads360.listBenchmarksSources |
| searchads3_v23_list_plannable_locations | read | searchads360.listPlannableLocations |
| searchads3_v23_list_plannable_products | read | searchads360.listPlannableProducts |
| searchads3_v23_list_plannable_user_lists | read | searchads360.listPlannableUserLists |
| searchads_account_budget_proposals_mutate | write | searchads360.customers.accountBudgetProposals.mutate |
| searchads_customers_billing_setups_mutate | write | searchads360.customers.billingSetups.mutate |
| searchads_customers_recommendations_apply | write | searchads360.customers.recommendations.apply |
| searchads_customers_suggest_travel_assets | write | searchads360.customers.suggestTravelAssets |
| searchads_experiments_graduate_experiment | write | searchads360.customers.experiments.graduateExperiment |
| searchads_experiments_schedule_experiment | write | searchads360.customers.experiments.scheduleExperiment |
| searchads_generate_insights_finder_report | write | searchads360.customers.generateInsightsFinderReport |
| searchads_generate_suggested_tgt_insights | write | searchads360.customers.generateSuggestedTargetingInsights |
| searchads_generate_tgt_suggestion_metrics | write | searchads360.customers.generateTargetingSuggestionMetrics |
| searchads_keyword_theme_constants_suggest | write | searchads360.keywordThemeConstants.suggest |
| searchads_list_benchmarks_available_dates | read | searchads360.listBenchmarksAvailableDates |
| searchads_product_link_invitations_create | write | searchads360.customers.productLinkInvitations.create |
| searchads_product_link_invitations_remove | destructive | searchads360.customers.productLinkInvitations.remove |
| searchads_product_link_invitations_update | write | searchads360.customers.productLinkInvitations.update |
| searchads_user_list_customer_types_mutate | write | searchads360.customers.userListCustomerTypes.mutate |
The plugin option toolset can list fewer tools. google lists 3 tools that do the same jobs as Google's official MCP server for this product; curated lists the hand-written and gateway tools; all is the default.
Sign-in
gads belongs to the business login group. Log in once for the group: create a Desktop OAuth client in a Google Cloud project, save its file with npx google-services-mcps setup-client, then run npx google-services-mcps login business.
The plugin's scope file lists 8 OAuth scopes for 1 APIs. A login asks only for the scopes of its profile: readonly (the default), readwrite, full, or an exact list.
| API | Scope |
|---|---|
| gads | https://www.googleapis.com/auth/admob.readonly |
| gads | https://www.googleapis.com/auth/admob.report |
| gads | https://www.googleapis.com/auth/adwords |
| gads | https://www.googleapis.com/auth/display-video |
| gads | https://www.googleapis.com/auth/display-video-mediaplanning |
| gads | https://www.googleapis.com/auth/display-video-user-management |
| gads | https://www.googleapis.com/auth/doubleclickbidmanager |
| gads | https://www.googleapis.com/auth/doubleclicksearch |
Plugin details
- Plugin
- gads
- MCP server
- gads
- Display name
- Ads and Publisher
- Version
- 2.17.0
- Marketplace
- google-services-mcps
- Login group
- business
- Marketplace category
- marketing
- Plugin options
- ads_developer_token, ads_login_customer_id, allow_writes, confirmation, token_dir, toolset
- Server kind
- curated+discovery