Google Ads MCP logo

Google Ads MCP

Connects AI agents to Google Ads for account analysis and gated campaign, keyword, bid, and budget changes.

Install Google Ads MCP

Pick your client, then add it in one click or paste the config.

STDIONode.js
~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "google-ads-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "google-ads-mcp-unofficial"
      ],
      "env": {
        "GOOGLE_ADS_DEVELOPER_TOKEN": "YOUR_VALUE_HERE",
        "GOOGLE_ADS_CLIENT_ID": "YOUR_VALUE_HERE",
        "GOOGLE_ADS_CLIENT_SECRET": "YOUR_VALUE_HERE",
        "GOOGLE_ADS_LOGIN_CUSTOMER_ID": "YOUR_VALUE_HERE",
        "GOOGLE_ADS_REDIRECT_URI": "YOUR_VALUE_HERE",
        "GOOGLE_ADS_PRIVACY_MODE": "YOUR_VALUE_HERE",
        "GOOGLE_ADS_ALLOW_MUTATIONS": "YOUR_VALUE_HERE",
        "GOOGLE_ADS_TOKEN_PATH": "YOUR_VALUE_HERE"
      }
    }
  }
}

Settings → Developer → Edit Config, merge this into mcpServers, then fully quit and reopen Claude Desktop.

Values are written into the snippet above so you can paste it as is. They never leave your browser.

We couldn’t confirm it starts correctly

We ran the install command but it didn't respond within our test window — this can mean a slow first-time install rather than a real problem.

npx -y google-ads-mcp-unofficial

No response to initialize.

This is an experimental automated check and can have false negatives — missing environment variables, a slow cold install, etc. It doesn’t necessarily mean something’s wrong. Last checked 2d ago.

Overview

The google-ads-mcp MCP server connects AI agents to Google Ads through the Google Ads REST API, providing account, campaign, keyword, and performance data. It includes 22 tools for diagnostics, authentication, profiles, reporting, waste detection, and gated mutations. The default transport is local stdio, with optional loopback Streamable HTTP. Reach for it when an agent needs to inspect Google Ads data or propose controlled account changes with explicit user authorization.

Use cases

  • Inspect campaign and keyword performance
  • Generate daily Google Ads reports
  • Find potentially wasteful ad activity
  • Pause or resume campaigns and keywords with approval
  • Adjust bids and campaign budgets under mutation controls

Key features

  • 22 tools across six categories
  • Google Ads REST API access
  • Read-only reporting and waste analysis
  • Gated campaign, keyword, bid, and budget mutations
  • Summary, structured, and raw privacy modes
  • Stdio and loopback Streamable HTTP transports

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked Today

Recent health check succeeded.

4/4 checks healthy over the last 21d

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 15d ago via OSV.dev · google-ads-mcp-unofficial (npm)

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

GitHub stars4Stargazers on the source repository.
npm downloads458Package downloads in the last 30 days.
Last commit5d agoMost recent push to the default branch.
Install checkInconclusiveDidn't respond in our test window — often a slow first install.
Directory activity2 viewsConfig copies, upvotes, and views on AllMCPs.

How Google Ads MCP works

What google-ads-mcp does

The google-ads-mcp MCP server gives an MCP-compatible agent access to Google Ads account data and selected account-management operations. Its 22 tools cover six areas: diagnostics, a shared profile, authentication, read-only queries, workflows, and mutations.

Read operations can list accessible accounts, campaigns, ad groups, and keywords, or retrieve account, campaign, and keyword performance. Workflow tools produce a daily performance report and help identify waste. The mutation set can pause or resume keywords and campaigns, change keyword bids, and change campaign budgets.

The project is unofficial and is not affiliated with Google. It communicates directly with the Google Ads REST API and does not perform financial-account changes beyond operations exposed by that API.

How it works

By default, the process runs over stdio for connection to an MCP client. It can also expose a stateless Streamable HTTP endpoint on loopback, using GET /health and POST /mcp; the HTTP mode does not use a session ID. Host, port, and transport can be controlled with the corresponding configuration variables.

Authentication uses two Google credentials: a developer token associated with an MCC account and an OAuth 2.0 client. The OAuth flow uses the https://www.googleapis.com/auth/adwords scope and can open a local callback at http://127.0.0.1:3000/callback. Google may only return a refresh token during the first consent flow or after the previous grant is revoked.

Responses support summary, structured, and raw privacy modes. Structured mode is the default and returns normalized rows with metrics while partially redacting customer IDs. Raw mode includes the full upstream payload and full customer IDs; secrets remain redacted.

Setup and configuration

Run npx -y google-ads-mcp-unofficial setup to start the setup wizard. It collects the developer token, OAuth client details, optional MCC login customer ID, redirect URI, and privacy mode. The wizard stores configuration in ~/.google-ads-mcp/config.json with restricted permissions, then guides the OAuth process. Use doctor to verify the installation.

The google-ads-mcp MCP server can be added to Claude Desktop, Cursor, Windsurf, Hermes, OpenClaw, or Codex using the client-specific examples in the repository. Environment variables can replace or override local configuration, including credential values, token storage, privacy mode, caching, retries, and mutation access.

Mutations are disabled by default. Enabling GOOGLE_ADS_ALLOW_MUTATIONS exposes the six write tools, and each write call must also include explicit_user_intent: true. Review changes before enabling this setting because agents can alter campaigns, bids, budgets, and keyword status.

Tools and capabilities

The read-only tools include connection and capability checks, account discovery, campaign and ad-group inspection, keyword listing, and performance retrieval. Diagnostic tools also expose an agent manifest, data inventory, and privacy audit. Authentication tools create an authorization URL, exchange an authorization code, and revoke access.

The workflow tools return a daily report covering yesterday, seven-day, and 30-day aggregates. The report can add an alert when the provided CPC threshold is exceeded. The waste-finding workflow is read-only.

Mutation calls are logged to stderr with the affected resource name. The available writes are keyword pause and resume, keyword bid changes in micros, campaign budget changes in micros, and campaign pause and resume.

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about Google Ads MCP

google-ads-mcp is an MCP server that connects AI agents to the Google Ads REST API. Its main tools list accounts, campaigns, ad groups, and keywords; retrieve performance; generate reports; find waste; and, when explicitly enabled, pause or resume resources and change bids or budgets.

Run `npx -y google-ads-mcp-unofficial setup` to install and configure it. The wizard collects Google Ads developer and OAuth client credentials, stores local configuration, and guides authorization through a loopback callback. Run `npx -y google-ads-mcp-unofficial doctor` afterward to verify setup.

Yes, google-ads-mcp works with Cursor through a standard MCP configuration. Add the provided `npx` command to `~/.cursor/mcp.json` or the equivalent IDE configuration, then start the server from Cursor.

Set `GOOGLE_ADS_ALLOW_MUTATIONS` or run setup with `--allow-mutations` after reviewing the risks. Every mutation also requires `explicit_user_intent: true`; the write tools can change campaigns, bids, budgets, and keyword pause or resume status.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewGoogle Ads MCP AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/google-ads-mcp?style=directory)](https://allmcps.com/mcp/google-ads-mcp)
HTML Embed
<a href="https://allmcps.com/mcp/google-ads-mcp"><img src="https://allmcps.com/api/badge/google-ads-mcp?style=directory" alt="Google Ads MCP on AllMCPs" /></a>