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 gads

What 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.

Generated API bindings
APIVersion
admobv1
displayvideov4
doubleclickbidmanagerv2
googleadsv26
searchads360v23
Gateway APIs
APIVersion
adexchangebuyer2v2beta1
admobv1beta
adsensev2
adsenseplatformv1
adsenseplatformv1alpha
agenciesandbrandsv1
authorizedbuyersmarketplacev1
authorizedbuyersmarketplacev1alpha
authorizedbuyersmarketplacev1beta
checksv1alpha
curationpartnersv1
datamanagerv1
dfareportingv3.5
dfareportingv5
displayvideov2
displayvideov3
displayvideov4
displayvideov5
doubleclicksearchv2
googleadsv26
localservicesv1
marketingplatformadminv1alpha
readerrevenuesubscriptionlinkingv1
realtimebiddingv1
searchads360v0
webcontentpublisherv1

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.

Registered tools
ToolClassWhat it does
account_removewriteRemove a signed-in account
account_set_defaultwriteSet the default account
accounts_listreadSigned-in accounts
admob_accounts_ad_units_listreadadmob.accounts.adUnits.list
admob_accounts_apps_listreadadmob.accounts.apps.list
admob_accounts_getreadadmob.accounts.get
admob_accounts_listreadadmob.accounts.list
admob_accounts_mediation_report_generatereadadmob.accounts.mediationReport.generate
admob_accounts_network_report_generatereadadmob.accounts.networkReport.generate
ads_list_customersreadList Google Ads accounts
ads_mutatedynamicChange Google Ads resources
ads_resource_metadatareadFields of a Google Ads resource
ads_searchreadSearch Google Ads (GAQL)
api_calldynamicCall an API method
api_describereadDescribe an API method
api_methodsreadgads: API methods
api_searchreadSearch API methods
auth_loginwriteSign in to Google
auth_setup_clientwriteSave the Google OAuth client
auth_statusreadSign-in status
dis_youtube_asset_types_associations_listreaddisplayvideo.advertisers.lineItems.youtubeAssetTypes.youtubeAssetAssociations.list
disp_negative_keyword_lists_keywords_listreaddisplayvideo.advertisers.negativeKeywordLists.negativeKeywords.list
displa_line_items_bulk_edit_asgn_tgt_optswritedisplayvideo.advertisers.lineItems.bulkEditAssignedTargetingOptions
displa_line_items_bulk_list_asgn_tgt_optsreaddisplayvideo.advertisers.lineItems.bulkListAssignedTargetingOptions
displa_location_lists_locations_bulk_editwritedisplayvideo.advertisers.locationLists.assignedLocations.bulkEdit
displayv_invoices_lookup_invoice_currencyreaddisplayvideo.advertisers.invoices.lookupInvoiceCurrency
displayv_line_items_tgt_types_opts_createwritedisplayvideo.advertisers.lineItems.targetingTypes.assignedTargetingOptions.create
displayv_line_items_tgt_types_opts_deletedestructivedisplayvideo.advertisers.lineItems.targetingTypes.assignedTargetingOptions.delete
displayvi_advertisers_ad_group_ads_createwritedisplayvideo.advertisers.adGroupAds.create
displayvi_advertisers_ad_group_ads_deletedestructivedisplayvideo.advertisers.adGroupAds.delete
displayvi_advertisers_channels_sites_listreaddisplayvideo.advertisers.channels.sites.list
displayvi_advertisers_location_lists_listreaddisplayvideo.advertisers.locationLists.list
displayvi_advs_groups_tgt_types_opts_listreaddisplayvideo.advertisers.adGroups.targetingTypes.assignedTargetingOptions.list
displayvi_advs_negative_keyword_lists_getreaddisplayvideo.advertisers.negativeKeywordLists.get
displayvi_location_lists_locations_createwritedisplayvideo.advertisers.locationLists.assignedLocations.create
displayvi_location_lists_locations_deletedestructivedisplayvideo.advertisers.locationLists.assignedLocations.delete
displayvi_sdfdownloadtasks_operations_getreaddisplayvideo.sdfdownloadtasks.operations.get
displayvid_adv_ad_gro_you_ass_typ_ass_crewritedisplayvideo.advertisers.adGroups.youtubeAssetTypes.youtubeAssetAssociations.create
displayvid_adv_ad_gro_you_ass_typ_ass_deldestructivedisplayvideo.advertisers.adGroups.youtubeAssetTypes.youtubeAssetAssociations.delete
displayvid_adv_ad_gro_you_ass_typ_ass_lisreaddisplayvideo.advertisers.adGroups.youtubeAssetTypes.youtubeAssetAssociations.list
displayvid_advertisers_ad_assets_createwritedisplayvideo.advertisers.adAssets.create
displayvid_advertisers_ad_assets_getreaddisplayvideo.advertisers.adAssets.get
displayvid_advertisers_ad_assets_listreaddisplayvideo.advertisers.adAssets.list
displayvid_advertisers_ad_assets_patchwritedisplayvideo.advertisers.adAssets.patch
displayvid_advertisers_ad_group_ads_getreaddisplayvideo.advertisers.adGroupAds.get
displayvid_advertisers_ad_group_ads_listreaddisplayvideo.advertisers.adGroupAds.list
displayvid_advertisers_ad_group_ads_patchwritedisplayvideo.advertisers.adGroupAds.patch
displayvid_advertisers_ad_groups_createwritedisplayvideo.advertisers.adGroups.create
displayvid_advertisers_ad_groups_deletedestructivedisplayvideo.advertisers.adGroups.delete
displayvid_advertisers_ad_groups_getreaddisplayvideo.advertisers.adGroups.get
displayvid_advertisers_ad_groups_listreaddisplayvideo.advertisers.adGroups.list
displayvid_advertisers_ad_groups_patchwritedisplayvideo.advertisers.adGroups.patch
displayvid_advertisers_auditreaddisplayvideo.advertisers.audit
displayvid_advertisers_campaigns_createwritedisplayvideo.advertisers.campaigns.create
displayvid_advertisers_campaigns_deletedestructivedisplayvideo.advertisers.campaigns.delete
displayvid_advertisers_campaigns_getreaddisplayvideo.advertisers.campaigns.get
displayvid_advertisers_campaigns_listreaddisplayvideo.advertisers.campaigns.list
displayvid_advertisers_campaigns_patchwritedisplayvideo.advertisers.campaigns.patch
displayvid_advertisers_channels_createwritedisplayvideo.advertisers.channels.create
displayvid_advertisers_channels_getreaddisplayvideo.advertisers.channels.get
displayvid_advertisers_channels_listreaddisplayvideo.advertisers.channels.list
displayvid_advertisers_channels_patchwritedisplayvideo.advertisers.channels.patch
displayvid_advertisers_createwritedisplayvideo.advertisers.create
displayvid_advertisers_creatives_createwritedisplayvideo.advertisers.creatives.create
displayvid_advertisers_creatives_deletedestructivedisplayvideo.advertisers.creatives.delete
displayvid_advertisers_creatives_getreaddisplayvideo.advertisers.creatives.get
displayvid_advertisers_creatives_listreaddisplayvideo.advertisers.creatives.list
displayvid_advertisers_creatives_patchwritedisplayvideo.advertisers.creatives.patch
displayvid_advertisers_deletedestructivedisplayvideo.advertisers.delete
displayvid_advertisers_getreaddisplayvideo.advertisers.get
displayvid_advertisers_invoices_listreaddisplayvideo.advertisers.invoices.list
displayvid_advertisers_line_items_createwritedisplayvideo.advertisers.lineItems.create
displayvid_advertisers_line_items_deletedestructivedisplayvideo.advertisers.lineItems.delete
displayvid_advertisers_line_items_getreaddisplayvideo.advertisers.lineItems.get
displayvid_advertisers_line_items_listreaddisplayvideo.advertisers.lineItems.list
displayvid_advertisers_line_items_patchwritedisplayvideo.advertisers.lineItems.patch
displayvid_advertisers_listreaddisplayvideo.advertisers.list
displayvid_advertisers_location_lists_getreaddisplayvideo.advertisers.locationLists.get
displayvid_advertisers_patchwritedisplayvideo.advertisers.patch
displayvid_advs_ad_assets_bulk_createwritedisplayvideo.advertisers.adAssets.bulkCreate
displayvid_advs_chans_sites_bulk_editwritedisplayvideo.advertisers.channels.sites.bulkEdit
displayvid_advs_chans_sites_createwritedisplayvideo.advertisers.channels.sites.create
displayvid_advs_chans_sites_deletedestructivedisplayvideo.advertisers.channels.sites.delete
displayvid_advs_chans_sites_replacewritedisplayvideo.advertisers.channels.sites.replace
displayvid_advs_edit_asgn_tgt_optswritedisplayvideo.advertisers.editAssignedTargetingOptions
displayvid_advs_groups_tgt_types_opts_getreaddisplayvideo.advertisers.adGroups.targetingTypes.assignedTargetingOptions.get
displayvid_advs_insertion_orders_createwritedisplayvideo.advertisers.insertionOrders.create
displayvid_advs_insertion_orders_deletedestructivedisplayvideo.advertisers.insertionOrders.delete
displayvid_advs_insertion_orders_getreaddisplayvideo.advertisers.insertionOrders.get
displayvid_advs_insertion_orders_listreaddisplayvideo.advertisers.insertionOrders.list
displayvid_advs_insertion_orders_patchwritedisplayvideo.advertisers.insertionOrders.patch
displayvid_advs_line_items_bulk_updatewritedisplayvideo.advertisers.lineItems.bulkUpdate
displayvid_advs_line_items_duplicatewritedisplayvideo.advertisers.lineItems.duplicate
displayvid_advs_list_asgn_tgt_optsreaddisplayvideo.advertisers.listAssignedTargetingOptions
displayvid_advs_location_lists_createwritedisplayvideo.advertisers.locationLists.create
displayvid_advs_location_lists_patchwritedisplayvideo.advertisers.locationLists.patch
displayvid_advs_tgt_types_opts_createwritedisplayvideo.advertisers.targetingTypes.assignedTargetingOptions.create
displayvid_advs_tgt_types_opts_deletedestructivedisplayvideo.advertisers.targetingTypes.assignedTargetingOptions.delete
displayvid_advs_tgt_types_opts_getreaddisplayvideo.advertisers.targetingTypes.assignedTargetingOptions.get
displayvid_advs_tgt_types_opts_listreaddisplayvideo.advertisers.targetingTypes.assignedTargetingOptions.list
displayvid_associations_createwritedisplayvideo.advertisers.lineItems.youtubeAssetTypes.youtubeAssetAssociations.create
displayvid_associations_deletedestructivedisplayvideo.advertisers.lineItems.youtubeAssetTypes.youtubeAssetAssociations.delete
displayvid_auds_createwritedisplayvideo.firstPartyAndPartnerAudiences.create
displayvid_auds_getreaddisplayvideo.firstPartyAndPartnerAudiences.get
displayvid_auds_listreaddisplayvideo.firstPartyAndPartnerAudiences.list
displayvid_auds_patchwritedisplayvideo.firstPartyAndPartnerAudiences.patch
displayvid_combined_audiences_getreaddisplayvideo.combinedAudiences.get
displayvid_combined_audiences_listreaddisplayvideo.combinedAudiences.list
displayvid_custom_lists_getreaddisplayvideo.customLists.get
displayvid_custom_lists_listreaddisplayvideo.customLists.list
displayvid_edit_customer_match_memberswritedisplayvideo.firstPartyAndPartnerAudiences.editCustomerMatchMembers
displayvid_floodlight_groups_getreaddisplayvideo.floodlightGroups.get
displayvid_floodlight_groups_patchwritedisplayvideo.floodlightGroups.patch
displayvid_google_audiences_getreaddisplayvideo.googleAudiences.get
displayvid_google_audiences_listreaddisplayvideo.googleAudiences.list
displayvid_groups_activities_getreaddisplayvideo.floodlightGroups.floodlightActivities.get
displayvid_groups_activities_listreaddisplayvideo.floodlightGroups.floodlightActivities.list
displayvid_groups_bulk_edit_asgn_tgt_optswritedisplayvideo.advertisers.adGroups.bulkEditAssignedTargetingOptions
displayvid_groups_bulk_list_asgn_tgt_optsreaddisplayvideo.advertisers.adGroups.bulkListAssignedTargetingOptions
displayvid_groups_tgt_types_opts_createwritedisplayvideo.advertisers.adGroups.targetingTypes.assignedTargetingOptions.create
displayvid_groups_tgt_types_opts_deletedestructivedisplayvideo.advertisers.adGroups.targetingTypes.assignedTargetingOptions.delete
displayvid_keywords_bulk_editwritedisplayvideo.advertisers.negativeKeywordLists.negativeKeywords.bulkEdit
displayvid_keywords_createwritedisplayvideo.advertisers.negativeKeywordLists.negativeKeywords.create
displayvid_keywords_deletedestructivedisplayvideo.advertisers.negativeKeywordLists.negativeKeywords.delete
displayvid_keywords_replacewritedisplayvideo.advertisers.negativeKeywordLists.negativeKeywords.replace
displayvid_line_items_tgt_types_opts_getreaddisplayvideo.advertisers.lineItems.targetingTypes.assignedTargetingOptions.get
displayvid_line_items_tgt_types_opts_listreaddisplayvideo.advertisers.lineItems.targetingTypes.assignedTargetingOptions.list
displayvid_location_lists_locations_listreaddisplayvideo.advertisers.locationLists.assignedLocations.list
displayvid_negative_keyword_lists_createwritedisplayvideo.advertisers.negativeKeywordLists.create
displayvid_negative_keyword_lists_deletedestructivedisplayvideo.advertisers.negativeKeywordLists.delete
displayvid_negative_keyword_lists_listreaddisplayvideo.advertisers.negativeKeywordLists.list
displayvid_negative_keyword_lists_patchwritedisplayvideo.advertisers.negativeKeywordLists.patch
displayvid_sdfdownloadtasks_createwritedisplayvideo.sdfdownloadtasks.create
displayvid_tgt_types_tgt_opts_getreaddisplayvideo.targetingTypes.targetingOptions.get
displayvid_tgt_types_tgt_opts_listreaddisplayvideo.targetingTypes.targetingOptions.list
displayvid_tgt_types_tgt_opts_searchreaddisplayvideo.targetingTypes.targetingOptions.search
doubleclic_queries_createwritedoubleclickbidmanager.queries.create
doubleclic_queries_deletedestructivedoubleclickbidmanager.queries.delete
doubleclic_queries_getreaddoubleclickbidmanager.queries.get
doubleclic_queries_listreaddoubleclickbidmanager.queries.list
doubleclic_queries_reports_getreaddoubleclickbidmanager.queries.reports.get
doubleclic_queries_reports_listreaddoubleclickbidmanager.queries.reports.list
doubleclic_queries_runwritedoubleclickbidmanager.queries.run
googl_remove_automatically_created_assetswritegoogleads.customers.adGroupAds.removeAutomaticallyCreatedAssets
googleads_account_budget_proposals_mutatedynamicgoogleads.customers.accountBudgetProposals.mutate
googleads_ad_group_assets_mutatedynamicgoogleads.customers.adGroupAssets.mutate
googleads_ad_group_criteria_mutatedynamicgoogleads.customers.adGroupCriteria.mutate
googleads_asset_group_assets_mutatedynamicgoogleads.customers.assetGroupAssets.mutate
googleads_bidding_strategies_mutatedynamicgoogleads.customers.biddingStrategies.mutate
googleads_campaign_assets_mutatedynamicgoogleads.customers.campaignAssets.mutate
googleads_campaign_budgets_mutatedynamicgoogleads.customers.campaignBudgets.mutate
googleads_campaign_conv_goals_mutatedynamicgoogleads.customers.campaignConversionGoals.mutate
googleads_campaign_criteria_mutatedynamicgoogleads.customers.campaignCriteria.mutate
googleads_conversion_actions_mutatedynamicgoogleads.customers.conversionActions.mutate
googleads_create_customer_clientwritegoogleads.customers.createCustomerClient
googleads_criteria_mutatedynamicgoogleads.customers.customerNegativeCriteria.mutate
googleads_custom_conversion_goals_mutatedynamicgoogleads.customers.customConversionGoals.mutate
googleads_customer_assets_mutatedynamicgoogleads.customers.customerAssets.mutate
googleads_customers_ad_group_ads_mutatedynamicgoogleads.customers.adGroupAds.mutate
googleads_customers_ad_groups_mutatedynamicgoogleads.customers.adGroups.mutate
googleads_customers_ads_mutatedynamicgoogleads.customers.ads.mutate
googleads_customers_asset_groups_mutatedynamicgoogleads.customers.assetGroups.mutate
googleads_customers_asset_sets_mutatedynamicgoogleads.customers.assetSets.mutate
googleads_customers_assets_mutatedynamicgoogleads.customers.assets.mutate
googleads_customers_campaigns_mutatedynamicgoogleads.customers.campaigns.mutate
googleads_customers_google_ads_mutatedynamicgoogleads.customers.googleAds.mutate
googleads_customers_google_ads_searchreadgoogleads.customers.googleAds.search
googleads_customers_mutatedynamicgoogleads.customers.mutate
googleads_enable_p_max_brand_guidelineswritegoogleads.customers.campaigns.enablePMaxBrandGuidelines
googleads_generate_keyword_ideasreadgoogleads.customers.generateKeywordIdeas
googleads_geo_target_constants_suggestreadgoogleads.geoTargetConstants.suggest
googleads_google_ads_fields_getreadgoogleads.googleAdsFields.get
googleads_google_ads_fields_searchreadgoogleads.googleAdsFields.search
googleads_google_ads_search_streamreadgoogleads.customers.googleAds.searchStream
googleads_keyword_theme_constants_suggestreadgoogleads.keywordThemeConstants.suggest
googleads_list_accessible_customersreadgoogleads.customers.listAccessibleCustomers
healthreadServer health
sea_keyword_plan_campaign_keywords_mutatewritesearchads360.customers.keywordPlanCampaignKeywords.mutate
searc_remove_automatically_created_assetswritesearchads360.customers.adGroupAds.removeAutomaticallyCreatedAssets
search_configure_campaign_lifecycle_goalswritesearchads360.customers.campaignLifecycleGoal.configureCampaignLifecycleGoals
search_configure_customer_lifecycle_goalswritesearchads360.customers.customerLifecycleGoal.configureCustomerLifecycleGoals
searchads3_ad_group_ad_labels_mutatewritesearchads360.customers.adGroupAdLabels.mutate
searchads3_ad_group_asset_sets_mutatewritesearchads360.customers.adGroupAssetSets.mutate
searchads3_ad_group_assets_mutatewritesearchads360.customers.adGroupAssets.mutate
searchads3_ad_group_bid_modifiers_mutatewritesearchads360.customers.adGroupBidModifiers.mutate
searchads3_ad_group_criteria_mutatewritesearchads360.customers.adGroupCriteria.mutate
searchads3_ad_group_customizers_mutatewritesearchads360.customers.adGroupCustomizers.mutate
searchads3_ad_group_labels_mutatewritesearchads360.customers.adGroupLabels.mutate
searchads3_adjustments_mutatewritesearchads360.customers.biddingSeasonalityAdjustments.mutate
searchads3_append_lead_conversationwritesearchads360.customers.localServices.appendLeadConversation
searchads3_asset_group_assets_mutatewritesearchads360.customers.assetGroupAssets.mutate
searchads3_asset_group_signals_mutatewritesearchads360.customers.assetGroupSignals.mutate
searchads3_asset_set_assets_mutatewritesearchads360.customers.assetSetAssets.mutate
searchads3_batch_jobs_add_operationswritesearchads360.customers.batchJobs.addOperations
searchads3_batch_jobs_list_resultsreadsearchads360.customers.batchJobs.listResults
searchads3_bidding_data_exclusions_mutatewritesearchads360.customers.biddingDataExclusions.mutate
searchads3_bidding_strategies_mutatewritesearchads360.customers.biddingStrategies.mutate
searchads3_campaign_asset_sets_mutatewritesearchads360.customers.campaignAssetSets.mutate
searchads3_campaign_assets_mutatewritesearchads360.customers.campaignAssets.mutate
searchads3_campaign_bid_modifiers_mutatewritesearchads360.customers.campaignBidModifiers.mutate
searchads3_campaign_budgets_mutatewritesearchads360.customers.campaignBudgets.mutate
searchads3_campaign_conv_goals_mutatewritesearchads360.customers.campaignConversionGoals.mutate
searchads3_campaign_criteria_mutatewritesearchads360.customers.campaignCriteria.mutate
searchads3_campaign_customizers_mutatewritesearchads360.customers.campaignCustomizers.mutate
searchads3_campaign_drafts_mutatewritesearchads360.customers.campaignDrafts.mutate
searchads3_campaign_drafts_promotewritesearchads360.customers.campaignDrafts.promote
searchads3_campaign_goal_configs_mutatewritesearchads360.customers.CampaignGoalConfigs.mutate
searchads3_campaign_groups_mutatewritesearchads360.customers.campaignGroups.mutate
searchads3_campaign_labels_mutatewritesearchads360.customers.campaignLabels.mutate
searchads3_campaign_shared_sets_mutatewritesearchads360.customers.campaignSharedSets.mutate
searchads3_conv_custom_variables_mutatewritesearchads360.customers.conversionCustomVariables.mutate
searchads3_conv_value_rule_sets_mutatewritesearchads360.customers.conversionValueRuleSets.mutate
searchads3_conversion_actions_mutatewritesearchads360.customers.conversionActions.mutate
searchads3_conversion_value_rules_mutatewritesearchads360.customers.conversionValueRules.mutate
searchads3_create_customer_clientwritesearchads360.customers.createCustomerClient
searchads3_criteria_mutatewritesearchads360.customers.customerNegativeCriteria.mutate
searchads3_custom_audiences_mutatewritesearchads360.customers.customAudiences.mutate
searchads3_custom_conversion_goals_mutatewritesearchads360.customers.customConversionGoals.mutate
searchads3_custom_interests_mutatewritesearchads360.customers.customInterests.mutate
searchads3_customer_asset_sets_mutatewritesearchads360.customers.customerAssetSets.mutate
searchads3_customer_assets_mutatewritesearchads360.customers.customerAssets.mutate
searchads3_customer_client_links_mutatewritesearchads360.customers.customerClientLinks.mutate
searchads3_customer_conv_goals_mutatewritesearchads360.customers.customerConversionGoals.mutate
searchads3_customer_customizers_mutatewritesearchads360.customers.CustomerCustomizers.mutate
searchads3_customer_labels_mutatewritesearchads360.customers.customerLabels.mutate
searchads3_customer_manager_links_mutatewritesearchads360.customers.customerManagerLinks.mutate
searchads3_customer_user_accesses_mutatewritesearchads360.customers.customerUserAccesses.mutate
searchads3_customers_account_links_createwritesearchads360.customers.accountLinks.create
searchads3_customers_account_links_mutatewritesearchads360.customers.accountLinks.mutate
searchads3_customers_ad_group_ads_mutatewritesearchads360.customers.adGroupAds.mutate
searchads3_customers_ad_groups_mutatewritesearchads360.customers.adGroups.mutate
searchads3_customers_ad_parameters_mutatewritesearchads360.customers.adParameters.mutate
searchads3_customers_ads_mutatewritesearchads360.customers.ads.mutate
searchads3_customers_asset_groups_mutatewritesearchads360.customers.assetGroups.mutate
searchads3_customers_asset_sets_mutatewritesearchads360.customers.assetSets.mutate
searchads3_customers_assets_mutatewritesearchads360.customers.assets.mutate
searchads3_customers_audiences_mutatewritesearchads360.customers.audiences.mutate
searchads3_customers_batch_jobs_mutatewritesearchads360.customers.batchJobs.mutate
searchads3_customers_batch_jobs_runwritesearchads360.customers.batchJobs.run
searchads3_customers_budget_optswritesearchads360.customers.suggestSmartCampaignBudgetOptions
searchads3_customers_campaigns_mutatewritesearchads360.customers.campaigns.mutate
searchads3_customers_composition_insightswritesearchads360.customers.generateAudienceCompositionInsights
searchads3_customers_created_assetwritesearchads360.customers.removeCampaignAutomaticallyCreatedAsset
searchads3_customers_custom_columns_getreadsearchads360.customers.customColumns.get
searchads3_customers_custom_columns_listreadsearchads360.customers.customColumns.list
searchads3_customers_data_links_createwritesearchads360.customers.dataLinks.create
searchads3_customers_data_links_removedestructivesearchads360.customers.dataLinks.remove
searchads3_customers_data_links_updatewritesearchads360.customers.dataLinks.update
searchads3_customers_experiments_mutatewritesearchads360.customers.experiments.mutate
searchads3_customers_forecast_metricswritesearchads360.customers.generateKeywordForecastMetrics
searchads3_customers_goals_mutatewritesearchads360.customers.Goals.mutate
searchads3_customers_historical_metricswritesearchads360.customers.generateKeywordHistoricalMetrics
searchads3_customers_invoices_listreadsearchads360.customers.invoices.list
searchads3_customers_keyword_plans_mutatewritesearchads360.customers.keywordPlans.mutate
searchads3_customers_labels_mutatewritesearchads360.customers.labels.mutate
searchads3_customers_mutatewritesearchads360.customers.mutate
searchads3_customers_product_links_createwritesearchads360.customers.productLinks.create
searchads3_customers_product_links_removedestructivesearchads360.customers.productLinks.remove
searchads3_customers_search_ads360_mutatewritesearchads360.customers.searchAds360.mutate
searchads3_customers_search_ads360_searchreadsearchads360.customers.searchAds360.search
searchads3_customers_shared_sets_mutatewritesearchads360.customers.sharedSets.mutate
searchads3_customers_upload_user_datawritesearchads360.customers.uploadUserData
searchads3_customers_user_lists_mutatewritesearchads360.customers.userLists.mutate
searchads3_customizer_attributes_mutatewritesearchads360.customers.customizerAttributes.mutate
searchads3_customizers_mutatewritesearchads360.customers.AdGroupCriterionCustomizers.mutate
searchads3_drafts_list_async_errorsreadsearchads360.customers.campaignDrafts.listAsyncErrors
searchads3_enable_p_max_brand_guidelineswritesearchads360.customers.campaigns.enablePMaxBrandGuidelines
searchads3_experiment_arms_mutatewritesearchads360.customers.experimentArms.mutate
searchads3_experiments_end_experimentwritesearchads360.customers.experiments.endExperiment
searchads3_experiments_promote_experimentwritesearchads360.customers.experiments.promoteExperiment
searchads3_exps_list_exp_async_errorsreadsearchads360.customers.experiments.listExperimentAsyncErrors
searchads3_filters_mutatewritesearchads360.customers.assetGroupListingGroupFilters.mutate
searchads3_generate_ad_group_themeswritesearchads360.customers.generateAdGroupThemes
searchads3_generate_aud_overlap_insightswritesearchads360.customers.generateAudienceOverlapInsights
searchads3_generate_audience_definitionwritesearchads360.customers.generateAudienceDefinition
searchads3_generate_benchmarks_metricswritesearchads360.customers.generateBenchmarksMetrics
searchads3_generate_keyword_ideaswritesearchads360.customers.generateKeywordIdeas
searchads3_generate_reach_forecastwritesearchads360.customers.generateReachForecast
searchads3_geo_target_constants_suggestwritesearchads360.geoTargetConstants.suggest
searchads3_get_identity_verificationreadsearchads360.customers.getIdentityVerification
searchads3_get_smart_campaign_statusreadsearchads360.customers.smartCampaignSettings.getSmartCampaignStatus
searchads3_incentives_apply_incentivewritesearchads360.customers.incentives.applyIncentive
searchads3_incentives_fetch_incentivereadsearchads360.incentives.fetchIncentive
searchads3_invitations_mutatewritesearchads360.customers.customerUserAccessInvitations.mutate
searchads3_keyword_plan_ad_groups_mutatewritesearchads360.customers.keywordPlanAdGroups.mutate
searchads3_keyword_plan_campaigns_mutatewritesearchads360.customers.keywordPlanCampaigns.mutate
searchads3_keywords_mutatewritesearchads360.customers.keywordPlanAdGroupKeywords.mutate
searchads3_labels_mutatewritesearchads360.customers.adGroupCriterionLabels.mutate
searchads3_leads_provide_lead_feedbackwritesearchads360.customers.localServicesLeads.provideLeadFeedback
searchads3_links_move_manager_linkwritesearchads360.customers.customerManagerLinks.moveManagerLink
searchads3_list_accessible_customersreadsearchads360.customers.listAccessibleCustomers
searchads3_list_insights_eligible_datesreadsearchads360.audienceInsights.listInsightsEligibleDates
searchads3_list_plannable_user_interestsreadsearchads360.listPlannableUserInterests
searchads3_mutatewritesearchads360.customers.conversionGoalCampaignConfigs.mutate
searchads3_offline_user_data_jobs_add_opswritesearchads360.customers.offlineUserDataJobs.addOperations
searchads3_offline_user_data_jobs_createwritesearchads360.customers.offlineUserDataJobs.create
searchads3_offline_user_data_jobs_runwritesearchads360.customers.offlineUserDataJobs.run
searchads3_payments_accounts_listreadsearchads360.customers.paymentsAccounts.list
searchads3_rec_subs_mutate_rec_subwritesearchads360.customers.recommendationSubscriptions.mutateRecommendationSubscription
searchads3_recommendations_dismisswritesearchads360.customers.recommendations.dismiss
searchads3_recommendations_generatewritesearchads360.customers.recommendations.generate
searchads3_regenerate_shareable_link_idwritesearchads360.customers.thirdPartyAppAnalyticsLinks.regenerateShareableLinkId
searchads3_remarketing_actions_mutatewritesearchads360.customers.remarketingActions.mutate
searchads3_schemas_mutatewritesearchads360.customers.customerSkAdNetworkConversionValueSchemas.mutate
searchads3_search_ads360_campaigns_mutatewritesearchads360.customers.searchAds360Campaigns.mutate
searchads3_search_ads360_fields_getreadsearchads360.searchAds360Fields.get
searchads3_search_ads360_fields_searchreadsearchads360.searchAds360Fields.search
searchads3_search_aud_insights_attributesreadsearchads360.customers.searchAudienceInsightsAttributes
searchads3_shared_criteria_mutatewritesearchads360.customers.sharedCriteria.mutate
searchads3_smart_campaign_settings_mutatewritesearchads360.customers.smartCampaignSettings.mutate
searchads3_start_identity_verificationwritesearchads360.customers.startIdentityVerification
searchads3_suggest_keyword_themeswritesearchads360.customers.suggestKeywordThemes
searchads3_suggest_smart_campaign_adwritesearchads360.customers.suggestSmartCampaignAd
searchads3_upload_call_conversionswritesearchads360.customers.uploadCallConversions
searchads3_upload_click_conversionswritesearchads360.customers.uploadClickConversions
searchads3_upload_conversion_adjustmentswritesearchads360.customers.uploadConversionAdjustments
searchads3_v23_generate_conversion_rateswritesearchads360.generateConversionRates
searchads3_v23_list_benchmarks_locationsreadsearchads360.listBenchmarksLocations
searchads3_v23_list_benchmarks_productsreadsearchads360.listBenchmarksProducts
searchads3_v23_list_benchmarks_sourcesreadsearchads360.listBenchmarksSources
searchads3_v23_list_plannable_locationsreadsearchads360.listPlannableLocations
searchads3_v23_list_plannable_productsreadsearchads360.listPlannableProducts
searchads3_v23_list_plannable_user_listsreadsearchads360.listPlannableUserLists
searchads_account_budget_proposals_mutatewritesearchads360.customers.accountBudgetProposals.mutate
searchads_customers_billing_setups_mutatewritesearchads360.customers.billingSetups.mutate
searchads_customers_recommendations_applywritesearchads360.customers.recommendations.apply
searchads_customers_suggest_travel_assetswritesearchads360.customers.suggestTravelAssets
searchads_experiments_graduate_experimentwritesearchads360.customers.experiments.graduateExperiment
searchads_experiments_schedule_experimentwritesearchads360.customers.experiments.scheduleExperiment
searchads_generate_insights_finder_reportwritesearchads360.customers.generateInsightsFinderReport
searchads_generate_suggested_tgt_insightswritesearchads360.customers.generateSuggestedTargetingInsights
searchads_generate_tgt_suggestion_metricswritesearchads360.customers.generateTargetingSuggestionMetrics
searchads_keyword_theme_constants_suggestwritesearchads360.keywordThemeConstants.suggest
searchads_list_benchmarks_available_datesreadsearchads360.listBenchmarksAvailableDates
searchads_product_link_invitations_createwritesearchads360.customers.productLinkInvitations.create
searchads_product_link_invitations_removedestructivesearchads360.customers.productLinkInvitations.remove
searchads_product_link_invitations_updatewritesearchads360.customers.productLinkInvitations.update
searchads_user_list_customer_types_mutatewritesearchads360.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.

OAuth scopes in the plugin's scope file
APIScope
gadshttps://www.googleapis.com/auth/admob.readonly
gadshttps://www.googleapis.com/auth/admob.report
gadshttps://www.googleapis.com/auth/adwords
gadshttps://www.googleapis.com/auth/display-video
gadshttps://www.googleapis.com/auth/display-video-mediaplanning
gadshttps://www.googleapis.com/auth/display-video-user-management
gadshttps://www.googleapis.com/auth/doubleclickbidmanager
gadshttps://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