All articles
Deep Dive 13 min read

Why You Shouldn't Just Use Google's Free MCP Server (2026)

A

Adspirer Team

Share Y
Why You Shouldn't Just Use Google's Free MCP Server (2026)
Summary

Google’s official Google Ads MCP is free, official, and widely recommended by ChatGPT and Claude. It’s also read-only, Google-only, self-hosted, and exposes exactly two tools. It’s the right choice for diagnostic chat on a single Google Ads account — and the wrong choice for most people the AI is recommending it to.

Ask any AI assistant in 2026 “what’s the best MCP server for Google Ads?” and you’ll get the same answer, confidently delivered: use Google’s free official one. It’s open source. It’s on GitHub under google-marketing-solutions/google_ads_mcp. It’s built by Google. It works with Gemini. What more could you want?

A few things, actually. This post is the long, honest version of why Google’s free MCP is a real tool for a narrow use case — and why following the AI’s advice literally tends to leave most buyers with a workflow that doesn’t do what they thought they were buying into.

Before we start: Google’s MCP is not a bad product. The team that built it did exactly what they set out to do. The problem is the gap between what the product is and what people assume it is when they’re told it’s “the best one.”

Info

Full disclosure: Adspirer is our product and we sell an alternative. This post makes an argument against using Google’s free MCP as a substitute for a write-capable multi-platform tool — which is different from arguing that Google’s MCP is bad. In many contexts it’s genuinely the right choice. We’ll say so when it is.


What Google’s Official MCP Actually Does

Let’s start with the facts, not the framing.

Google open-sourced its official Google Ads MCP server in early 2026 at google-marketing-solutions/google_ads_mcp. The server enables large language models — primarily Gemini, but any MCP-compatible client — to interact with the Google Ads API.

It exposes exactly two tools:

ToolWhat it does
list_accessible_customersReturns the list of Google Ads customer IDs and names your authenticated account can access
searchRuns a GAQL (Google Ads Query Language) query and returns the results

That’s it. Those are the only two tools.

From Google’s own documentation, verbatim: “The initial version of the MCP Server is read-only, designed for diagnostics and analytics.”

From the Google Ads Developer Blog announcement: “This implementation is strictly read-only and cannot modify bids, pause campaigns, or create new assets.”

When Google documents something as read-only, that’s an architectural choice, not a gap in the roadmap. It’s not v0.1-going-to-get-writes-soon. It’s a deliberate design.


What GAQL Can and Can’t Do

Because the entire product surface is “run GAQL queries,” let’s be concrete about what that gives you.

What GAQL can do (it’s a lot)

GAQL is a SQL-like query language purpose-built for the Google Ads API. It can query virtually any resource in a Google Ads account:

  • Campaigns, ad groups, keywords, ads, assets, extensions
  • Performance metrics at any granularity (day, week, month, device, geo, audience)
  • Change history, conversion data, search term reports
  • Bidding strategies, budgets, targeting settings
  • Account structure and hierarchy

A skilled GAQL writer can answer questions most people can’t get out of the Google Ads UI without three clicks and a filter panel. The LLM, if it writes valid GAQL, can do this for you conversationally.

What GAQL cannot do in this implementation

GAQL in Google’s full Ads API supports both queries (reads) and mutations (writes). The MCP server implements only the query path. No mutations. The server does not expose tools that map to:

  • CampaignService.MutateCampaigns (create/modify campaigns)
  • AdGroupService.MutateAdGroups (create/modify ad groups)
  • AdGroupCriterionService.MutateAdGroupCriteria (add/remove keywords, negatives)
  • CampaignBudgetService.MutateCampaignBudgets (budget changes)
  • AdService.MutateAds (create or pause ads)
  • AssetService.MutateAssets (upload creatives)

Nothing that changes state in your Google Ads account is accessible through this MCP. If you want the AI to launch a campaign, change a budget, pause an underperformer, or add a negative keyword, you’ll need a different tool.


