mcpbeat Sign in

Google Ads MCP Server

local only

Google Ads MCP runs on your own machine — the client starts it, so there is no endpoint to ping. 198 installs a week from npm. Last commit 7 Sep 2026.

Unofficial Google Ads MCP for campaigns, keywords, budgets, and gated mutations.

Installs per day peak 26 · avg 8 · -45% w/w
a month agotoday
198
Installs / week
npm · google-ads-mcp-unofficial
4
Stars
0 open issues
7 Sep 2026
Last commit
0 releases in 90 days
MIT
License
TypeScript

What the code does

We read the source, 22 h ago · rules 3dff92dd89df

Capabilities

What this server is able to do. For an MCP server this is often the job itself — a terminal server runs commands because that is what it is for. Listed so you know what you are plugging in, not as an accusation.

Runs an external command src/cli/auth.ts:138
  const child = spawn(command, args, { detached: true, stdio: "ignore" });

Is this your server and something here is wrong? Tell us — corrections are free and do not require a plan.

This code can reach further than it looks

We found places where it runs commands, builds paths or queries from values it is given. None of that is a flaw by itself — it becomes one when the code changes, and code changes quietly between releases. We re-read it on every one.

Three servers free · no card

Connect this server

This server runs on your own machine — install it with the package manager and the client starts it for you. Package name taken from the official registry entry.

run in your terminal
claude mcp add google-ads-mcp -- npx -y google-ads-mcp-unofficial
~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "google-ads-mcp": {
      "args": [
        "-y",
        "google-ads-mcp-unofficial"
      ],
      "command": "npx"
    }
  }
}
~/.codex/config.toml
[mcp_servers.google-ads-mcp]
command = "npx"
args = ["-y", "google-ads-mcp-unofficial"]
.cursor/mcp.json
{
  "mcpServers": {
    "google-ads-mcp": {
      "args": [
        "-y",
        "google-ads-mcp-unofficial"
      ],
      "command": "npx"
    }
  }
}
.vscode/mcp.json
{
  "mcpServers": {
    "google-ads-mcp": {
      "args": [
        "-y",
        "google-ads-mcp-unofficial"
      ],
      "command": "npx"
    }
  }
}

This one needs environment variables set before it will start: GOOGLE_ADS_DEVELOPER_TOKEN (Google Ads API developer token from your Google Ads Manager account. Required.), GOOGLE_ADS_CLIENT_ID (Google OAuth2 client ID. Required.), GOOGLE_ADS_CLIENT_SECRET (Google OAuth2 client secret. Prefer storing in ~/.google-ads-mcp/config.json via setup.), GOOGLE_ADS_LOGIN_CUSTOMER_ID (Manager (MCC) customer ID used as login-customer-id header, no dashes (e.g., 1234567890). Optional but required for multi-account access.), GOOGLE_ADS_REDIRECT_URI (OAuth redirect URI. Defaults to http://127.0.0.1:3000/callback.), GOOGLE_ADS_TOKEN_PATH (Optional local path for OAuth tokens. Defaults to ~/.google-ads-mcp/tokens.json (0600).), GOOGLE_ADS_PRIVACY_MODE (Optional payload mode: summary, structured, or raw. Defaults to structured. raw returns full Google Ads API payloads.), GOOGLE_ADS_ALLOW_MUTATIONS (Set to true to enable write tools (pause/resume keywords/campaigns, set bids, set budgets). Default false (read-only). Agents changing real ad spend is high-stakes; review every change.), GOOGLE_ADS_CACHE (Optional SQLite cache toggle. Set to true or sqlite to enable.), GOOGLE_ADS_CACHE_PATH (Optional local SQLite cache path. Defaults to ~/.google-ads-mcp/cache.sqlite.), GOOGLE_ADS_CACHE_TTL_SECONDS (Optional cache TTL in seconds. Defaults to 60. Set to 0 to keep entries indefinitely (entries are still overwritten on each hit).), GOOGLE_ADS_NO_RETRY (Set to true to disable the HTTP retry middleware. Default false.). The author declared them in the registry entry; get the values from the project itself.

Alternatives to Google Ads MCP

same job, measured the same way
Google Adwords
by codechap

MCP server for Google Ads campaign and budget management

local only
A
Google Ads
by adramp

Google Ads MCP server — manage campaigns, keywords, and metrics.

answering
Gadschain
by snipmcp

Google Ads MCP server. Read campaigns, manage budgets, pause/enable, add negative keywords.

48 installs/wk local only
Google Ads
by mharnett

Google Ads MCP with MCC support: 35 tools for campaigns, keywords, reporting, GAQL.

298 installs/wk local only
MCP Google Ads
by ayo-fam

Multi-account Google Ads MCP: campaigns, keywords, search terms, and ad performance.

55 installs/wk local only
Bing Ads
by mharnett

MCP server for Microsoft Advertising (Bing Ads) — campaigns, keywords, and reports

79 installs/wk local only
MCP Gads
by pijusz

Google Ads MCP server — query campaigns, keywords, assets & more via natural language

127 installs/wk local only
Google Ads Manager MCP
by aleemhaider

Unofficial MCP server for Google Ads: reporting plus safe draft/confirm campaign management.

38 installs/wk local only

Google Ads MCP — questions

Answers built from our own checks of this server.

Why is there no uptime for Google Ads MCP?
Google Ads MCP runs on your own machine over stdio — there is no network address to reach, so uptime cannot be measured for it by anyone. What can be measured is adoption: the npm package google-ads-mcp-unofficial was installed 198 times last week.
How do I connect Google Ads MCP?
Copy the ready config from this page — we generate it for Claude Code, Claude Desktop, Codex, Cursor and VS Code, each with the file path that client actually reads. It runs locally, so the command pulls google-ads-mcp-unofficial straight from npm; nothing to host, nothing to sign up for.
How many people use Google Ads MCP?
The npm package google-ads-mcp-unofficial was installed 198 times in the last week. Week over week that is -45%. We show installs rather than GitHub stars on purpose: a star is a bookmark, an install is someone actually running it.
Is Google Ads MCP open source?
Yes — it is published under the MIT licence, written in TypeScript and 4 stars on GitHub. The source link is on this page, so you can read exactly what it does with your data before you connect it.