NestDaddy

Google Ads Mcp

io.github.davidmosiah/google-ads-mcp ยท v0.1.3

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

Connect Runs on your machine

Terminal
claude mcp add google-ads-mcp -e GOOGLE_ADS_DEVELOPER_TOKEN=<GOOGLE_ADS_DEVELOPER_TOKEN> -e GOOGLE_ADS_CLIENT_ID=<GOOGLE_ADS_CLIENT_ID> -e GOOGLE_ADS_CLIENT_SECRET=<GOOGLE_ADS_CLIENT_SECRET> -e GOOGLE_ADS_LOGIN_CUSTOMER_ID=<GOOGLE_ADS_LOGIN_CUSTOMER_ID> -e GOOGLE_ADS_REDIRECT_URI=<GOOGLE_ADS_REDIRECT_URI> -e GOOGLE_ADS_TOKEN_PATH=<GOOGLE_ADS_TOKEN_PATH> -e GOOGLE_ADS_PRIVACY_MODE=<GOOGLE_ADS_PRIVACY_MODE> -e GOOGLE_ADS_ALLOW_MUTATIONS=<GOOGLE_ADS_ALLOW_MUTATIONS> -e GOOGLE_ADS_CACHE=<GOOGLE_ADS_CACHE> -e GOOGLE_ADS_CACHE_PATH=<GOOGLE_ADS_CACHE_PATH> -e GOOGLE_ADS_CACHE_TTL_SECONDS=<GOOGLE_ADS_CACHE_TTL_SECONDS> -e GOOGLE_ADS_NO_RETRY=<GOOGLE_ADS_NO_RETRY> -- npx -y [email protected]
claude_desktop_config.json
{
  "mcpServers": {
    "google-ads-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "[email protected]"
      ],
      "env": {
        "GOOGLE_ADS_DEVELOPER_TOKEN": "<GOOGLE_ADS_DEVELOPER_TOKEN>",
        "GOOGLE_ADS_CLIENT_ID": "<GOOGLE_ADS_CLIENT_ID>",
        "GOOGLE_ADS_CLIENT_SECRET": "<GOOGLE_ADS_CLIENT_SECRET>",
        "GOOGLE_ADS_LOGIN_CUSTOMER_ID": "<GOOGLE_ADS_LOGIN_CUSTOMER_ID>",
        "GOOGLE_ADS_REDIRECT_URI": "<GOOGLE_ADS_REDIRECT_URI>",
        "GOOGLE_ADS_TOKEN_PATH": "<GOOGLE_ADS_TOKEN_PATH>",
        "GOOGLE_ADS_PRIVACY_MODE": "<GOOGLE_ADS_PRIVACY_MODE>",
        "GOOGLE_ADS_ALLOW_MUTATIONS": "<GOOGLE_ADS_ALLOW_MUTATIONS>",
        "GOOGLE_ADS_CACHE": "<GOOGLE_ADS_CACHE>",
        "GOOGLE_ADS_CACHE_PATH": "<GOOGLE_ADS_CACHE_PATH>",
        "GOOGLE_ADS_CACHE_TTL_SECONDS": "<GOOGLE_ADS_CACHE_TTL_SECONDS>",
        "GOOGLE_ADS_NO_RETRY": "<GOOGLE_ADS_NO_RETRY>"
      }
    }
  }
}
~/.cursor/mcp.json
{
  "mcpServers": {
    "google-ads-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "[email protected]"
      ],
      "env": {
        "GOOGLE_ADS_DEVELOPER_TOKEN": "<GOOGLE_ADS_DEVELOPER_TOKEN>",
        "GOOGLE_ADS_CLIENT_ID": "<GOOGLE_ADS_CLIENT_ID>",
        "GOOGLE_ADS_CLIENT_SECRET": "<GOOGLE_ADS_CLIENT_SECRET>",
        "GOOGLE_ADS_LOGIN_CUSTOMER_ID": "<GOOGLE_ADS_LOGIN_CUSTOMER_ID>",
        "GOOGLE_ADS_REDIRECT_URI": "<GOOGLE_ADS_REDIRECT_URI>",
        "GOOGLE_ADS_TOKEN_PATH": "<GOOGLE_ADS_TOKEN_PATH>",
        "GOOGLE_ADS_PRIVACY_MODE": "<GOOGLE_ADS_PRIVACY_MODE>",
        "GOOGLE_ADS_ALLOW_MUTATIONS": "<GOOGLE_ADS_ALLOW_MUTATIONS>",
        "GOOGLE_ADS_CACHE": "<GOOGLE_ADS_CACHE>",
        "GOOGLE_ADS_CACHE_PATH": "<GOOGLE_ADS_CACHE_PATH>",
        "GOOGLE_ADS_CACHE_TTL_SECONDS": "<GOOGLE_ADS_CACHE_TTL_SECONDS>",
        "GOOGLE_ADS_NO_RETRY": "<GOOGLE_ADS_NO_RETRY>"
      }
    }
  }
}
.vscode/mcp.json
{
  "servers": {
    "google-ads-mcp": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "[email protected]"
      ],
      "env": {
        "GOOGLE_ADS_DEVELOPER_TOKEN": "<GOOGLE_ADS_DEVELOPER_TOKEN>",
        "GOOGLE_ADS_CLIENT_ID": "<GOOGLE_ADS_CLIENT_ID>",
        "GOOGLE_ADS_CLIENT_SECRET": "<GOOGLE_ADS_CLIENT_SECRET>",
        "GOOGLE_ADS_LOGIN_CUSTOMER_ID": "<GOOGLE_ADS_LOGIN_CUSTOMER_ID>",
        "GOOGLE_ADS_REDIRECT_URI": "<GOOGLE_ADS_REDIRECT_URI>",
        "GOOGLE_ADS_TOKEN_PATH": "<GOOGLE_ADS_TOKEN_PATH>",
        "GOOGLE_ADS_PRIVACY_MODE": "<GOOGLE_ADS_PRIVACY_MODE>",
        "GOOGLE_ADS_ALLOW_MUTATIONS": "<GOOGLE_ADS_ALLOW_MUTATIONS>",
        "GOOGLE_ADS_CACHE": "<GOOGLE_ADS_CACHE>",
        "GOOGLE_ADS_CACHE_PATH": "<GOOGLE_ADS_CACHE_PATH>",
        "GOOGLE_ADS_CACHE_TTL_SECONDS": "<GOOGLE_ADS_CACHE_TTL_SECONDS>",
        "GOOGLE_ADS_NO_RETRY": "<GOOGLE_ADS_NO_RETRY>"
      }
    }
  }
}

