Vazante
Sign inStart

Claude and AI

Google Ads MCP server: Google's official one, setup and limits

What Google's official Google Ads MCP server does, how to set it up in Claude and Claude Code, why it is read-only, and when a hosted connector fits better.

Also available in: Português · Español

A Google Ads MCP server is the piece that lets Claude, or any other MCP client, query your Google Ads account through the API, so you ask questions instead of exporting reports. Google ships an official one: google-ads-mcp, open source under Apache 2.0. It exposes three tools, it is strictly read-only, and you host it yourself with a Google Cloud project and OAuth credentials. If you want to paste a URL into Claude and go, or you want the AI to pause a campaign or add a negative keyword, you need a hosted connector with write access. Here is what the official server does, how to install it, and where each option fits.

For the wider picture across Meta, TikTok, Amazon and Microsoft, see ads MCP servers: which platforms have an official one. This article stays on Google Ads and on what I checked in Google's own documentation on October 28, 2026.

What Google's official server can do

Three tools, plus a few reference resources. The list looks short, but search carries the weight: it runs GAQL, the Google Ads Query Language, so anything the API can read, the model can ask for.

Tool or resourceWhat it does
list_accessible_customersLists the accounts the signed-in user can access directly
searchRuns a GAQL query: metrics, budgets, status, anything readable through the API
get_resource_metadataDescribes the fields of a resource type such as "campaign", so the model knows what it can query
ResourcesThe API discovery document, metrics and segments references, and release notes

In practice the model turns your question into GAQL, runs it and writes the answer. That gives broad read coverage: search terms, keywords, assets, bidding settings, whatever the API exposes.

What it will not do is stated plainly in Google's docs: the current release is strictly read-only and cannot modify bids, pause campaigns or create new assets. For mutate operations, Google points you to a different tool, the Google Ads API Developer Assistant, which generates client library code. The official path to changing something runs through code, not through the chat.

The September 2026 change: no developer token

Older guides say you need an approved developer token before anything works. That is out of date. Google's MCP page says developer tokens were sunset on September 9, 2026 and are no longer required by the latest version of the server; API access levels now follow the Google Cloud project behind your OAuth credentials.

That removes the slowest step, the approval wait. It does not remove the technical ones.

How to install the official server

You need a Google Cloud project, a terminal, and a Google login that can see the ad accounts.

  1. Install pipx. The server is Python and runs with pipx run, with nothing installed permanently.
  2. Enable the Google Ads API in your Google Cloud project.
  3. Create credentials. The shortest path is Application Default Credentials: create an OAuth client in the project, download its JSON file, then run gcloud auth application-default login with the https://www.googleapis.com/auth/adwords scope and that client file. The command prints the path of the credentials file it saved. Keep it.
  4. Configure your MCP client with the pipx command pointing at the repository, GOOGLE_APPLICATION_CREDENTIALS set to that path and GOOGLE_PROJECT_ID set to your project. If you reach client accounts through a manager account, add GOOGLE_ADS_LOGIN_CUSTOMER_ID.
  5. Test with a read-only question, such as "list the Google Ads accounts you can see".

Claude Desktop and Claude Code

In Claude Desktop, the server goes into the MCP config file under Settings → Developer. In Claude Code it is one command, in this shape: claude mcp add --transport stdio --env GOOGLE_PROJECT_ID=your-project --env GOOGLE_APPLICATION_CREDENTIALS=path-to-json google-ads -- pipx run --spec git+https://github.com/googleads/google-ads-mcp.git google-ads-mcp. Claude Code is the easiest place to run the official server, because the people who live in a terminal are the ones it was built for.

Claude on the web

The Claude web app cannot launch a local process, so you have to publish the server. The repository documents a Google Cloud Run deployment with OAuth handled by the server, and Google's guide says to add a custom connector in Claude pointing at your Cloud Run URL with /mcp at the end. That is your infrastructure to secure, monitor and pay for. Google also runs a hosted endpoint pilot, open only to allowlisted participants.

Your options side by side

