Operations 8 min read

The best Google Ads MCP servers, compared

Google Ads has more MCP servers than any other ad platform, including a first-party one. The catch: the official server can't touch a campaign, and the ones that can make you wrestle Google's API auth yourself. Here's each option worth knowing, and which fits.

The best Google Ads MCP depends on whether you only need to read or also want to write. Google's own official MCP server is the safe default for analytics and diagnostics, but it's strictly read-only: it can't change bids, pause campaigns or create anything.² If you want an agent that also makes changes, you either self-host a community server and take on Google's heavy API auth yourself, or use a managed connector like Adside that handles the auth and holds spend-changing writes for approval. Among the open-source options, cohnen's server is the most popular read-only one and FGRibreau's has the strongest write safety.

The short version

  • There's an official one, and it's read-only. Google open-sourced a Google Ads API MCP server in late 2025. It's great for diagnostics and useless for running campaigns, on purpose.
  • Writing is the hard part. The servers that change campaigns are all community or commercial, and letting an agent spend money needs guardrails: caps, paused-by-default, approval.
  • Google's auth is the real tax. Developer token approval, OAuth client, refresh token, and a manager-account ID. Self-hosted servers make you do all of it; managed ones hide it behind one OAuth click.
  • Open-source picks: cohnen's for popular read-only, FGRibreau's for the best write-safety, GoMarble's for a one-click read-only install.
  • Our pick: the official server for read-only diagnostics, and Adside when you want writes across Google, Meta and LinkedIn without owning the auth or the spend risk.

The auth problem, up front

Before comparing servers, know what you're signing up for, because with Google Ads the auth is most of the work. To call the Google Ads API you need four things: a developer token that Google has to approve (access levels gate how many accounts you can touch), an OAuth client (client ID and secret) inside a Google Cloud project, a refresh token minted through a browser consent flow, and a login-customer-id when you reach accounts through a manager (MCC) account.³

A self-hosted MCP exposes all four to you: you generate them, store them, and keep them out of source control. A managed connector abstracts them: you do one OAuth "connect account" and the provider holds and rotates the tokens. That single difference is why, for most advertisers, the choice isn't really "which server is best" so much as "how much of Google's auth do I want to own." Keep that in mind as we go.

The options at a glance

ServerTypeAuthReads / WritesCoversBest for
Google officialFirst-party OSSDev token + OAuth/ADCRead-only²Google Ads, MCCDiagnostics, analytics
AdsideManagedOAuth (handled for you)Read + write, approval-gatedGoogle + Meta + LinkedIn, many accountsAgencies, cross-platform
cohnenOpen-sourceDev token + OAuthRead-onlyGoogle Ads, MCCThe popular free local option
FGRibreauOpen-sourceDev token + refresh tokenRead + write, strong guardrailsGoogle Ads, MCCSelf-hosted writes with spend caps
GoMarbleOpen-sourceOAuth (browser installer)Read-onlyGoogle Ads, MCCEasiest read-only setup
promobaseOpen-sourceDev token + refresh tokenRead + write, broad coverageGoogle AdsDevelopers wanting full API surface

Google's official MCP: read-only by design

Google open-sourced its own Google Ads API MCP server in late 2025, and it's the one to start with if you want a low-risk read layer.¹ It's Apache-licensed, sits on GitHub with well over 900 stars, and exposes a small, deliberate toolset: list the accounts you can access, run GAQL queries, and pull resource metadata. You self-host it, either locally over stdio or on your own Cloud Run.

The googleads/google-ads-mcp GitHub repository: Google's official, Apache-licensed, read-only Google Ads API MCP server.
Google's official Google Ads API MCP server on GitHub. First-party, Apache-licensed, and read-only by design.

The important line is in Google's own docs: the server is strictly read-only, and cannot modify bids, pause campaigns or create assets.² That's a feature for what it's for (safe diagnostics, reporting, "why did CPA jump last week" questions) and a hard stop if you wanted the agent to actually run the account. It also doesn't spare you the auth: you still bring your own developer token and OAuth setup. As a read-only companion, it's excellent. As your whole solution, only if you never want writes.

Google Ads API developer docs page for the MCP server, describing the read-only design and setup.
The official docs are explicit that the server won't mutate anything. Good to know before you build a workflow expecting it to.

Adside: writes without owning the auth

Adside is the connector we build, so weigh this against the others. It exists for the case the official server doesn't cover: an agent that reads and writes Google Ads, across every account you manage, without you assembling Google's auth stack by hand. You connect Google once through OAuth in the Adside app, add the Adside connector to your assistant, and the developer-token and refresh-token machinery is handled on our side.

Claude's Connectors list showing the Adside connector added and connected.
Adside is added like any remote MCP connector. One OAuth connection then covers Google, Meta and LinkedIn, and the accounts under them.

The other half is spend safety. Requests route through Adside's API layer, which paces calls to stay inside platform rate limits, and writes that spend money are held for you to approve before they go live. It's the same managed model we take on the Meta side, extended to Google Ads. It works with Claude Code, OpenClaw, Gemini, ChatGPT or any MCP-compatible assistant, and MCP access is part of the standard plan, not a per-account add-on. If you only ever need read-only diagnostics on one account, Google's official server is genuinely fine and free; we're built for the point where that stops being enough.

The open-source servers

If you'd rather self-host, there's a healthy field, and they differ mostly on whether they write and how carefully.

