Google Ads MCP Server
Provides comprehensive management of Google Ads accounts, campaigns, ad groups, ads, keywords, budgets, bidding strategies, audiences, assets, conversions, reporting, recommendations, experiments, labels, and more via the Google Ads API.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Google Ads MCP ServerShow me the performance dashboard for my main campaign over the last 30 days."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Google Ads MCP Server
Complete MCP server for Google Ads management with full CRUD, visualization dashboard, reports, and management of all features available in the Google Ads panel.
Features (85+ tools)
Accounts & Customers
list_accessible_customers— List accessible accountsget_customer_details— Account detailslist_customer_clients— Clients under MCCupdate_customer— Update settingsget_account_hierarchy— Account hierarchyget_change_history— Change history
Campaigns (Full CRUD)
list_campaigns— List campaigns with filtersget_campaign— Full campaign detailscreate_campaign— Create campaign (Search, Display, Shopping, Video, Performance Max, etc.)update_campaign— Update name, status, bids, datesremove_campaign— Remove campaignget_campaign_performance— Performance metricscopy_campaign— Copy campaign settings
Ad Groups (Full CRUD)
list_ad_groups— List ad groupsget_ad_group— Group detailscreate_ad_group— Create ad groupupdate_ad_group— Update settingsremove_ad_group— Remove groupget_ad_group_performance— Performance metrics
Ads (Full CRUD)
list_ads— List adsget_ad— Ad detailscreate_responsive_search_ad— Create RSA with headlines and descriptionsupdate_ad_status— Enable/pause adremove_ad— Remove adget_ad_performance— Performance metrics
Keywords (Full CRUD)
list_keywords— List keywords with quality scoreadd_keywords— Add keywords (Exact, Phrase, Broad)update_keyword— Update bid, status, URLsremove_keyword— Remove keywordget_keyword_performance— Performance with impression shareget_search_terms— Search terms reportadd_negative_keywords— Add negatives (campaign or ad group)
Budgets & Bidding Strategies
list_budgets— List budgetscreate_budget— Create budgetupdate_budget— Update amount/delivery methodremove_budget— Remove budgetlist_bidding_strategies— List strategiescreate_bidding_strategy— Create strategy (Target CPA, Target ROAS, etc.)update_bidding_strategy— Update strategyremove_bidding_strategy— Remove strategy
Audiences & Targeting
list_audiences— List audiences/user listsget_audience_performance— Audience performancelist_campaign_targeting— Targeting criteriaadd_campaign_location_targeting— Geographic targetingadd_campaign_language_targeting— Language targetingadd_ad_schedule— Ad scheduling (dayparting)remove_campaign_criterion— Remove criterionget_geo_target_constants— Search geographic constantsget_demographics_performance— Demographic performance
Assets & Extensions
list_assets— List all assetscreate_sitelink_asset— Create sitelinkcreate_callout_asset— Create calloutcreate_structured_snippet_asset— Create structured snippetscreate_call_asset— Create call extensioncreate_price_asset— Create price extensioncreate_promotion_asset— Create promotion extensioncreate_lead_form_asset— Create lead formlink_asset_to_campaign— Link asset to campaignlink_asset_to_ad_group— Link asset to ad groupremove_asset— Remove assetget_asset_performance— Asset performancelist_campaign_assets— Campaign assetsremove_campaign_asset— Unlink asset
Conversions
list_conversion_actions— List conversion actionsget_conversion_action— Conversion detailscreate_conversion_action— Create conversion actionupdate_conversion_action— Update conversionremove_conversion_action— Remove conversionget_conversion_performance— Conversion performance
Reports & Dashboard
execute_gaql_query— Execute custom GAQL queryget_account_dashboard— Full account dashboardget_campaign_dashboard— Detailed campaign dashboardget_performance_by_device— Performance by deviceget_performance_by_network— Performance by networkget_performance_by_hour— Performance by hourget_performance_by_day_of_week— Performance by day of weekget_geographic_performance— Geographic performanceget_landing_page_performance— Landing page performancecompare_date_ranges— Compare date ranges
Labels & Shared Sets
list_labels— List labelscreate_label— Create labelremove_label— Remove labelapply_label_to_campaign— Apply label to campaignapply_label_to_ad_group— Apply label to ad grouplist_shared_sets— List shared setscreate_shared_set— Create shared negative listadd_shared_set_criteria— Add terms to listlink_shared_set_to_campaign— Link list to campaign
Recommendations & Optimization
list_recommendations— List Google recommendationsapply_recommendation— Apply recommendationdismiss_recommendation— Dismiss recommendationget_optimization_score— Optimization score
Experiments & Changes
list_experiments— List A/B testslist_experiment_arms— List variantsget_change_status— Recent changes
Prerequisites
Google Cloud Project with the Google Ads API enabled
OAuth2 Client ID of type Desktop
Developer Token from Google Ads (obtained at ads.google.com > API Center)
Node.js >= 18
Installation
npm install
npm run buildConfiguration
Option 1: Environment variables
export GOOGLE_ADS_CLIENT_ID="seu-client-id"
export GOOGLE_ADS_CLIENT_SECRET="seu-client-secret"
export GOOGLE_ADS_DEVELOPER_TOKEN="seu-developer-token"
export GOOGLE_ADS_REFRESH_TOKEN="seu-refresh-token"
export GOOGLE_ADS_LOGIN_CUSTOMER_ID="123-456-7890" # opcional, para contas MCCOption 2: Interactive setup
npm run authThis will create a credentials file at ~/.google-ads-mcp/credentials.json.
Claude Code Configuration
Add to your ~/.claude/settings.json:
{
"mcpServers": {
"google-ads": {
"command": "node",
"args": ["/caminho/para/google-ads-manager-hub/dist/index.js"],
"env": {
"GOOGLE_ADS_CLIENT_ID": "seu-client-id",
"GOOGLE_ADS_CLIENT_SECRET": "seu-client-secret",
"GOOGLE_ADS_DEVELOPER_TOKEN": "seu-developer-token",
"GOOGLE_ADS_REFRESH_TOKEN": "seu-refresh-token",
"GOOGLE_ADS_LOGIN_CUSTOMER_ID": "1234567890"
}
}
}
}Usage
After configuration, all tools are available via MCP. Examples:
"List all my active campaigns"
"Create a Search campaign with a R$50/day budget"
"Show the performance dashboard for the last 30 days"
"Add these keywords to ad group X: ..."
"Pause campaign Y"
"Show the search terms report"
"What are Google's recommendations for my account?"
API Version
This server uses the Google Ads API v23 (latest, released in January 2026).
Project Structure
src/
├── index.ts # Entry point - MCP server
├── auth/
│ ├── oauth2.ts # OAuth2 client + token management
│ └── setup.ts # Interactive auth setup CLI
├── client/
│ └── google-ads-client.ts # Google Ads REST API client
└── tools/
├── accounts/ # Account & customer management
├── campaigns/ # Campaign CRUD
├── adgroups/ # Ad group CRUD
├── ads/ # Ad CRUD (RSA, etc.)
├── keywords/ # Keywords + search terms + negatives
├── budgets/ # Budgets + bidding strategies
├── audiences/ # Audiences + targeting + demographics
├── assets/ # Assets (sitelinks, callouts, etc.)
├── conversions/ # Conversion actions + tracking
├── reporting/ # Dashboard + GAQL + analytics
├── labels/ # Labels + shared sets
├── recommendations/ # Optimization recommendations
├── experiments/ # A/B tests + change tracking
└── extensions/ # Price, promotion, lead form extensionsThis server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Manage ad campaigns across Google, Meta, LinkedIn, Reddit, TikTok, and more via AI.
Manage ad campaigns across Google, Meta, LinkedIn, Reddit, TikTok, and more via AI.
Manage Google, Meta, Amazon, TikTok, LinkedIn & ChatGPT ads. 430 tools for campaigns & analytics.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/vertexdevs-hq/google-ads-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server