A Model Context Protocol (MCP) server that lets AI assistants (Claude, ChatGPT, Gemini, Cursor, Perplexity, or any MCP client) run Google Ads end to end. 133 typed tools with full write access, native MCC manager-account routing, approval-gated writes, and 13 more ad and measurement platforms in the same session.
Hosted at paidsync.ai. Free plan: 15 tasks a month, no card required.
PaidSync's Google Ads MCP surface, exposed to any AI assistant that speaks the Model Context Protocol. The full product page lives at paidsync.ai/google-ads-mcp. This repository is the developer entry point: install commands, tool catalog, and links to the docs.
Three properties that define this Google Ads MCP:
- 133 Google Ads tools with full write access. Not a reporting-only reader. Campaigns, ad groups, keywords, negatives, Performance Max asset groups, bidding strategies, portfolio bidding, audiences, offline conversion imports, experiments, drafts, recommendations, and change history. Every write is a real Google Ads API call.
- Native MCC (My Client Center) manager-account routing. One PaidSync connection covers every child account under the manager. The assistant switches customer context per task, so one key serves the whole manager tree without a second connection per client.
- Approval-gated writes with dry-run previews. Every mutation is held for your confirmation in chat. Most write tools accept
dry_runto return the exact planned change before touching the account. Destructive operations require an explicit second confirmation.
The fastest path is to connect the hosted server. No install, no OAuth apps, no engineering setup.
Add this to your Claude Desktop MCP configuration:
{
"mcpServers": {
"paidsync": {
"url": "https://mcp.paidsync.ai/mcp?key=YOUR_API_KEY"
}
}
}Get your API key at paidsync.ai/signup. Free plan is 15 tasks a month, no card required.
Go to claude.ai/settings/integrations and add a custom MCP integration with URL https://mcp.paidsync.ai/mcp?key=YOUR_API_KEY. Same URL works in Claude Code via claude mcp add paidsync ....
Add PaidSync as a custom MCP connector in ChatGPT's connector settings, using the same URL as above. The exact menu path moves between ChatGPT releases, so follow OpenAI's own MCP documentation if the option is not where you expect it.
Same URL, same API key. Setup guides:
- Connect Google Ads to Claude
- Connect Google Ads to ChatGPT
- Connect Google Ads to Gemini
- Connect Google Ads to Perplexity
- Connect Google Ads to Copilot
Copy-paste configs and prompts live in examples/.
examples/claude_desktop_config.json, Claude Desktop MCP configexamples/claude_code.md, the exactclaude mcp addcommand and how to verify itexamples/cursor_mcp.json, Cursor.cursor/mcp.jsonexamples/windsurf_mcp_config.json, Windsurfmcp_config.jsonexamples/prompts.md, 15 paste-ready Google Ads prompts mapped to the tool names below
Machine-readable install steps for an AI agent are in llms-install.md. How to report a tool bug or request a tool is in CONTRIBUTING.md.
Once connected, PaidSync exposes two meta-tools that keep client context small even with a 460+ tool catalog:
paidsync_context({ include_tools: ['google_ads'] })
Returns the active customer, the connected platforms, and the full grouped Google Ads catalog with tool names and signatures.
paidsync_exec({ tool: 'get_campaign_performance', args: { date_range: 'last_30_days', sort_by: 'cost' } })
Runs any tool by name. The assistant handles the two-call pattern automatically; you just ask natural-language questions.
| Category | Named tools |
|---|---|
| Account and MCC routing | connect_google_ads, list_google_ads_customers, set_google_ads_customer, list_mcc_child_accounts, set_mcc_context |
| Campaign lifecycle | list_google_ads_campaigns, create_google_ads_campaign, update_google_ads_campaign, pause_google_ads_campaign, enable_google_ads_campaign, remove_google_ads_campaign |
| Ad groups | list_google_ads_ad_groups, create_google_ads_ad_group, update_google_ads_ad_group, pause_google_ads_ad_group, enable_google_ads_ad_group |
| Keywords and negatives | list_keywords, add_keywords, update_keyword, remove_keyword, add_negative_keywords, add_campaign_negative_keywords, list_negative_keyword_lists |
| Search terms | get_search_terms_report, get_ngram_analysis, find_wasted_search_terms |
| Ads and assets | list_google_ads_ads, create_responsive_search_ad, update_responsive_search_ad, pause_google_ads_ad, list_assets, create_sitelink_asset, create_callout_asset, create_structured_snippet_asset, link_asset_to_campaign |
| Performance Max | list_pmax_campaigns, create_pmax_campaign, update_pmax_asset_group, get_pmax_asset_group_insights, get_pmax_search_categories |
| Bidding and budgets | list_bidding_strategies, create_portfolio_bidding_strategy, update_campaign_bidding, list_budgets, update_campaign_budget, get_budget_pacing |
| Audiences | list_user_lists, create_customer_match_list, upload_customer_match_members, create_similar_audience, list_in_market_segments, attach_audience_to_ad_group |
| Conversions and imports | list_conversion_actions, create_conversion_action, import_offline_conversions, import_offline_call_conversions, get_conversion_diagnostics |
| Experiments and drafts | list_experiments, create_experiment, get_experiment_results, promote_experiment |
| Recommendations and change history | list_recommendations, apply_recommendation, dismiss_recommendation, get_change_history |
| Reporting and pacing | get_campaign_performance, get_ad_group_performance, get_keyword_performance, get_performance_by_device, get_performance_by_network, get_performance_by_geo, get_performance_by_time, get_quality_score_report, get_auction_insights |
| Audits | run_account_audit, find_wasted_spend, get_pmax_insights, get_conversion_tracking_audit |
Full live catalog with argument signatures is returned by paidsync_context({ include_tools: ['google_ads'] }).
One PaidSync key covers Google Ads plus 13 more platforms, so the assistant can compare channels and act on them without a second server.
| Platform | Tools |
|---|---|
| Meta Ads (Facebook + Instagram) | 82 |
| Google Tag Manager | 39 |
| ChatGPT Ads (OpenAI) | 28 |
| Google Analytics 4 | 26 |
| LinkedIn Ads | 25 |
| Merchant Center | 16 |
| Microsoft Ads | 15 |
| Snapchat Ads | 15 |
| Pinterest Ads | 14 |
| Reddit Ads | 14 |
| X Ads | 14 |
| TikTok Ads | 13 |
| Search Console | 6 |
460+ tools across 14 platforms on one endpoint. The counts above are a snapshot, last synced 2026-08-24. The live source is paidsync_context({ include_tools: '*' }), which is what to trust if the two disagree.
| Plan | Price | Tasks | Notes |
|---|---|---|---|
| Free | $0/mo | 15 | No card required, all 14 platforms |
| Pro | From $99/mo | 600 to 4,000 | Solo operators and small teams |
| Team | From $249/mo | 6,000 shared, 5 seats | Shared across the team, MCC-friendly |
| Done For You | Custom | Managed | PaidSync runs the accounts |
Every plan includes all 14 platforms and every MCC-linked child account. No per-account or per-platform charges. Every tool call counts as one task.
- Approval-gated. Every write is a proposal shown in chat before it applies.
- Dry-run previews on most mutations.
dry_run: truereturns the planned change with zero side effects. - Destructive-write second confirmation.
remove_google_ads_campaignand similar destructive tools requireconfirm_destructive: true. - Revocable sessions. Disconnect any account from the PaidSync connect panel at any time.
- Server-side gates, not client-side. The AI cannot bypass the gate by rewording its call.
PaidSync publishes the current agent-discovery surface at paidsync.ai:
/.well-known/mcp/server-card.json(MCP server card)/.well-known/oauth-authorization-server(RFC 8414)/.well-known/oauth-protected-resource(RFC 9728)/.well-known/agent-card.json/.well-known/agent-auth.json/llms.txt,/llms-full.txt,/AGENTS.md- Content-Signal directive in
/robots.txt
| PaidSync | |
|---|---|
| Google Ads tools | 133 |
| Write access | Full, approval-gated |
| MCC manager-account routing | Yes, native |
| Approval gates on writes | Yes, server side |
| Hosted vs self-hosted | Hosted |
| Platform scope in same session | 14 platforms |
| Google Partner | Google Premier Partner |
| Price | Free $0/mo, Pro from $99/mo, Team from $249/mo |
Head-to-head comparisons against other Google Ads MCP options live at paidsync.ai/vs/google-ads-mcp, where they carry a check date. Other people's tool counts, prices, and feature gaps change week to week, so they are maintained there rather than hardcoded in this repo.
MIT. See LICENSE.
- Product page: paidsync.ai/google-ads-mcp
- MCP server overview: paidsync.ai/mcp-server
- Pricing: paidsync.ai/pricing
- Category guide: Best MCP Server for Google Ads in 2026
- Head-to-head: PaidSync vs official Google Ads MCP
- Support: support@paidsync.ai
Built by Ahmed Ashraf, Google Premier Partner.