Google's official serverHosted connector (Vazante)Data-pipeline MCPs and third-party servers
Who runs itYou, locally or on your cloudVazanteThe vendor, or you for open-source projects
Setuppipx, Google Cloud project, OAuth credentialsPaste https://vazante.app/api/mcp and authorizeVaries
ReadsAnything GAQL reachesSpend, impressions, clicks, CTR, CPC, conversions, conversion value and CPA by campaign, account or day; search termsVaries by vendor
WritesNoYes, with confirmation and a cap per actionVaries; read each vendor's docs
Other platforms in the same answerNoMeta Ads, TikTok Ads, GA4, Search ConsoleDepends on the catalog
CostFree software, plus your cloud bill if you deploy itVazante plan, from US$ 31.20 a month on the annual planEach vendor's plan

Data pipelines such as Windsor.ai and Supermetrics ship their own MCPs, and GitHub has several community servers. Their read and write scope differs a lot; Windsor.ai MCP server is one worked example.

When the official server is the right call

Pick it when three things are true: someone on the team is comfortable with a terminal and Google Cloud, the job is reading (audits, reporting, account forensics), and Google Ads is the only platform in the question. There it is hard to beat. It is Google's own, it tracks the API, there is no middleman, and GAQL reaches fields no packaged connector exposes.

It stops being enough in three cases:

  • The answer needs an action. "Pause that campaign" or "add that search term as a negative" cannot go through it.
  • The decision spans platforms. "Where did leads come in cheapest this week, across Google, Meta and TikTok?" needs one connector that sees all three.
  • The team is not technical. Asking a media buyer to create an OAuth client and run gcloud is asking them not to use it.

Setting up Vazante as your Google Ads MCP

In Vazante you sign in with Google, tick the Google Ads accounts you want (manager accounts included), then add the connector in Claude under Settings → Connectors → Add custom connector with https://vazante.app/api/mcp. No API key, no Google Cloud project. In Claude Code: claude mcp add --transport http vazante https://vazante.app/api/mcp, then /mcp to authorize. The full walkthrough, with questions to paste, is in connect Google Ads to Claude, and the connector page is Claude connector.

Limits no Google Ads MCP removes

  • Bad conversion tracking stays bad. The model reads what the account records. If a tag counts a phone click as a purchase, the answer is wrong and confident.
  • Generated queries can pick the wrong field. With the official server the model writes GAQL, and sometimes asks for a metric that does not fit the resource. That is what the metadata tool is for. Check the first answers against the Google Ads interface.
  • Your data goes to the model. Google's own README warns that the server exposes your data to the agent or LLM you connect. That holds for every MCP; AI data security for marketers has the questions to ask.
  • Google Ad Manager is a different product. If you searched for "Ad Manager" meaning Google Ads, note that Ad Manager is the publisher-side platform with its own API. Neither the official Google Ads server nor Vazante covers it.

Next step

If you are technical and only need reads, install the official server today with the steps above and run a week of audit questions in Claude Code. If you want to ask and act, or see Google next to Meta and TikTok in one answer, try a hosted connector, start read-only in practice, and compare against the Google Ads interface for a few days. New to the protocol? Start with what is MCP for marketers.

Frequently asked questions

Is there an official Google Ads MCP server?

Yes. Google publishes googleads/google-ads-mcp, an open-source server documented on the Google Ads developer site. You run it yourself, locally or on your own cloud; a Google-hosted endpoint exists only as a pilot for allowlisted participants.

Can the Google Ads MCP server pause campaigns or change budgets?

Google's official server cannot. Its documentation calls the current release strictly read-only: it cannot modify bids, pause campaigns or create new assets. To act from the chat, you need a connector with write tools, such as Vazante.

Do I still need a developer token for the Google Ads MCP server?

Not with the latest version. Google says developer tokens were sunset on September 9, 2026, and API access levels now follow your Google Cloud project. You still need that project, with the Google Ads API enabled, and OAuth credentials.

How do I connect Google Ads to Claude Code?

For Google's server, add it as a local stdio server with claude mcp add, pointing to the pipx command and your credentials. For a hosted connector, use claude mcp add --transport http with its URL, then run /mcp inside Claude Code to sign in.

Does a Google Ads MCP server work with Google Ad Manager?

No. Google Ad Manager is the publisher-side platform for selling ad inventory, with its own API. Google's Google Ads MCP server and Vazante both talk to the Google Ads API, which is the advertiser side.

Read next