Google Ads MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| GOOGLE_ADS_CLIENT_ID | No | OAuth client ID, required for OAuth authentication | |
| GOOGLE_ADS_CLIENT_SECRET | No | OAuth client secret, required for OAuth authentication | |
| GOOGLE_ADS_REFRESH_TOKEN | No | OAuth refresh token, required for OAuth authentication | |
| GOOGLE_ADS_DEVELOPER_TOKEN | No | Developer token from Google Ads, always required | |
| GOOGLE_ADS_LOGIN_CUSTOMER_ID | No | Manager account ID for managing multiple client accounts (optional) | |
| GOOGLE_ADS_SERVICE_ACCOUNT_KEY | No | Inline service account key JSON (for Service Account authentication) | |
| GOOGLE_ADS_SERVICE_ACCOUNT_KEY_PATH | No | Path to service account key file (for Service Account authentication) |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {} |
| prompts | {} |
| resources | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_accountsA | List all accessible Google Ads accounts |
| get_campaignsB | Get campaigns for a customer |
| get_campaign_performanceC | Get campaign performance metrics |
| get_ad_groupsA | Get ad groups for a customer or campaign |
| get_adsC | Get ads for a customer or ad group |
| get_keywordsC | Get keywords for a customer or ad group |
| execute_gaql_queryB | Execute a custom GAQL (Google Ads Query Language) query |
| get_image_assetsC | Get image assets for a customer |
| create_campaignB | Create a new campaign (in PAUSED state) |
| update_campaign_statusA | Update campaign status (ENABLED, PAUSED, REMOVED) |
| create_ad_groupA | Create a new ad group (in PAUSED state) |
| create_responsive_search_adA | Create a responsive search ad (in PAUSED state) |
| add_keywordsB | Add keywords to an ad group |
| add_negative_keywordsA | Add negative keywords to an ad group |
| get_conversionsC | Get conversion actions and their performance metrics |
| create_conversion_actionC | Create a new conversion action for tracking |
| update_conversion_actionB | Update an existing conversion action |
| get_conversion_attributionC | Get conversion attribution analysis |
| get_conversion_path_dataC | Get customer journey conversion path data |
| import_offline_conversionsC | Upload offline conversion data |
| get_audiencesB | List all available audiences and user lists |
| create_custom_audienceC | Create a custom audience list |
| add_audience_to_campaignC | Apply audience targeting to a campaign |
| remove_audience_from_campaignB | Remove audience targeting from a campaign |
| get_audience_insightsC | Get audience performance insights |
| create_customer_match_listB | Create a customer match audience list |
| upload_customer_match_dataB | Upload customer data to customer match list |
| create_lookalike_audienceC | Create a lookalike/similar audience |
| get_search_term_reportC | Get search query performance report |
| get_demographic_reportC | Get age and gender performance report |
| get_geographic_reportC | Get location performance report |
| get_auction_insightsB | Get competitive analysis and auction insights |
| get_change_historyC | Get account change history log |
| generate_forecast_metricsC | Generate traffic and conversion forecasts |
| get_click_view_reportC | Get detailed click-level data |
| get_video_reportC | Get video campaign performance metrics |
| get_shared_budgetsB | List shared campaign budgets |
| create_shared_budgetB | Create a shared budget for multiple campaigns |
| get_bidding_strategiesB | List automated bidding strategies |
| create_bidding_strategyC | Create an automated bidding strategy |
| get_bid_simulationsC | Get bid simulation forecasts |
| update_bid_adjustmentsC | Update device/location bid adjustments |
| get_budget_recommendationsC | Get Google budget optimization recommendations |
| upload_image_assetC | Upload image asset for ads |
| get_video_assetsB | List video assets |
| create_asset_groupB | Create asset group for Performance Max |
| get_asset_performanceC | Get asset performance metrics |
| create_sitelink_assetsC | Create sitelink extensions |
| create_callout_assetsC | Create callout extensions |
| create_structured_snippet_assetsD | Create structured snippet extensions |
| create_performance_max_campaignC | Create a Performance Max campaign |
| create_demand_gen_campaignB | Create a Demand Gen campaign |
| create_app_campaignC | Create an App promotion campaign |
| create_smart_campaignD | Create a Smart campaign |
| get_campaign_experimentsB | List campaign experiments |
| create_campaign_experimentB | Create a campaign A/B test experiment |
| get_geographic_performanceC | Get performance breakdown by location |
| add_location_targetsB | Add geographic targeting to campaigns |
| add_demographic_targetsC | Add age/gender targeting |
| get_location_insightsC | Get location targeting insights |
| set_location_bid_adjustmentsC | Adjust bids by location |
| manage_language_targetsC | Manage language targeting |
| create_sitelink_extensionsC | Create sitelink ad extensions |
| create_call_extensionsD | Create call extensions |
| create_callout_extensionsC | Create callout extensions |
| get_extension_performanceC | Get extension performance metrics |
| get_recommendationsC | Get Google optimization recommendations |
| apply_recommendationC | Apply a Google recommendation |
| dismiss_recommendationA | Dismiss a Google recommendation |
| get_keyword_ideasC | Get keyword suggestions and ideas |
| create_labelsC | Create organizational labels |
| apply_labelsC | Apply labels to campaigns/ads |
| get_labeled_resourcesC | Find resources by label |
| bulk_edit_operationsD | Perform bulk edit operations |
| get_account_hierarchyC | Get account structure and hierarchy |
| manage_link_invitationsD | Manage account linking invitations |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| analyze_campaign | Analyze campaign performance and provide recommendations |
| gaql_help | Get help with writing GAQL queries |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| GAQL Reference | Google Ads Query Language reference and examples |
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/anegash/google-ads-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server