# Google Ads MCP 2026: Official Server Setup, Claude Config & Read-Only Limits | Enrich Labs

> Google Ads MCP explained: official read-only server, OAuth/ADC setup for Claude and Cursor, Cloud Run, operator prompts, MCP vs API, and when to use Helena.

_Source: https://www.enrichlabs.ai/blog/google-ads-mcp-2026_

---

## TLDR

**Google Ads MCP** is Google's Model Context Protocol server that lets AI clients (Claude Desktop, Cursor, Gemini CLI, custom agents) query Google Ads account data in natural language. The official server is **read-only** today: it bridges to the Google Ads API so an LLM can pull performance, structure, and GAQL-style answers without you living in the UI.

This 2026 guide covers:

-   What Google Ads MCP is (vs full API vs CSV exports)
-   Official stack: GitHub `googleads/google-ads-mcp`, OAuth/ADC, Cloud Run option
-   Setup pattern for Claude / local hosts
-   What you can ask (and what you still cannot mutate safely)
-   MCP vs API for agent builders
-   How this fits next to Meta MCP and Helena
-   FAQs operators actually search

**Primary sources:** [Google Ads MCP developer guide](https://developers.google.com/google-ads/api/docs/developer-toolkit/mcp-server) · [github.com/googleads/google-ads-mcp](https://github.com/googleads/google-ads-mcp)

**Related Enrich Labs:** [Best AI for Google Ads](/blog/best-ai-for-google-ads-2026) · [Best MCP for Meta Ads](/blog/best-mcp-for-meta-ads) · product [MCP setup](/mcp) · [Helena](/ai-digital-marketing-agent) · [Meta API automation](/blog/meta-ads-agency-workflow-automation)

* * *

## Table of Contents

1.  [What Google Ads MCP is](#what)
2.  [MCP vs Google Ads API vs UI exports](#vs)
3.  [Official architecture and specs](#arch)
4.  [Prerequisites and auth (2026)](#prereq)
5.  [Local setup pattern (Claude / hosts)](#setup)
6.  [Cloud Run deployment path](#cloud)
7.  [What to ask first (operator prompts)](#prompts)
8.  [Agency and multi-account patterns](#agency)
9.  [Limits, safety, and common failures](#limits)
10.  [When to use an AI marketing agent instead](#agent)
11.  [FAQ](#faq)

* * *

## What Google Ads MCP is {#what}

[Model Context Protocol (MCP)](https://developers.google.com/google-ads/api/docs/developer-toolkit/mcp-server) is an open standard for connecting LLMs to tools and data. The **Google Ads MCP server** is Google's bridge so an AI host can:

1.  Discover Google Ads tools
2.  Run the server's logic against the Google Ads API
3.  Return structured rows into the model context
4.  Let the model answer in plain language

Typical user loop from Google's docs:

1.  You ask: "How is campaign performance this week?"
2.  The model picks a Google Ads MCP search tool
3.  The server queries the API
4.  Structured results inject into context
5.  The model writes a human answer

That is the product promise behind the keyword **google ads mcp**: _Ads data in the chat you already use_, with credentials and policy still on Google's rails.

* * *

## MCP vs Google Ads API vs UI exports {#vs}

Path

Best for

Strength

Weakness

**Ads UI + exports**

One-off human analysis

Familiar

Slow multi-account, no agent loop

**Google Ads API**

Full product / write automation

Complete surface

Eng cost, GAQL, auth ops

**Official Google Ads MCP**

NL analysis in Claude/Cursor/agents

Fast setup, standardized tools

**Read-only** in current release

**Third-party MCP / SaaS**

Bundled multi-channel agents

UX, hosted OAuth

Trust, scope, pricing

Agent builders still hit the full API when they need mutations (pause keywords, create campaigns, change bids). Scalekit and others frame this clearly: MCP for read/agent UX, API for write control planes ([MCP vs API writeups](https://www.scalekit.com/blog/google-ads-mcp-vs-api)).

If your job is "explain waste and draft a plan," MCP is enough. If your job is "apply 40 negatives every Monday without a human," you need API writes or an agent product with an approval queue.

* * *

## Official architecture and specs {#arch}

From Google's [developer integration guide](https://developers.google.com/google-ads/api/docs/developer-toolkit/mcp-server):

Spec

Current release (as documented)

Access mode

**Read-only**

Language

Python

Transport

`stdio` locally, or HTTP/SSE on Cloud Run

Auth

OAuth 2.0 or service account / ADC

Repo

[googleads/google-ads-mcp](https://github.com/googleads/google-ads-mcp)

Community

`#ads-api-ai-tools` on Google Advertising Community Discord

**Important 2026 auth note:** Google documents that classic **developer tokens** (`GOOGLE_ADS_DEVELOPER_TOKEN`) were **sunset September 9, 2026** for the latest MCP server path. API access level is tied to the **Google Cloud project** instead. Always re-read the live guide before you copy env vars from an old blog post.

* * *

## Prerequisites and auth (2026) {#prereq}

Before any Claude config paste:

1.  **Google Cloud project** with Google Ads API access at Explorer, Basic, or higher (check Cloud console Ads API overview).
2.  **OAuth client** (Client ID / secret) _or_ Application Default Credentials.
3.  **Google Ads login customer ID** if you enter through a manager (MCC) account (`GOOGLE_ADS_LOGIN_CUSTOMER_ID`).
4.  Permission on the Ads accounts you expect to query.
5.  An MCP-capable host (Claude Desktop, Cursor, Gemini CLI, custom agent runtime).

Do not ship client secrets in public git. Prefer ADC via `gcloud auth application-default login` for personal setups, or a locked-down service account for shared infra.

* * *

## Local setup pattern (Claude / hosts) {#setup}

Exact filenames differ by host (`claude_desktop_config.json`, Cursor MCP settings, etc.). Google's pattern is:

-   Run the server via `pipx` from the official git spec
-   Pass env for project, credentials, optional login customer ID

Conceptual config shape (always prefer the [live snippet](https://developers.google.com/google-ads/api/docs/developer-toolkit/mcp-server) over memory):

-   Host key: `mcpServers.google-ads-mcp`
-   Command: `pipx` with args `run --spec git+https://github.com/googleads/google-ads-mcp.git google-ads-mcp`
-   Env: `GOOGLE_PROJECT_ID`, `GOOGLE_APPLICATION_CREDENTIALS` (path to ADC JSON), optional `GOOGLE_ADS_LOGIN_CUSTOMER_ID` for MCC

Third-party tutorials (Claude + Gemini + Cursor) expand this with GAQL prompt libraries and OAuth walkthroughs ([Digital Applied setup guide](https://www.digitalapplied.com/blog/google-ads-mcp-server-claude-gemini-setup-guide)). Use them as UX help; treat Google's page as source of truth when versions drift.

### Smoke test checklist

1.  Host lists `google-ads-mcp` tools after restart
2.  Ask for account name / currency / timezone
3.  Ask for last 7 days spend and conversions by campaign
4.  Ask for search terms with spend and zero conversions (if tools expose it)
5.  Confirm the model cites customer IDs correctly (no mix-ups on MCC)

* * *

## Cloud Run deployment path {#cloud}

For teams that do not want every laptop holding Ads credentials, Google documents:

1.  Build/push a Docker image from the repo
2.  Deploy to **Google Cloud Run**
3.  Point MCP clients at the HTTP/SSE endpoint

That pattern fits agency shared environments and CI-based agents. Still keep:

-   Least-privilege service accounts
-   Per-client credential isolation when required by contract
-   Audit logs on who ran which natural-language query that hit production accounts

Details: same [MCP server guide](https://developers.google.com/google-ads/api/docs/developer-toolkit/mcp-server) under Deployment on Google Cloud.

* * *

## What to ask first (operator prompts) {#prompts}

Google publishes sample prompts; here is an operator pack that maps to real PPC work.

### Account health

-   "List enabled campaigns with status, budget, and bidding strategy."
-   "Which campaigns spent more than $X yesterday with fewer than Y conversions?"
-   "Show conversion actions and which campaigns optimize to them."

### Efficiency

-   "Top 20 search terms by cost with zero conversions in the last 14 days."
-   "Campaigns where CPA is 2x the 28-day median."
-   "Brand vs non-brand spend split if labels or name conventions allow."

### Structure QA

-   "Ad groups with fewer than 3 enabled RSAs."
-   "Keywords in learning or limited status."
-   "Disapproved ads count by campaign."

### Reporting narrative

-   "Write a Monday standup: spend, conversions, CPA vs prior week, three anomalies."
-   "Draft negatives candidates from zero-conversion queries (do not apply)."

**Rule:** keep apply-negatives / pause-campaigns as a **human or separate write API** step while official MCP stays read-only.

* * *

## Agency and multi-account patterns {#agency}

Pattern

How

Watch-outs

MCC login customer

Set login customer ID env

Wrong ID = empty or wrong tree

One host, many clients

Separate credentials or strict prompt scoping

Cross-client data leakage in chat history

Shared Cloud Run

Central server + per-user OAuth

Logging and retention policy

Analyst vs buyer seats

Read MCP for analysts

Buyers still need UI or write tools

Pair Google MCP analysis with your existing Enrich Google content: [Best AI for Google Ads](/blog/best-ai-for-google-ads-2026) for tool selection, and keep Meta on its own MCP track ([Best MCP for Meta Ads](/blog/best-mcp-for-meta-ads)).

* * *

## Limits, safety, and common failures {#limits}

### Limits (product reality)

1.  **Read-only official server**, no silent bid changes
2.  **API access level on the Cloud project**, Explorer vs higher tiers still matter for volume
3.  **Context window**, huge GAQL dumps get truncated; ask for top-N
4.  **Attribution windows / conversion lag**, same as Ads UI, model may over-read yesterday
5.  **Name-based logic**, if campaigns are named `Campaign #3`, NL quality drops

### Safety

1.  Treat chat history as sensitive (customer IDs, spend)
2.  Do not paste refresh tokens into public issues
3.  Separate prod MCC from sandbox experiments
4.  For writes, require an approval queue (agent product or ticket)

### Common failures

Symptom

Likely cause

Fix

Tools missing in host

Config path / restart

Re-check host MCP file

Empty accounts

Wrong login customer ID

Set MCC ID

Auth errors

ADC/OAuth scope

Re-auth, check project API enablement

Stale tutorials

Developer token still required in old posts

Follow post–Sep 2026 Google guide

Hallucinated metrics

Model invented rows

Ask it to show raw tool output

Community support: GitHub Issues on [google-ads-mcp](https://github.com/googleads/google-ads-mcp/issues) and Discord `#ads-api-ai-tools`.

* * *

## Google Ads MCP vs Meta Ads MCP {#meta-compare}

Google Ads MCP

Meta Ads MCP world

Official server

Yes ([Google guide](https://developers.google.com/google-ads/api/docs/developer-toolkit/mcp-server))

Ecosystem + vendor servers (see [Best MCP for Meta Ads](/blog/best-mcp-for-meta-ads))

Default posture

Read-only official

Varies by server

Query language heritage

GAQL / Ads API

Marketing API Insights

Enrich product path

Agent + Google connection

[/mcp](/mcp) Helena connector docs

Multi-channel teams often run **both**: Google MCP for Search/PMax diagnosis, Meta MCP for creative CPA. Do not force one connector to own every channel's write risk.

* * *

## When to use an AI marketing agent instead {#agent}

Use **Google Ads MCP in Claude** when:

-   You want ad-hoc analysis in a coding or chat host
-   Engineers already live in Cursor/Claude Code
-   Read-only is acceptable

Use an **AI marketing agent** (Helena) when:

-   You need scheduled hunts, drafts, and multi-channel memory
-   Non-engineers need an approval queue, not a config JSON
-   Google + Meta + SEO/social should share one operating rhythm

Start: [Helena](https://agent.enrichlabs.ai/marketing/register) · [/ai-digital-marketing-agent](/ai-digital-marketing-agent) · product MCP onboarding [/mcp](/mcp)

* * *

## Implementation blueprint (30 days)

Week

Goal

1

Cloud project + OAuth/ADC + one test account smoke test

2

Prompt pack for Monday standup + search-term waste

3

MCC multi-account read with client labels in every answer

4

Decide write path: none / full API micro-service / agent product

* * *

## FAQ {#faq}

### What is Google Ads MCP?

A Model Context Protocol server that connects AI clients to Google Ads API data so you can ask natural-language questions about campaigns and get structured answers.

### Is there an official Google Ads MCP server?

Yes. Google documents it in the [Ads API developer toolkit](https://developers.google.com/google-ads/api/docs/developer-toolkit/mcp-server) and maintains [googleads/google-ads-mcp](https://github.com/googleads/google-ads-mcp) on GitHub.

### Is Google Ads MCP free?

The protocol server software is open on GitHub; you still need Google Cloud / Ads API access and you pay for any cloud hosting you add. Ads spend is separate.

### Is it read-only?

Google documents the current release as **read-only**. For mutations, use the full Google Ads API or a product that wraps writes with approvals.

### Do I still need a developer token in 2026?

Google states developer tokens were sunset **September 9, 2026** for the latest MCP server path, with access tied to the Cloud project. Confirm on the live docs before setup.

### Can I use it with Claude?

Yes. Configure the MCP server in Claude Desktop (or other hosts) per Google's config pattern and host-specific docs. Community guides cover Claude, Gemini CLI, and Cursor.

### MCP vs Google Ads API?

MCP is the agent-friendly tool layer (especially strong for read/analyze). The API is the complete programmable surface including writes.

### Does this replace Google Ads UI?

No. It accelerates analysis and agent workflows. Bidding strategy changes, policy review, and complex builds still need UI or explicit write tooling.

### How does this relate to Search Console MCP?

Different systems: Ads performance vs organic Search Console. Separate connectors; do not mix customer IDs and property verification in one mental model. (GSC MCP is its own setup.)

### Where does Helena fit?

Helena is the always-on marketing agent layer. Google Ads MCP is one way power users and eng teams pull Ads context into LLM hosts. Many teams use both.

* * *

## The bottom line

**Google Ads MCP** is the fastest legitimate path from "I have Ads API access" to "my AI host can answer campaign questions." Start with the official read-only server, fix auth the 2026 way (project access, not legacy developer-token folklore), lock a prompt pack for waste and CPA, and only then invest in write automation.

For Meta-side MCP comparisons use [Best MCP for Meta Ads](/blog/best-mcp-for-meta-ads). For Google AI tool shopping use [Best AI for Google Ads](/blog/best-ai-for-google-ads-2026). For productized agent ops, use [Helena](https://agent.enrichlabs.ai/marketing/register) and [/mcp](/mcp).

**Related:** [Google conversion tracking setup](/blog/google-ads-conversion-tracking-setup-2026) · [Google Ads audit checklist](/blog/google-ads-audit-checklist-2026) · [Meta Marketing API automation](/blog/meta-ads-agency-workflow-automation)
