Google Ads MCP server
Search campaigns, keywords and GAQL reporting, with every spend change gated behind a confirmation.
Built and ready -- pending Google Ads developer token approval and CASA verification. Add credentials below, then enable once both clear.
- Tools
- 22
- Read-only
- 12
- Write
- 10
- Off by default
- Destructive
- 0
- Flagged distinctly
Google Ads through an assistant
Campaigns, ad groups, ads, keywords and conversion actions are all readable, and raw GAQL is available for the questions the named reports don't cover -- search terms included, which is where most negative-keyword work starts. Writes are opt-in and deliberately cautious: new campaigns, ad groups, ads and keywords are created paused, and anything that starts or grows spend needs an explicit confirmation in the same call.
- Campaigns, ad groups, ads and keywords across your authorised accounts
- Campaign and keyword performance over any date range
- Search terms report -- the input for negative-keyword work
- Raw GAQL queries, read-only by construction
- Conversion actions and the manager-account hierarchy
- Create campaigns, ad groups, ads and keywords -- always paused -- and bulk pause or enable up to 1,000 entities at once (opt-in)
What people actually ask
Real questions, answered from live Google Ads data.
“Which search terms triggered my ads last month but never converted?”
google_ads_get_search_terms“Show me campaign spend and conversions for the last 30 days, worst first.”
google_ads_list_campaignsgoogle_ads_get_campaign_performance“Which keywords in this ad group are costing the most per conversion?”
google_ads_list_keywordsgoogle_ads_get_keyword_performance22 Google Ads tools
Grouped by what they touch. Every tool is individually toggleable — you expose only what you want.
Reporting
4 tools4 read-only · 0 writeShowing 4 of 4 tools
- google_ads_get_campaign_performanceRead-only
Impressions, clicks, cost, and conversions per campaign over a date range.
- google_ads_get_keyword_performanceRead-only
Impressions, clicks, cost, and conversions per keyword over a date range -- pairs with Search Term View data for negative-keyword workflows.
- google_ads_get_search_termsRead-only
The actual search queries that triggered your ads -- the primary input for finding new negative keywords.
- google_ads_searchRead-only
Run a raw GAQL query -- the power-user escape hatch for anything the curated report tools don't cover. GAQL query text uses snake_case field names (e.g. campaign.advertising_channel_type), not camelCase. Read-only by construction -- there is no INSERT/UPDATE/DELETE in GAQL.
Keywords
3 tools1 read-only · 2 writeShowing 3 of 3 tools
- google_ads_add_keywordsWrite
Add one or more keywords to an ad group. Created PAUSED -- pause/enable individually with google_ads_update_keyword_status once reviewed.
- google_ads_list_keywordsRead-only
Keywords in an ad group, with match type and status.
- google_ads_update_keyword_statusWrite
Pause, enable, or remove a keyword.
Ad groups
3 tools1 read-only · 2 writeShowing 3 of 3 tools
- google_ads_create_ad_groupWrite
Create a Search ad group under an existing campaign. Always created PAUSED.
- google_ads_list_ad_groupsRead-only
Ad groups under a campaign, with status and CPC bid.
- google_ads_update_ad_group_statusWrite
Pause or enable an ad group. Enabling one under an active campaign resumes its spend -- requires confirmSpend: true.
Campaigns
3 tools1 read-only · 2 writeShowing 3 of 3 tools
- google_ads_create_campaignWrite
Create a Search campaign with a new daily budget in one atomic call. Always created PAUSED -- use google_ads_update_campaign with confirmSpend to activate it once you've reviewed the setup.
- google_ads_list_campaignsRead-only
Campaigns on this customer, with status, channel type, and budget.
- google_ads_update_campaignWrite
Rename, pause/enable, or change a campaign's daily budget. Enabling a paused campaign or increasing its budget starts or grows real spend -- requires confirmSpend: true.
Ads
3 tools1 read-only · 2 writeShowing 3 of 3 tools
- google_ads_create_responsive_search_adWrite
Create a Responsive Search Ad in an ad group -- Google requires 3-15 headlines and 2-4 descriptions. Always created PAUSED.
- google_ads_list_adsRead-only
Ads in an ad group, with their headlines, descriptions, and status.
- google_ads_update_ad_statusWrite
Pause, enable, or remove an ad. Enabling one under an active ad group resumes its spend -- requires confirmSpend: true.
Account
3 tools3 read-only · 0 writeShowing 3 of 3 tools
- google_ads_get_customerRead-only
Account-level details for one customer -- name, currency, time zone, whether it's a manager account.
- google_ads_list_accessible_customersRead-only
Every Google Ads customer ID this connection's Google account can directly access. Not scoped to this connection's authorized customers -- use this to discover what's available before authorizing more from Settings -> Connections -> Manage Customers.
- google_ads_list_customer_clientsRead-only
The manager-account (MCC) hierarchy under this customer -- every client account linked beneath it, direct or indirect.
Conversions
2 tools1 read-only · 1 writeShowing 2 of 2 tools
- google_ads_create_conversion_actionWrite
Register a new webpage-based conversion action (e.g. a purchase or signup) for use as a campaign optimization goal.
- google_ads_list_conversion_actionsRead-only
Conversion actions configured on this customer.
More tools
1 tool0 read-only · 1 writeShowing 1 of 1 tools
- google_ads_batch_update_statusWrite
Pause, enable, or remove many campaigns/ad groups/ads/keywords in one call -- far more efficient than one tool call per entity for bulk changes like "pause these 50 keywords." Enabling any entity requires confirmSpend: true. Up to 1,000 entities per call.
Every tool name and description, machine-readable: /llms-full.txt
You decide what it can touch
The same model applies to every connector, and it defaults closed.
Authorize once
Connect Google Ads through its own consent screen. Credentials are encrypted with AES-256-GCM and never returned by any API response or tool call.
Writes off by default
A new connection switches on a read-oriented default set only. Every write tool must be enabled deliberately before any client can call it.
Roles enforced server-side
READ, WRITE and ADMIN gate tool invocation on the server, not just in the UI. A READ member's token is refused any write tool.
More in Advertising & Social
Meta (Facebook & Instagram)
Advertising & SocialFacebook Pages, Instagram and Meta Ads behind a single connection.
Amazon Ads
Advertising & SocialSponsored Products, Brands and Display -- plus the analysis that explains a ROAS drop.
Microsoft Advertising
Advertising & SocialSearch campaigns and async reporting on the Microsoft Advertising API.
Start with what's live today
Free plan, no card required. Connect in minutes.