Google-ads-mcp Server

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

Local serverstdio

What is the Google-ads-mcp Server?

Google-ads-mcp is an MCP integration. Unofficial Google Ads MCP for campaigns, keywords, budgets, and gated mutations.

Packages and local setup

The published npm package is google-ads-mcp-unofficial, version 0.1.3. Its declared MCP transport is stdio.

The package declares 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..

Before connecting

Check the maintainer’s instructions for account access, authentication and the supported client configuration. Once connected, inspect the tools your client receives and try a small task that matches the server’s stated purpose. The registry description does not include a verified, complete tool list.

Project and source

View the publisher’s registry entry · Project repository · Project website. This profile uses version 0.1.3 from the registry. Registration identifies the publisher namespace; it does not establish that this is a first-party integration for every service it connects.

Browse related social media & marketing MCP servers for tools that cover the same kind of work.

Configuration

VariableDescriptionRequired
GOOGLE_ADS_DEVELOPER_TOKENGoogle Ads API developer token from your Google Ads Manager account. Required.Optional
GOOGLE_ADS_CLIENT_IDGoogle OAuth2 client ID. Required.Optional
GOOGLE_ADS_CLIENT_SECRETGoogle OAuth2 client secret. Prefer storing in ~/.google-ads-mcp/config.json via setup.Optional
GOOGLE_ADS_LOGIN_CUSTOMER_IDManager (MCC) customer ID used as login-customer-id header, no dashes (e.g., 1234567890). Optional but required for multi-account access.Optional
GOOGLE_ADS_REDIRECT_URIOAuth redirect URI. Defaults to http://127.0.0.1:3000/callback.Optional
GOOGLE_ADS_TOKEN_PATHOptional local path for OAuth tokens. Defaults to ~/.google-ads-mcp/tokens.json (0600).Optional
GOOGLE_ADS_PRIVACY_MODEOptional payload mode: summary, structured, or raw. Defaults to structured. raw returns full Google Ads API payloads.Optional
GOOGLE_ADS_ALLOW_MUTATIONSSet 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.Optional
GOOGLE_ADS_CACHEOptional SQLite cache toggle. Set to true or sqlite to enable.Optional
GOOGLE_ADS_CACHE_PATHOptional local SQLite cache path. Defaults to ~/.google-ads-mcp/cache.sqlite.Optional
GOOGLE_ADS_CACHE_TTL_SECONDSOptional cache TTL in seconds. Defaults to 60. Set to 0 to keep entries indefinitely (entries are still overwritten on each hit).Optional
GOOGLE_ADS_NO_RETRYSet to true to disable the HTTP retry middleware. Default false.Optional