Replace the values in angle brackets with your own. Keys stay on your machine; we never see them.

Tools

This server runs locally, so its tools are listed by your MCP client once it starts.

Environment variables

NameDescription
GOOGLE_ADS_DEVELOPER_TOKEN
Optional, secret
Google Ads API developer token from your Google Ads Manager account. Required.
GOOGLE_ADS_CLIENT_ID
Optional
Google OAuth2 client ID. Required.
GOOGLE_ADS_CLIENT_SECRET
Optional, secret
Google OAuth2 client secret. Prefer storing in ~/.google-ads-mcp/config.json via setup.
GOOGLE_ADS_LOGIN_CUSTOMER_ID
Optional
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
Optional
OAuth redirect URI. Defaults to http://127.0.0.1:3000/callback.
GOOGLE_ADS_TOKEN_PATH
Optional
Optional local path for OAuth tokens. Defaults to ~/.google-ads-mcp/tokens.json (0600).
GOOGLE_ADS_PRIVACY_MODE
Optional
Optional payload mode: summary, structured, or raw. Defaults to structured. raw returns full Google Ads API payloads.
GOOGLE_ADS_ALLOW_MUTATIONS
Optional
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
Optional SQLite cache toggle. Set to true or sqlite to enable.
GOOGLE_ADS_CACHE_PATH
Optional
Optional local SQLite cache path. Defaults to ~/.google-ads-mcp/cache.sqlite.
GOOGLE_ADS_CACHE_TTL_SECONDS
Optional
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
Optional
Set to true to disable the HTTP retry middleware. Default false.

Details

Package[email protected] (NPM, stdio)
First published3 Jul 2026
Last updated3 Jul 2026
Registry nameio.github.davidmosiah/google-ads-mcp

More marketing and seo servers See all

Listing data from the official MCP registry. Status and tools from NestDaddy's daily check. Browse all MCP servers.