Skip to main content
MCP server CX Codex

Google Ads — Claude Code MCP server for campaign reads and edits

Hooks a Google Ads account into your AI client: 35 read tools plus 13 write tools that stay off until you turn them on.

Install into Claude Code · Platform CLI All methods and platforms ↓
claude mcp add --env GOOGLE_ADS_DEVELOPER_TOKEN=<GOOGLE_ADS_DEVELOPER_TOKEN> --env GOOGLE_ADS_CLIENT_ID=<GOOGLE_ADS_CLIENT_ID> --env GOOGLE_ADS_CLIENT_SECRET=<GOOGLE_ADS_CLIENT_SECRET> --env GOOGLE_ADS_REFRESH_TOKEN=<GOOGLE_ADS_REFRESH_TOKEN> --env GOOGLE_ADS_LOGIN_CUSTOMER_ID=<GOOGLE_ADS_LOGIN_CUSTOMER_ID> --transport stdio google-ads -- npx -y @getmcpads/google-ads-mcp-server
Open on GitHub

What Google Ads does

The server exposes Google Ads API calls as tools the assistant can call: campaign and ad group stats, keyword research, raw GAQL. Reads come to 35. The 13 write tools are disabled unless GOOGLE_ADS_ENABLE_WRITES is set, and every change returns a preview that needs confirm: true before anything happens.

It runs locally on Node.js — ^22.23.4 || ^24.22.1 || >=26.12.1. Start it on an older release and it warns on stderr. Four credentials are non-negotiable: developer token, client ID, client secret, refresh token. Pass them as environment variables when you register the server with your client. The optional GOOGLE_ADS_ACCOUNT_IDS allowlist is checked before each request and keeps every tool inside the listed customers.

Calls go straight to Google Ads API v26, no middleman. A revoked refresh token triggers a single re-authorization message instead of a loop of token requests. Licensed Apache-2.0. Useful when ad data has to land inside a conversation rather than a CSV export.

What it helps with

  • check campaign spend and conversions without exporting a report
  • research keywords and pull a forecast for them
  • write a GAQL query and run it against the account
  • preview a rename of an ad group before it goes through
  • keep the assistant inside one ad account out of several

Example prompts for the agent

  • Show spend and conversions per campaign for the past week
  • Run a keyword forecast for these terms in Germany
  • Rename the Brand DE ad group, show me the preview first

How to install Google Ads

Platform CLI

claude mcp add --env GOOGLE_ADS_DEVELOPER_TOKEN=<GOOGLE_ADS_DEVELOPER_TOKEN> --env GOOGLE_ADS_CLIENT_ID=<GOOGLE_ADS_CLIENT_ID> --env GOOGLE_ADS_CLIENT_SECRET=<GOOGLE_ADS_CLIENT_SECRET> --env GOOGLE_ADS_REFRESH_TOKEN=<GOOGLE_ADS_REFRESH_TOKEN> --env GOOGLE_ADS_LOGIN_CUSTOMER_ID=<GOOGLE_ADS_LOGIN_CUSTOMER_ID> --transport stdio google-ads -- npx -y @getmcpads/google-ads-mcp-server

Replace <…> with your own values. 2 more environment variables are in the server README

Step by step, with commands for each platform: How to add an MCP server to Claude Code, Codex, Cursor, VS Code, Gemini CLI and more

Questions about Google Ads

How do I install Google Ads MCP in Claude Code?

Run `claude mcp add google-ads -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_REFRESH_TOKEN=<GOOGLE_ADS_REFRESH_TOKEN> -- npx -y @getmcpads/google-ads-mcp-server` with your own credentials in place of the placeholders.

What does the Google Ads MCP server do?

It gives the assistant Google Ads API tooling: reading stats, keyword research, raw GAQL queries, and campaign edits that preview before applying.

Why are my edits not applied?

Write tools are off by default. Set GOOGLE_ADS_ENABLE_WRITES=true to enable them; each edit still returns a preview and waits for confirmation.

Similar MCP servers

All MCP servers for Marketing and content →

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor