Meta AI Ads Connector Was Easy. Google Ads MCP Server is More Powerful But Needs More Work.

Last week I covered Meta Ads AI Connectors and promised this would be the next episode.

So here it is. Google Ads has an MCP server too.

It works differently from Meta's so I want to be specific about what it does, what it does not do yet, and how to actually get it running.

But first, a quick recap of what we covered last week in case you missed it.

On April 29, Meta launched Meta Ads AI Connectors, a secure bridge that connects your Meta ad account directly to Claude or ChatGPT using the Model Context Protocol (MCP), an open standard built by Anthropic. Once connected, you can manage your entire Meta ad account through plain English. You don’t have click through Ads Manager, exporting CSVs or waiting on dashboards to load.

Now, on to Google.

It works differently from Meta's so I want to be specific about what it does, what it does not do yet, and how to actually get it running.

What the Google Ads MCP Server Is

Like Meta's version, the Google Ads MCP server is built on the Model Context Protocol, the open standard created by Anthropic that lets AI tools connect securely to external systems. Once set up, it gives your AI agent direct authenticated access to your Google Ads account so you can query campaigns, pull performance data, and get analysis through natural language. The repo is Gemini-first, the README documents Gemini CLI as the integration. In principle any MCP-compatible client (Claude, Cursor, etc.) can connect to it, but the repo doesn't ship Claude-specific setup instructions.

It’s core use is instead of logging into Google Ads, navigating to the right report, exporting a CSV, and then asking an AI to analyze it, you just ask. "How is my campaign performance this week?" and the AI queries your account, retrieves the data, and gives you an answer in seconds.

How It Is Different from Meta's Version

A few important distinctions worth knowing before you dive in is Meta's MCP connector is official, hosted, and requires no developer setup. You paste a URL and authenticate. Done.

The Google Ads MCP server is open source and community supported. It lives on GitHub under Google Marketing Solutions. It is not an officially supported Google product and Google itself says it is mainly for experimental purposes. That does not mean it is not useful but it also means you should go in with the right expectations.

Setup requires more technical lift. You need Python 3.12 (with pipx or uv), a Google Ads developer token, and OAuth credentials (Client ID, Client Secret, and a refresh token) packaged into a google-ads.yaml file. If you have a developer or technical co-founder, this is a 30 to 60 minute setup. If you are non-technical, you will need some help.

The current release is read-only by default. You can query and analyze data but you cannot create or edit campaigns without explicitly enabling mutations by setting a specific environment variable. I would recommend starting read-only while the tooling matures, same advice I gave for Meta.

What You Can Actually Do With It

Once connected, the server exposes three core tools your AI can use:

  1. List accessible customers. Returns all Google Ads account IDs and names the authenticated user can access. Useful if you manage multiple accounts.

  2. Search. Executes queries in Google Ads Query Language (GAQL) to fetch campaign metrics, budgets, statuses, and more. This is the main workhorse. You ask a question in plain English, the AI translates it to GAQL, runs the query, and returns structured results.

  3. Get resource metadata. Retrieves the structure of any Google Ads resource type so the AI understands what fields are available to query. This is what lets the AI figure out how to answer questions it has not been explicitly trained on.

In practical terms you can ask things like: "List all my active campaigns and their current budgets." "Show me metrics for campaign X over the last 30 days." "Which ad groups have the lowest conversion rate this month?" "What keywords are triggering the most impressions but not converting?"

There Are Three Ways to Run It

  1. Direct use with Gemini CLI via pipx. You install it through pipx and add a GoogleAds entry to your Gemini mcpServers config. This is the fastest way to get started and works well for individual use.

  2. Local development with Gemini CLI via uv. Clone the repo, point Gemini at the local directory using uv, and run it from source. Useful if you want to inspect or modify the code.

  3. Direct launch. Start the server on its own with uv run -m ads_mcp.server. The server stays up and is ready to accept MCP requests from any compatible client.

The Google Ads MCP server queries your Google Ads data. Whatever is in your account is what the AI works with. If your conversion tracking is incomplete, if your Enhanced Conversions are missing customer data, or if your Google Ads purchase event count does not match your actual Shopify order count, then the AI is analyzing a partial picture.

Which is not new, in fact, it is the same one that affects every reporting and optimization layer built on top of ad platform data. Asking an AI to analyze your campaign performance and getting back a smart answer is only valuable if the underlying data is accurate.

To Get Started

Here’s the Google Ads MCP Server GitHub repository: github.com/google-marketing-solutions/google_ads_mcp

Before you set it up, make sure you have:

A Google Ads developer token from the Google Ads Developer console. OAuth credentials (Client ID, Client Secret, and a refresh token), plus optionally a login_customer_id, all dropped into a google-ads.yaml file in your home directory.

Once you have those, the setup guide in the repository walks through the rest. The README's examples are written for Gemini CLI, you add a GoogleAds entry to your mcpServers config and then type /mcp inside Gemini to confirm the server is listed. If you want to use it from Claude or another MCP client, the wiring is the same shape but you will need to translate the config to that client's format yourself.

One thing I want to flag is unlike Meta's version where write access requires your explicit approval per action, mutations in the Google Ads MCP server are disabled by default but can be enabled with a single environment variable. If you do enable mutations, be careful. Start with read-only, get comfortable with what the AI is doing with your data, and only open up write access when you trust the workflow.

A couple of weeks back, AI agents managing ad accounts was a thing you read about in think pieces. Now both Meta and Google have published the infrastructure to make it real, today, with tools you already use.

Neither of these is plug and play for everyone yet but Meta's is closer while Google's requires more setup. But the direction is clear and the pace is getting faster and faster than most people expected.

Cheers,

Yiqi

Reply

or to participate.