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.
- 3 read your data
- 4 change the account
See the numbers
| Tool | What it does |
|---|---|
search | Reads |
get_resource_metadata | Reads |
list_accessible_customers | Reads |
create_asset | Changes the account |
upload_video_asset | Changes the account |
manage_labels | Changes the account |
manage_label_associations | Changes 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.
- Install Python 3.10 or newer, and pipx.
- 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.
- 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-platformGoogle 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. - 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. - 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?
- The AI writes its own queries. The main tool,
search, takes Google's query language. That's flexible, and it means a wrong query gives a wrong number with no warning. Ask the assistant to show the query it ran. - There's no row limit unless the AI sets one. A broad question on a large account can return more than a conversation can hold.
- It tells Google it's being used. The README says the server adds a header to its API calls so Google can measure usage.
- It stops at the click. Google Ads knows what you paid and what Google counted as a conversion. It doesn't know what the visitor did on your page.
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
- We read the server's source code on GitHub on November 11, 2026: version 0.0.6, last updated the day before. The tool list, the default settings and the sign-in scope come from that code.
- We did not install or run it, so we can't say how it behaves in use or how much it adds to a conversation.
- Google's developer guide, read the same day, described a read-only server with 3 tools. We report both and don't know which Google will change. Check the README before you rely on either.
- What Harvv copies is from Harvv's own code.