Guide · MCP

Google Ads MCP server: how to set it up, and what it can change

Google's guide calls it read-only. We read the code to check.

The short answer

Google publishes an official Google Ads MCP server. It's free, runs on your computer, and lets an AI assistant like Claude read your campaigns, spend and results.

Google's guide describes it as read-only with 3 tools. The code we read has 7: 3 read, and 4 change the account by creating assets and managing labels. All 7 are on by default. None of them touches a bid, a budget or whether a campaign is running, and each change asks you to confirm. If you want read-only, switch the 4 off before you connect it.

What the 7 tools can doTools in Google's Google Ads MCP server, version 0.0.6, with its default settings.
  • 3 read your data
  • 4 change the account
See the numbers
ToolWhat it does
searchReads
get_resource_metadataReads
list_accessible_customersReads
create_assetChanges the account
upload_video_assetChanges the account
manage_labelsChanges the account
manage_label_associationsChanges the account

Data: Harvv, from the server's source code

Nothing here is hidden. The four tools are listed in the project's README. But a guide that says "read-only" and code that isn't is the kind of gap you should know about before you give an AI access to an ad account.

How do you connect Google Ads to Claude?

These are the steps from the project's README for running it on your own computer.

  1. Install Python 3.10 or newer, and pipx.
  2. Turn on the Google Ads API in a Google Cloud project. Google's guide says the project also needs Google Ads API access, which you apply for if you don't have it.
  3. Sign in with the Google Ads scope. gcloud auth application-default login --scopes https://www.googleapis.com/auth/adwords,https://www.googleapis.com/auth/cloud-platform Google Ads has one scope and it covers changes as well as reading. What keeps a server read-only is which tools it offers, not the sign-in.
  4. Add it to your AI app with the path to your credentials and your project ID. If you reach accounts through a manager account, also set GOOGLE_ADS_LOGIN_CUSTOMER_ID.
  5. Ask a first question, such as "list my Google Ads accounts", to check the sign-in works.

For claude.ai or ChatGPT on the web you need a server on the internet. The README shows how to host this one on Google Cloud Run with its own sign-in page. That's a small server you then run and pay for.

How do you make it read-only?

The server reads a small settings file, tools_config.yaml, that turns groups of tools on or off. The README gives the two lines for a read-only setup:

namespaces: labels: false assets: false

Save that file and point the server at it with the GOOGLE_ADS_MCP_TOOLS_CONFIG setting. Then ask your AI app to list its Google Ads tools. You should see 3, not 7.

If you leave the 4 on, each change runs in two steps. The tool first shows what it would do. It only makes the change when it's called again with a code from the first step, after you approve it. That's a real safeguard. It still depends on you reading what you approve.

What else should you know before you use it?

Where Harvv fits

Harvv connects Google Ads with a Google sign-in and no Cloud project, and it works in claude.ai and ChatGPT. It copies spend, impressions, clicks and conversions for each account, campaign, ad group and ad, 4 times a day. It also keeps the account's change history, which Google drops after 30 days. It never changes anything in the account.

Its own script on your pages adds the part Google Ads can't see: whether visitors from each campaign scrolled, clicked, got stuck or left.

It reads a fixed set of reports. It doesn't carry keyword or search-term reports, and it can't run a custom query. For those, run Google's server next to it.

For the same comparison across Google Analytics, Search Console, Meta Ads and Clarity, see our guide to SEO and marketing MCP servers.

How we checked this

See what your ad clicks do next.

Harvv connects Google Ads and records 72 event types across 10 categories with zero personal data. Free for 3 sites, no card.