PaidSync is a hosted Google Ads MCP server with 149 Google Ads tools and full write access, on one endpoint that carries 500+ tools across 14 platforms.
Endpoint https://mcp.paidsync.ai/mcp. Sign in with OAuth 2.0 using your PaidSync login. An API key covers read-only reports.
Claude, ChatGPT, Cursor, Gemini CLI and Copilot Studio can pull reports, build campaigns and change bids, budgets and keywords. Every write waits for your approval, dry_run previews it, and destructive operations need confirm_destructive.
Google ships an official MCP server for the Google Ads API. It is strictly read-only, exposes 3 tools, and you host it yourself with your own API credentials. Google documents it at developers.google.com/google-ads/api/docs/developer-toolkit/mcp-server, with the source at github.com/googleads/google-ads-mcp. That is a fair choice for an engineering team that wants reporting only and prefers to own the stack. It is not the same product as a hosted server that writes. The most cited community option, cohnen/mcp-google-ads, is also self-hosted and reporting-focused. Checked September 2026. Full head-to-head at PaidSync vs official Google Ads MCP.
| Dimension | PaidSync | Google official server | Community server |
|---|---|---|---|
| Google Ads tools | 149 | 3 | Reporting subset |
| Write access | Full, every write held for approval | None, strictly read-only | Read-focused |
| MCC manager accounts | Native, switch client per task | Set in your own API credentials | Single account |
| Previews and confirmations | dry_run and confirm_destructive | Nothing to gate, it never writes | None |
| Hosting | Hosted, connect and go | Self-hosted, you run it | Self-hosted, you run it |
| Sign-in | OAuth 2.0 with your PaidSync login | Your own Google Ads API developer token and OAuth client | Your own developer token and OAuth client |
| Other platforms in the same session | 13 more (Meta, LinkedIn, TikTok, GA4, GTM, Merchant Center and more) | Google Ads only | Google Ads only |
| Price | Free $0 (15 tasks), Pro from $99/mo | Free, API quota applies | Free |
Quick verdict.
You want a read-only reference you host and extend in code: Google's official server. Three tools, canonical, free.
You want a free self-hosted server for personal reporting: the community open-source option.
You run more than one account, want writes with approval gates, or need Google beside GA4, GTM or another ad platform in one session: PaidSync. One login covers the MCC, one session covers the stack, and every write waits for you.
Three things. It reads, so the assistant pulls spend, conversions, Quality Score and search terms without an export. It writes, so campaigns, ad groups, keywords, ads, bidding, budgets, audiences and conversion actions can be created or changed from a chat. And it gates, so nothing the AI proposes runs until you confirm it. Reading is table stakes across every Google Ads MCP in 2026. The depth of the write surface, MCC routing, and the honesty of the gating are where they differ.
The counts below come from the live tool registry. 92 of the 149 write to the account and 57 read from it. Connection and account-switching tools (connect_google_ads, set_active_account) sit outside the 149 because they serve every platform. The full catalog is discoverable in any session through paidsync_context with include_tools:['google_ads'].
| Category | Tools | Examples |
|---|---|---|
| Campaigns | 14 | create_search_campaign, create_shopping_campaign, create_demand_gen_campaign, create_video_campaign, pause_campaign, duplicate_campaign |
| Ad groups | 6 | create_ad_group, update_ad_group, pause_ad_group |
| Keywords and negatives | 17 | add_keywords, batch_add_negative_keywords, create_negative_keyword_list, research_keywords |
| Ads | 7 | create_responsive_search_ad, create_responsive_display_ad, pause_ad |
| Assets and extensions | 17 | add_sitelinks, add_callout_extensions, create_lead_form_asset, link_asset_to_campaign |
| Performance Max | 9 | create_performance_max_campaign, create_asset_group, add_asset_group_signal, get_pmax_insights |
| Shopping and product groups | 7 | subdivide_product_partition, exclude_product_partition, get_shopping_performance |
| Bidding and budgets | 12 | create_bidding_strategy, update_campaign_budget, set_device_bid_adjustment, get_budget_pacing |
| Targeting | 10 | set_geo_targeting, set_language_targeting, generate_reach_forecast |
| Audiences | 10 | create_custom_audience, upload_customer_match_list, add_audience_targeting, get_audience_insights |
| Conversions and imports | 9 | create_conversion_action, upload_offline_conversions, upload_conversion_adjustments |
| Experiments and labels | 10 | create_experiment, update_experiment, apply_label_to_campaign |
| Recommendations and change history | 4 | list_recommendations, apply_recommendation, get_change_history |
| Reporting | 9 | get_campaign_performance, get_keyword_performance, get_search_terms_report, get_auction_insights |
| Audits and analysis | 6 | run_account_audit, get_wasted_spend_report, analyze_search_term_ngrams, detect_anomalies |
| Raw API access | 2 | run_gaql_query, run_mutate |
Four of these carry most of the operational weight. MCC routing (set_active_account switches the active customer) means one PaidSync connection covers every client account under the manager. Search-term analysis (analyze_search_term_ngrams, get_wasted_spend_report) turns a 10,000-row search-term report into a ranked negative-keyword list in one prompt. Performance Max tools read asset groups and signals for audits, then edit them from chat. And offline conversion imports keep Smart Bidding fed with real revenue when conversions live in a CRM, not on the website.
Every client uses the same endpoint and the same Streamable HTTP transport. Paste it, sign in with your PaidSync login, and the Google Ads tools appear.
https://mcp.paidsync.ai/mcpPrefer a key for read-only reports? Use https://mcp.paidsync.ai/mcp?api_key=ps_your_key_here as the URL. Applying a change still requires the OAuth sign-in.
In claude.ai or the Claude Desktop app open Settings, then Connectors, search PaidSync, click Connect, and sign in with your PaidSync login. Connectors work on every Claude plan, including Free, which allows one custom connector. Step by step at connect Google Ads to Claude.
In your terminal run claude mcp add --transport http paidsync https://mcp.paidsync.ai/mcp. Start a session, type /mcp, pick paidsync and sign in with your PaidSync login in the browser window that opens. Claude Code stores the OAuth token for you. For a team, commit a .mcp.json at the repo root with the same http server entry.
Open Settings, then Security and login, and turn on Developer mode. Go to chatgpt.com/plugins, click the plus button, name the app PaidSync, paste the server URL and choose OAuth. Sign in with your PaidSync login the first time a tool runs. Developer mode is available on Plus, Pro, Business, Enterprise and Education plans on the web. Step by step at connect Google Ads to ChatGPT.
Add {"mcpServers": {"paidsync": {"url": "https://mcp.paidsync.ai/mcp"}}} to .cursor/mcp.json in your project, or ~/.cursor/mcp.json for every project. Open Cursor Settings, then MCP, and sign in with your PaidSync login when Cursor prompts for OAuth. Windsurf uses the same shape with serverUrl in ~/.codeium/windsurf/mcp_config.json.
Run gemini mcp add --transport http paidsync https://mcp.paidsync.ai/mcp, then type /mcp auth paidsync and sign in. Gemini Code Assist and Antigravity read the same ~/.gemini/settings.json with an httpUrl entry. The consumer Gemini app does not accept custom MCP servers; in Gemini Enterprise, Business edition, a team admin adds PaidSync under Connected apps. Step by step at connect Google Ads to Gemini.
In Copilot Studio open your agent, then Tools, Add a tool, New tool, Model Context Protocol. Paste the server URL, choose OAuth 2.0 with Dynamic discovery (or an API key as a Query parameter named api_key), transport Streamable HTTP. Click Create, then Add to agent, and publish to the Microsoft 365 Copilot channel. Copilot Studio needs a work or school account. The consumer Copilot app does not accept custom MCP servers.
A week on PaidSync's Google Ads stack looks like this. Monday morning you ask "what changed in the last 7 days, by campaign, and where is budget pacing off". The assistant pulls it from get_campaign_performance and get_budget_pacing and answers in plain numbers. You spot a Performance Max campaign leaking spend into a competitor's brand term, ask for a brand exclusion, review the proposed change, and confirm. Later you ask for an n-gram analysis of the last 30 days of search terms; the assistant returns the top loss-making n-grams, you pick five, and it adds them as campaign-level negatives after a second confirmation.
Because the same server carries Meta Ads (83 tools), LinkedIn (34), TikTok (13), GA4 (26), GTM (39), Search Console (6, read only), and Merchant Center (16), the follow-up question "did the Google Ads changes produce GA4 conversions and did the Merchant Center feed have any disapprovals last week" is answered in the same session, not in another tab. That cross-platform session is the practical difference between a Google Ads connector and a paid-media server. For prompt ideas, 15 Google Ads prompts for Claude is a working list, and the Google Ads audit guide shows the deeper account-review workflow.
Trust is the honest concern with write access, and the answer is procedural. By default nothing applies without your confirmation, previews show the exact planned change first, destructive operations require a second explicit confirmation, and every approval card carries one-tap undo and a 7-day outcome check.
Connect a Google Ads account or an MCC to Claude, ChatGPT, or Cursor and run the first report in minutes.
Start free, 15 tasks, no card Read the category guidePaidSync is one MCP endpoint covering 14 platforms; details on the MCP server page. To keep client context small, tools/list returns a lean starter set. The full catalog is discovered at runtime through paidsync_context, which returns the active customer, connected platforms, and the grouped tool catalog, and executed through paidsync_exec. That two-call pattern means an agent can enumerate and invoke all 149 Google Ads tools without a 500+ tool schema payload sitting in every conversation.
Sign-in is OAuth 2.0 with dynamic client registration and PKCE, so no client ID is typed into any client. An API key as ?api_key= is accepted for read-only use; applying a change requires the OAuth sign-in. Tokens are encrypted at rest with AES-256-GCM. MCC routing is first-class: set_active_account switches the active customer per task, and PaidSync manages the customer-ID header on every Google Ads API call. Safety is enforced server-side, not left to the client. Writes are held for approval, most mutation tools accept dry_run for a no-op preview, and destructive operations require confirm_destructive. For discovery, the domain publishes OAuth authorization-server and protected-resource metadata (RFC 8414 and RFC 9728), an MCP server card, agent-auth.json, security.txt, and a Content-Signal directive.
Stated plainly, because scoping a tool accurately beats overselling it.
subscribe_to_recommendations.Every plan includes all 14 platforms and every MCC-linked client account; there is no per-account or per-platform charge. Every tool call counts as one task, whether it reads a report or drafts a change. Full detail at paidsync.ai/pricing.
| Plan | Price | Included |
|---|---|---|
| Free | $0/mo | 15 tasks a month, no card required |
| Pro | From $99/mo | 600 tasks ($99), 1,200 tasks ($149), or 4,000 tasks ($199) |
| Team | From $249/mo | 5 seats, 6,000 shared tasks |
| Done For You | Custom | Fully managed paid media |
Put 149 Google Ads tools, MCC routing, and 13 more platforms in front of your AI assistant today.
One setup per client, same endpoint and sign-in everywhere.
An MCP (Model Context Protocol) server exposes Google Ads API actions as typed tools that AI assistants like Claude, ChatGPT, and Cursor can call. A Google Ads MCP lets the assistant read spend, ROAS, and Quality Score, build campaigns, edit bidding, add negative keywords, and manage Performance Max through conversation instead of Google Ads Editor. PaidSync's Google Ads surface is 149 tools with full write access and native MCC manager-account routing at https://mcp.paidsync.ai/mcp. Google's own official server is strictly read-only with 3 tools and is self-hosted.
149 live Google Ads tools, inside a server of 500+ tools across 14 platforms. By category: campaigns (14), ad groups (6), keywords and negatives (17), ads (7), assets and extensions (17), Performance Max (9), Shopping and product groups (7), bidding and budgets (12), targeting (10), audiences (10), conversions and imports (9), experiments and labels (10), recommendations and change history (4), reporting (9), audits and analysis (6), and raw API access (2). 92 of the 149 write to the account, 57 read from it.
PaidSync ships MCC (My Client Center) routing as a native, one-connection feature: one PaidSync login covers every client account under the manager, and the assistant switches customer context per task with set_active_account. Google's official server is read-only and leaves account selection to your own API credentials. The community servers we checked in September 2026 are single-account. For agencies with more than one client account, this is the practical difference between a demo and a production connection.
Google's official Google Ads MCP server is strictly read-only, exposes 3 tools, and runs on your own machine with your own Google Ads API credentials. PaidSync is a hosted server: 149 named Google Ads tools out of the box, MCC routing, full write access with an approval gate on every change, OAuth 2.0 sign-in, and 13 more platforms in the same session (Meta, LinkedIn, TikTok, GA4, GTM, Search Console, Merchant Center, Snapchat, Reddit, Pinterest, Microsoft, X, ChatGPT Ads). Both can run side by side in the same MCP client. Detail at /vs/google-ads-mcp.
By default PaidSync applies nothing without your confirmation. Every write is held for approval in chat, most mutation tools support a dry_run preview that returns the exact planned change before anything touches the account, and destructive operations (remove campaign, remove asset) require an explicit confirm_destructive step. Approval cards carry one-tap undo and a 7-day outcome check. Sessions can be revoked at any time, and tokens are encrypted at rest with AES-256-GCM. Read operations run without confirmation because they change nothing.
AI Max for Search follows Google's own rollout, so availability on a given account matches what that account sees in Google Ads. Editor-style multi-object bulk uploads are not exposed as a single call; a 200-change edit is 200 confirmed tasks or a scheduled Recommendation action. Google Ads scripts and Ads Editor CSV import are outside the API surface entirely, so they are outside the MCP too.
Free is $0 for 15 tasks a month with no card. Pro starts at $99/mo for 600 tasks, with 1,200 tasks at $149 and 4,000 at $199. Team starts at $249/mo for 5 seats and 6,000 shared tasks. Done For You is custom-priced fully managed paid media. Every plan includes all 14 platforms and every MCC-linked client account; there is no per-account or per-platform charge. Google's own MCP server is free; the cost is the engineering to run it.
Claude (web, desktop, and Claude Code), ChatGPT, Cursor, Windsurf, Gemini CLI, Perplexity, Copilot Studio, and any client that speaks MCP over Streamable HTTP. The consumer Gemini and Copilot apps do not accept custom MCP servers. Connection guides for Google Ads: Claude, ChatGPT, Gemini, Perplexity, Copilot.