AI ads infrastructure

Google Ads MCP Servers Compared (2026)

Comparison of the MCP servers that connect Google Ads to Claude, ChatGPT, and Cursor — tools, auth, guardrails, and what to use when.

NotFair Team|

A Google Ads MCP server is a program that exposes Google Ads API operations as MCP (Model Context Protocol) tools, so any compatible AI client — Claude, ChatGPT/Codex, Cursor, Windsurf — can read campaigns, run audits, and apply changes through natural language. As of April 2026 there are a handful of public options. Most are thin API wrappers; one or two ship the production-grade pieces (OAuth, guardrails, change history) you actually need to run on a live account.

We build NotFair, so this is not a neutral review. What follows is the most honest read we can give: the criteria that matter for a Google Ads MCP server, where each option lands, and which one is right for which job. We will tell you when something else is the better choice.

What a Google Ads MCP server actually has to do

It is easy to write a 200-line MCP server that wraps a few Google Ads API endpoints. It is much harder to ship one that is safe to point Claude at on Monday morning. Six things separate a demo from a production-ready server:

  • OAuth and developer token handlingGoogle Ads API requires a developer token (1–2 week approval) plus OAuth. A good server hides both behind a single sign-in.
  • GAQL fan-outreal audits hit 10+ reports (campaigns, search terms, quality scores, change events). Issuing them sequentially is slow and burns token budget. The server should support parallel GAQL.
  • Write-side guardrailsthe model must not be able to delete a campaign because of a misread instruction. Approval gates, dry runs, and undo are required, not optional.
  • Change history and rollbackevery write should be logged with enough context to undo it in one call. Standard Google Ads change history is not enough.
  • Manager (MCC) account supportagencies and most mid-market accounts run under an MCC. The server has to enumerate clients via login-customer-id and let users pick.
  • Multi-client transportClaude Desktop wants HTTP/SSE, Claude Code wants stdio, Cursor wants stdio with config, ChatGPT/Codex wants HTTP. A useful server speaks all of them.

Most of the open-source servers on GitHub today cover items 1–2 and stop. That is fine for read-only experimentation. It is not fine for a media buyer running optimizations against a live account.

The current landscape

NotFair (hosted)

NotFair is the MCP server we maintain. ~40 tools split across read (audits, search terms, change history, recommendations) and write (pause, bulk update bids, negatives, RSAs, budgets, bidding strategies). One sandboxed runScript tool runs JS with ads.gaql() and ads.gaqlParallel() so a single audit pass can fan out 20 GAQL queries and correlate them in-script. Hosted at notfair.co/api/mcp with a one-click OAuth flow that handles the developer token. Hosted only today — self-host is not a supported distribution.

  • Best foranyone who wants to be auditing a real account in 5 minutes without standing up infrastructure.
  • Skip ifyou have a hard policy against hosted MCP servers and need every byte of auth state inside your own VPC.

Community open-source MCP wrappers

Several individual developers have published Google Ads MCP servers on GitHub since late 2024. Quality varies — some are well-engineered single-developer projects; others are 200-line proofs of concept. Common pattern: thin wrappers around the official googleads-python-lib or google-ads-node, exposing 5–10 tools, expecting you to bring your own developer token and OAuth refresh token.

  • Best fordevelopers who already have an approved developer token, want full code control, and only need read tools.
  • Skip ifyou do not want to apply for a Google developer token, or you need write-side guardrails out of the box.

Roll-your-own with the Google Ads API

If you are an engineering team with strong opinions about MCP shape and want exactly the tools you want, you can build directly on the Google Ads API and the official MCP SDK (TypeScript or Python). Realistic effort: 2–4 weeks for a credible v1 with auth, GAQL helpers, and a handful of write tools — plus the Google developer token application that runs in parallel.

  • Best foragencies or in-house teams who need bespoke tools, custom guardrails, or to integrate the MCP into a larger product.
  • Skip ifyour team does not need bespoke logic. The marginal value over forking an open-source server is usually negative.

Decision matrix: which server should you use?

  • Solo marketer or agency owner who wants to use Claude on MondayNotFair hosted. Five-minute setup beats two weeks of Google approval every time.
  • In-house growth team running multiple accounts under an MCCNotFair hosted, with the MCC selected during connect. Re-auth once, manage many clients.
  • Engineer evaluating MCP for a side projectcommunity open-source server. Lowest commitment, easiest to fork.
  • Agency building a proprietary internal tool on top of MCProll-your-own with the Google Ads API and the official MCP SDK. NotFair is hosted-only today.
  • Compliance-bound enterpriseroll-your-own inside your VPC, with your own Google developer token. The infra cost is justified by the data-residency requirement.

What to look for in any MCP server you evaluate