The cohnen/mcp-google-ads GitHub repository, the most-starred community Google Ads MCP server.
cohnen's mcp-google-ads is the most-starred community server. Read-only, MIT-licensed, and the default many people reach for first.
  • cohnen / mcp-google-ads is the most popular community server, at around 700 stars. It's MIT-licensed Python, read-only, wraps the OAuth flow with automatic token refresh, and supports manager accounts. If you want the well-trodden free local option for reading data, this is it.
  • FGRibreau / mcp-google-ads is the one to use if you want the agent to actually change campaigns and still sleep at night. It's the strongest write-safety story of the bunch: two-step confirmation (draft, preview, confirm), a configurable daily-budget cap and bid-increase limit, new campaigns and ads created paused, a JSON audit log per change, and a read-only kill switch. Written in Rust, MIT-licensed.
  • GoMarble / google-ads-mcp-server is read-only with the gentlest setup: a browser-based installer handles OAuth, so it's the fastest way to get a reading agent running without editing config by hand.
  • promobase / google-ads-mcp covers the widest slice of the API (most of Google Ads' services, grouped by workflow) with full read and write. It's the developer's choice when you want broad typed coverage and will manage the safety yourself.

All of them share the same catch from the top of this piece: you supply and secure the developer token and refresh token. That's fine if you're comfortable owning credentials; it's the exact thing a managed connector exists to remove.

If you let it write, do this

Reading Google Ads with an agent is low-stakes. Letting one write is where money and account health enter, and the failure mode is specific: an agent with a write scope, steered by a bad instruction or injected content, can pause the wrong campaign, blow a budget, or make changes faster than you'd catch. The servers worth trusting with writes all converge on the same guardrails, and you should insist on them:

  • Read-only until you trust it. Start with the official server or cohnen's, get value from diagnostics, and only add write access deliberately.
  • Caps and paused-by-default. Whatever writes should create things paused and enforce a spend ceiling, the way FGRibreau's server and Adside both do.
  • A human on every spend. The agent proposes; a person approves anything that moves budget. Managed connectors do this for you; self-hosted ones expect you to build it.

Same rule we apply everywhere: the connection is easy, the discipline around writes is the actual work. If you're setting up your first one, our walkthrough for connecting an ads MCP to Claude uses Meta but the client steps are identical for Google.

Frequently asked questions

What is the best Google Ads MCP?

It depends on whether you only need to read or also want to write. Google's own official MCP server is the safe default for analytics and diagnostics, but it is strictly read-only: it cannot change bids, pause campaigns or create anything. If you want an agent that also makes changes, you either self-host a community server and take on Google's heavy API auth yourself, or use a managed connector like Adside that handles the auth and holds spend-changing writes for approval. Among the open-source options, cohnen's server is the most popular read-only one and FGRibreau's has the strongest write safety.

Is there an official Google Ads MCP server?

Yes. Google open-sourced an official Google Ads API MCP server in late 2025, on GitHub under googleads/google-ads-mcp. It is read-only by design: the docs state it cannot modify bids, pause campaigns or create assets. It exposes a handful of tools for listing accounts and running GAQL queries, and you self-host it locally or on your own Cloud Run. It is the lowest-risk option for diagnostics, but it will not run your campaigns for you.

Why is a Google Ads MCP harder to set up than a Meta one?

The Google Ads API auth stack is heavier. You need a developer token that Google has to approve, an OAuth client in a Google Cloud project, a refresh token minted through a browser consent flow, and a login-customer-id when you access accounts through a manager (MCC) account. A self-hosted MCP exposes all of that to you. Managed connectors abstract it: you do one OAuth "connect account" and the provider holds and rotates the tokens, which is why they are the simpler path for most advertisers.

Can a Google Ads MCP change campaigns, or only read data?

It depends on the server. Google's official one and the most popular community server (cohnen's) are read-only. Several community servers do write: FGRibreau's has the strongest guardrails, with two-step confirmation, daily-budget caps, paused-by-default creation, an audit log and a read-only kill switch. Managed connectors like Adside also write, but hold changes that spend money for you to approve first. If you let any server write, keep a human on every change until you trust it.

Which AI assistants does a Google Ads MCP work with?

Any MCP-compatible assistant. Self-hosted servers like Google's official one or cohnen's are added as a command entry in your client's config and work with Claude Desktop, Claude Code, Cursor and Windsurf. Remote managed connectors are added as a custom connector URL and also work with Gemini and ChatGPT. The Google Ads account you authorize is the same either way; only the client and the hosting differ.

Sources

  1. Google open-sources its official Google Ads API MCP server — Search Engine Land (October 2025)
  2. Official server is strictly read-only, cannot modify bids, pause campaigns or create assets — Google Ads API MCP server docs, Google for Developers (accessed Sept 2026)
  3. Google Ads API authentication: developer token, OAuth2, refresh token, login-customer-id — OAuth overview, Google Ads API (accessed Sept 2026)
  4. Managed connector safety model: rate-pacing and approval-gated writes — Can an ads MCP get your account banned?, Adside
Robin Choy

Founder of Adside. Writes about running ads with AI in the loop: what to automate, what to keep human, and what the platforms actually reward.

Run Google Ads without owning the auth

Adside is a managed MCP for Google, Meta and LinkedIn: connect through OAuth (no developer token or refresh token to juggle), paced to stay inside each platform's rate limits, with every spend-changing write held for approval. Point Claude Code, OpenClaw or ChatGPT at any account you manage.