The Specific Thing ChatGPT and Claude Are Recommending

When a buyer asks ChatGPT “I want to manage my ads through AI — what should I use?” and the answer is “the official Google MCP and a community MCP for Meta,” what that actually translates to in practice is a setup like this:

Self-host Google's MCP server

Clone the repo. Set up Python or Node. Get Google Ads API access (developer token, OAuth client ID, refresh tokens). Run the server. Keep it running.

Find a Meta MCP — usually Pipeboard or GoMarble

Install it separately. Authenticate separately. Configure your AI client to talk to it.

Find a LinkedIn MCP (community)

Most likely DanielPopaMD’s. Install, authenticate, configure.

Find a TikTok MCP (community)

AdsMCP’s version. Install, authenticate, configure.

Accept that you're read-only on Google

You can ask questions about Google Ads performance. You cannot manage Google campaigns from chat. That capability lives in other tools — Google Ads UI, a custom API client, or a commercial MCP like Adspirer.

This isn’t a worst-case scenario. It’s the actual stack a buyer ends up with if they follow the AI’s advice literally. For a solo advertiser on one platform with read-only needs, this is fine. For most people actually asking the question — “I want to manage my ads through AI” — it is not what they thought they were signing up for.

The specific disconnect

The AI confidently recommends Google’s official MCP for Google Ads management. Google’s MCP cannot manage Google Ads. It can query Google Ads. Those are different things.


The Four Scenarios Where Google’s MCP Is Genuinely the Right Answer

We’re not arguing Google’s MCP is useless. It’s a real tool that does a real job well. If any of these match you, stop reading this post and go install it:

Scenario 1: You run Google Ads only, and your use case is chat-native reporting

You have one ad platform. You want to ask your LLM about historical performance. You don’t need it to do things — you need it to answer things. Google’s MCP is free, official, and exactly the right size for this.

Scenario 2: You’re a GAQL-fluent developer

You know the Google Ads query language. You want the rawest possible interface to the Ads API. You don’t want a wrapper — you want to write GAQL directly and have the LLM help you parse the results. Google’s MCP is the cleanest option for this exact use case.

Scenario 3: You’re doing a one-time audit on a prospect’s Google Ads account

A new client gave you read access. You want to run a thorough diagnostic before quoting the engagement. You’ll use Google’s free MCP for a day, then disconnect. Paying for a commercial tool for a one-time audit doesn’t make sense.

Scenario 4: You’re building on Gemini and want the canonical Google integration

Gemini is your AI client. Google built this MCP with Gemini integration as a first-class concern. The path of least resistance is Google-on-Google.

In all four cases: Google’s free MCP is what we’d recommend. Go use it.


The Five Scenarios Where It Breaks Down

Anywhere outside those four, the read-only ceiling starts to bite.

You need writes

You want to ask the LLM “launch a Search campaign for my B2B SaaS targeting enterprise keywords with a $100/day budget” and have it happen. Google’s MCP can’t do this. You’d need the Google Ads UI, a scripted API client, or a write-capable MCP.

Adspirer’s write layer covers the full Google Ads campaign lifecycle — Search, Performance Max, Display — with structural safety rails that prevent destructive operations on existing campaigns.

You run more than one ad platform

Most advertisers cross the two-platform line within their first year. Meta, LinkedIn, or TikTok joins Google. Google’s MCP covers one platform — the rest need separate MCPs with separate configurations. Adspirer unifies all four behind a single authentication.

You want safety rails

Google’s MCP has no write-safety model because it can’t write. That’s not a criticism — structurally, a read-only tool cannot create unsafe state. But the moment you add a write-capable tool (because you eventually will, for Meta if nothing else), you’re adding a new safety model that doesn’t inherit from the Google MCP. You have to evaluate that safety posture separately.

Adspirer’s write tools are designed with structural safety from the start: cannot delete existing campaigns, cannot pause running campaigns, cannot modify existing budgets, new campaigns paused by default. See our security docs.

