Google Ads MCP: run Google Ads from your AI assistant
32+ MCP tools that let Claude Code, Claude Desktop, Cursor, Windsurf or your own agent read reporting, audit accounts, manage keywords, adjust budgets and apply optimisations — all in natural language.
Why an MCP server instead of another dashboard
Advertising tools keep building dashboards nobody has time to open. An MCP server meets you where the work already happens — inside the AI assistant you use every day.
- No context switching. Ask for a CPA breakdown while you're already in your editor.
- Composable. Chain tools: audit → find waste → stage negatives → apply, in one prompt.
- Auditable. Every tool call is logged with arguments and before/after values.
- Guardrailed. Scope keys per account, cap spend changes, require approval for writes.
{
"mcpServers": {
"google-ads": {
"type": "http",
"url": "https://myad.si/api/v1/mcp",
"headers": {
"Authorization": "Bearer $MYAD_API_KEY"
}
}
}
}Then, in your assistant:
› Which campaigns wasted the most money last month, and why?
✓ get_spend_report → 6 campaigns
✓ audit_search_terms → 214 queries reviewed
✓ find_wasted_keywords → 18 flagged, $4,120/mo
Every part of Google Ads, exposed
Read tools work immediately. Write tools require a key with write scope and always log their changes.
Accounts & reporting
Read account structure, performance and spend.
list_accountsList every connected Google Ads account with status.
get_performance_overviewAggregate impressions, clicks, cost and conversions.
get_spend_reportSpend by campaign, ad group or day.
get_impression_shareImpression share, lost IS (budget) and lost IS (rank).
get_change_historyWho changed what, when, and what it did to performance.
Campaigns
Create, edit and pause campaigns and budget.
list_campaignsCampaigns with status, budget, bid strategy and metrics.
create_campaignCreate Search, Shopping, PMax or Demand Gen campaigns.
update_campaignChange name, status, budget or bid strategy.
pause_campaignPause a campaign immediately with a logged reason.
set_campaign_budgetAdjust daily budget with optional simulation.
get_budget_summaryBudget pacing, limited campaigns and month-end forecast.
reallocate_budgetMove budget between campaigns toward winners.
Keywords & search terms
Mine, add and prune keywords at scale.
list_keywordsKeywords with match type, Quality Score and metrics.
add_keywordsAdd keywords to an ad group in bulk.
find_wasted_keywordsKeywords and queries spending without converting.
find_opportunity_keywordsHigh-intent terms you are not yet bidding on.
list_negative_keywordsExisting negative lists at every level.
add_negative_keywordsAdd negatives per campaign, ad group or account.
audit_search_termsSearch-term report scored for relevance and waste.
Ads & assets
Audit and generate ad copy.
list_adsAds with approval status and performance.
create_responsive_search_adCreate an RSA from supplied headlines and descriptions.
analyze_creative_performanceRank headlines and descriptions by contribution.
generate_ad_copyDraft on-brand copy variants from your best performers.
get_ad_strengthRSA strength ratings and the assets holding them back.
Quality Score & landing pages
Diagnose the components Google scores you on.
get_quality_scoreQS with expected CTR, ad relevance and landing page experience.
analyze_quality_score_driversWhich component is dragging each keyword down.
audit_landing_pagesSpeed, relevance and mobile experience per final URL.
Audits
Run and export full account audits.
run_auditFull audit with a 0–100 health score and prioritised findings.
get_account_healthHealth score by category with trend.
export_audit_pdfGenerate a client-ready PDF report.
list_recommendationsOpen recommendations with projected impact.
apply_recommendationApply a recommendation (and log the before/after).
Try a raw request
Any language or tool that can POST JSON works. This is the same endpoint the configured clients use.
curl -X POST https://myad.si/api/v1/mcp \
-H "Authorization: Bearer $MYAD_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "find_wasted_keywords",
"arguments": { "accountId": "123-456-7890", "minCost": 50 }
}
}'Google Ads MCP questions
What is the Google Ads MCP server?
It is a Model Context Protocol server that exposes your Google Ads accounts as tools an AI assistant can call. Instead of exporting CSVs or clicking through the Google Ads UI, you ask Claude Code, Cursor or another MCP client a question and it calls the right tools.
Can the AI actually change my campaigns?
Yes, if you let it. Tools are split into read and write operations. Write tools require a key scoped with write access, and every change is logged with before/after values so it can be reviewed or reverted.
How do I authenticate?
Create an API key in MyAd under Settings → API, scope it to specific accounts, and pass it as an Authorization: Bearer header on every MCP request.
Do I need the MyAd dashboard?
No. The MCP API is a first-class interface. Many teams connect an account, issue a key and never open the dashboard.
Which Google Ads campaign types are supported?
Search, Shopping, Performance Max, Demand Gen, Display and Video. Reporting is available across all of them; write operations cover Search and Shopping most completely.
Connect Google Ads to your AI assistant
Connect Google Ads and Meta Ads in under 60 seconds. Spot wasted budget, improve ROAS, and automate the busywork.