Independent of which path you take, here is the checklist we use when reviewing other people's MCP servers:

  • Tool surface areadoes it cover both read and write, or only read? A read-only server is a research toy, not a workflow tool.
  • GAQL accesscan the server execute arbitrary GAQL, or only the report shapes the author thought to expose? Arbitrary GAQL is a 10x multiplier for what Claude can do.
  • Parallel queriescan it batch GAQL calls? Without parallelism, audits hit token-budget limits before they finish.
  • Approval flow on writesdoes it require explicit confirmation for destructive operations, or does it just YOLO whatever the model says? Production servers require confirmation.
  • Change log and undois there a server-side change history that can be queried ("what did Claude change this week?") and rolled back? If not, your account has no audit trail.
  • Error surfacesdoes the server return Google Ads API errors verbatim, or wrap them with helpful context? "AUTHENTICATION_ERROR" with no extra info is a debugging nightmare.
  • Transport coveragedoes it support stdio (Claude Code, Cursor), HTTP/SSE (Claude Desktop, ChatGPT/Codex), or both?
  • License and source visibilityeven hosted servers should have public source for the parts that touch your auth tokens. "Trust us" is not a security posture.

Common mistakes when picking a Google Ads MCP

  • Optimizing for tool count"100+ tools" sounds impressive but it is mostly noise. A small set of well-designed tools (with one sandboxed GAQL escape hatch) outperforms a hundred narrow endpoints.
  • Skipping the developer-token questionthe Google Ads API requires an approved developer token. If a server does not provide one, you have to apply for your own. Plan for that or pick a server that handles it.
  • Ignoring write guardrailsthe most common AI ads incident we have seen is a model bulk-pausing campaigns based on misread context. A server without approval gates makes this 10x more likely.
  • Treating MCP as a Claude-only thingMCP is an open standard. The same server should work with ChatGPT/Codex, Cursor, and Windsurf. If a server is Claude-locked, that is a signal of immaturity.
  • Confusing MCP with Google's own AI featuresSmart Bidding and Performance Max are inside Google Ads. An MCP server is the thing that makes your AI assistant outside Google Ads (Claude, ChatGPT) able to read and act on your account. They are complementary, not competing.

How to get started in 5 minutes

If you want to skip the comparison and just try it, the fastest path is the NotFair hosted server. Sign in at notfair.co/connect with the Google account that has Ads access, pick which customer IDs Claude (or ChatGPT, or Cursor) should see, and copy the connector config into your client of choice. The connect page has a tab per client with the exact config snippet for each.

If you need an MCP server inside your own infrastructure, NotFair is hosted-only today — there is no published self-host distribution. The two real options are to fork an open-source community wrapper from GitHub and bring your own Google developer token, or to roll your own on top of the Google Ads API and the official MCP SDK. Both routes assume engineering capacity. Most teams who think they want self-host find the hosted server clears their threat model after they read its OAuth scope and revocation story.

FAQ

Try MCP with Google Ads

Connect your Google Ads account to NotFair in 30 seconds and start querying campaigns from Claude.

Connect Google Ads

FAQ

Common questions about Model Context Protocol.

Is there an official Google Ads MCP server from Google?

No. As of April 2026, Google has not published a first-party MCP server for Google Ads. All available servers are built on top of the Google Ads API by third parties (NotFair) or community developers.

Do I need a Google Ads developer token to use a Google Ads MCP server?

It depends on the server. Hosted servers like NotFair handle the developer token for you. If you self-host or fork an open-source server, you need to apply for your own developer token from Google — typically a 1–2 week approval process.

Can I use a Google Ads MCP server with ChatGPT, not just Claude?

Yes, if the server supports HTTP/SSE transport. NotFair exposes a Codex-compatible endpoint that works with ChatGPT's Codex connectors and OpenAI's Codex CLI. Stdio-only servers (a common pattern in early open-source builds) work with Claude Desktop and Cursor but not with ChatGPT.

What is the safest way to give an MCP server write access to my Google Ads account?

Pick a server with explicit approval gates on destructive operations (delete, hard pause, budget changes), a queryable change log so you can audit what was modified, and OAuth scopes limited to Google Ads only. Start with read-only mode for the first week and graduate to writes after you trust the recommendations.

How is an MCP server different from the Google Ads API directly?

The MCP server wraps the API in a shape that AI models can use without per-tool integration code. The Google Ads API is for human developers writing code. An MCP server is for AI clients picking tools at runtime based on what the user asked. Most MCP servers use the API under the hood — the value is the standardized AI-facing layer.

Can I run a Google Ads MCP server inside my own infrastructure?

Yes, but not via NotFair today — NotFair is hosted-only. To self-host, you have two options: fork a community open-source MCP wrapper, or roll your own on top of the Google Ads API and the official MCP SDK. Either route requires you to apply for your own Google developer token. Most teams that think they need self-host end up using the hosted version after reading its OAuth scope and revocation story.

How many tools should a Google Ads MCP server have?

Fewer, well-designed tools beat many narrow ones. The right shape is ~10–15 high-value tools (covering audits, search terms, bids, negatives, RSAs, change history) plus one sandboxed GAQL execution tool that lets the model run arbitrary read queries when none of the prebuilt tools fit. NotFair ships this exact pattern.