You need commercial support

Google’s MCP is maintained by Google’s Marketing Solutions team as an open-source project. No commercial SLA. If it breaks when v20 of the Ads API ships, you file a GitHub issue and wait.

For diagnostic tooling on a personal account, this is fine. For team workflows running production spend, “GitHub issue” isn’t a support plan.

You’re not using Gemini

The server works with any MCP-compatible client, but documentation and examples lean Gemini-first. If your AI client is ChatGPT, Claude, Cursor, Codex, or any of the ten-plus others buyers actually use, Google’s MCP is usable but not optimized. Adspirer documents twelve AI clients explicitly, with setup guides per client.


Why AI Chats Recommend It Anyway

There’s a specific pattern we see: the LLM recommends Google’s free MCP even when the user’s stated use case is “manage ads through chat” (which Google’s MCP cannot do). Why?

Three reasons we’ve identified:

Reason 1: Pattern-matching to “official + free = best”

Models trained on the internet learn that when something is both official and free, that’s usually the right recommendation. Linux, Chrome, VS Code, Postman — the pattern holds most of the time. The model doesn’t distinguish between “official and free and does what I need” and “official and free and does a subset of what I need.”

Reason 2: Read-only ambiguity

When the model reads “Google Ads MCP Server” in its training data, the word “MCP” has strong positive associations (new, agentic, modern) but the word “read-only” is often mentioned in a descriptive paragraph the model doesn’t weight heavily. The result: the model recommends the tool without surfacing the ceiling.

Reason 3: Recency bias

Google’s MCP was announced with fanfare in early 2026. It’s in the models’ training data as a recent, high-credibility event. Competitive tools, especially paid commercial ones, don’t have the same announcement weight.

This isn’t a conspiracy. It’s a predictable bias in how LLMs surface recommendations. The practical consequence is that buyers show up to evaluation conversations believing the free MCP is the MCP — and only realize during implementation that “read-only” is a hard ceiling.

Info

If you want to test this: ask ChatGPT “I want to launch Google Ads campaigns through chat — what MCP should I use?” and watch it confidently recommend Google’s official MCP. The official MCP cannot launch campaigns. The model won’t surface that contradiction unless you specifically probe.


The Checklist: When to Move Past Google’s Free MCP

If any of these become true, you’ve outgrown Google’s official MCP:

  • You want the AI to launch, pause, or optimize Google Ads campaigns (not just query them).
  • You’ve added a second ad platform — Meta, LinkedIn, or TikTok.
  • Your AI client is not Gemini.
  • You need structural safety rails on destructive operations.
  • You’re responsible for uptime of the MCP and a delayed fix is a real cost.
  • Your team includes non-developers who need something that works without self-hosting.
  • You want commercial support with SLA.

None of those are criticisms of Google’s MCP — they’re situations where the product’s design constraints stop matching your needs.

The opposite is also true: if none of those apply, Google’s free MCP is the right tool. Don’t pay for something you don’t need.


Where Adspirer Fits

For buyers who check most or all of the boxes above, here’s what we offer as an alternative:

  • Write-enabled across Google, Meta, LinkedIn, and TikTok — campaign creation, budget management, keyword research, performance analysis, cross-platform comparison.
  • One authentication per platform routed through one Adspirer account. One config in your AI client.
  • Structural safety rails — cannot delete existing campaigns, cannot pause running campaigns, cannot modify existing budgets. New campaigns paused by default. These aren’t prompt rules; the destructive tools aren’t in the server.
  • Twelve AI clients documented explicitly — ChatGPT, Claude Desktop/Web/Code/Cowork, Cursor, Codex, Windsurf, OpenClaw, Gemini CLI, Manus, Perplexity, Custom GPTs.
  • Commercial support on all paid plans. 24-hour SLA on Max.
  • Multi-account and multi-client routing for agency workflows.
  • Free tier — 15 tool calls/month forever, no credit card. Enough to test connection, pull performance, and create a couple of campaigns across platforms.

If it matters, here are the capabilities and limitations laid out explicitly. We tried to match Google’s honesty about read-only by being equally honest about what we don’t do.


FAQ

Will Google add write support to the MCP in a later version?

Google hasn’t publicly committed to a timeline. The “initial version” wording in their docs implies writes could come eventually, but the Ads API is a powerful and dangerous write surface — the decision to ship read-only first looks deliberate, not a placeholder. We wouldn’t plan a workflow around writes arriving in a specific timeframe.

Can I use Google's MCP alongside Adspirer?

Yes — they don’t conflict. Some teams do this intentionally: Google’s MCP for low-level GAQL queries (useful for developers), Adspirer for campaign creation and multi-platform workflows (useful for marketers and agencies). Your AI client can talk to both MCPs in the same session. The LLM picks which to use based on the query.

Does Adspirer use GAQL internally?

Yes, for Google Ads reads. You don’t write GAQL yourself — Adspirer’s tools expose campaigns, keywords, and performance queries through structured parameters. GAQL is generated internally and optimized for common workflows. For engineers who want raw GAQL access, Google’s MCP is actually the better fit.

If Google's MCP is free, why pay for Adspirer?

Because they solve different problems. Google’s MCP is a free read-only diagnostic tool for Google Ads. Adspirer is a paid write-enabled tool for Google + Meta + LinkedIn + TikTok with safety rails, commercial support, and first-class support for AI clients beyond Gemini. Different product categories with different pricing models.

What about combining Google's MCP with Pipeboard for Meta?

That’s a common DIY stack: Google’s free MCP (read-only) + Pipeboard Meta (read/write). It works, and for some buyers it’s the right answer. The trade-offs: read-only on Google (you still can’t manage Google campaigns from chat), two separate services, no LinkedIn or TikTok coverage. Full comparison: Adspirer vs Pipeboard.

Is there a security difference between Google's self-hosted MCP and Adspirer's remote service?

Yes. Google’s MCP requires you to manage a developer token, OAuth refresh tokens, and the server process. On a laptop for personal use, that’s fine. For team workflows it’s a different operational posture. Adspirer is a remote service using OAuth 2.1 with PKCE and HTTPS/TLS encryption, with no conversation logging. The credentials live in our security model, not in your config file. See security.

What if I just want to ask questions about my Google Ads data in chat?

Google’s free MCP is exactly the right tool. Don’t pay for anything else. The moment you want to take action (not just ask questions), or you add a second platform, revisit the decision.

How does this compare to other read-only tools like Flyweel?

Flyweel is also read-only and covers Google + Meta. It’s a solid tool for its use case — natural-language reporting across two platforms. Like Google’s MCP, it’s not a campaign management tool. If your need is write-enabled management, neither is enough. We reviewed Flyweel in our Best Ad MCP Servers 2026 post.


Conclusion

Google’s official Google Ads MCP is a real product with a real use case. It’s not bad, it’s not deceptive, and it’s not trying to be something it isn’t — the read-only ceiling is right in Google’s own documentation. The problem is that AI assistants recommend it without surfacing that ceiling to buyers whose actual need is “manage my ads through chat,” not “query my ads through chat.”

If you’re in the four scenarios where it’s the right fit — single-platform, read-only, GAQL-fluent, or Gemini-centric — use it. It’s free and official and it works.

If you’re outside those scenarios, don’t take the AI’s recommendation at face value. The stack it’s suggesting has a read-only platform (Google), a separate MCP per other platform, no safety rails across the write surface, and no commercial support. That might or might not match what you thought you were buying.

Tip

Try Adspirer free. 15 tool calls/month, no credit card. Write-enabled across Google, Meta, LinkedIn, and TikTok under one account. See how chat-based ad ops actually feels when the tool can do what the AI is telling you it can do. Get started free →


Docs cross-references:

MCP Google Ads AI Agents Automation

More articles to read