mcp-gads
Provides tools for querying and managing Google Ads accounts, campaigns, keywords, assets, and performance metrics via the Google Ads API.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp-gadsshow me my active campaigns"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Quick Start
1. Get Credentials
You need a Google Ads API developer token and OAuth client credentials.
Download your OAuth client JSON from Google Cloud Console
Set environment variables:
export GOOGLE_ADS_DEVELOPER_TOKEN=your-token
export GOOGLE_ADS_CREDENTIALS_PATH=./credentials.jsonRun the setup helper to authorize:
npx mcp-gads setupThis opens your browser, completes OAuth, and saves a refresh token.
2. Add to Claude Code
claude mcp add google-ads --scope user --transport stdio \
-e GOOGLE_ADS_DEVELOPER_TOKEN=your-token \
-e GOOGLE_ADS_CREDENTIALS_PATH=/path/to/credentials.json \
-- npx -y mcp-gads@latestThat's it. Restart Claude Code and the tools are available. Every session runs the latest version automatically.
Also works with
bunx mcp-gads@latestif you have Bun. Requires Node 22+ when running vianpx.
If your environment blocks npm registry access at runtime, install once and run the published binary name directly:
npm i -g mcp-gads@latest
claude mcp add google-ads --scope user --transport stdio \
-e GOOGLE_ADS_DEVELOPER_TOKEN=your-token \
-e GOOGLE_ADS_CREDENTIALS_PATH=/path/to/credentials.json \
-- mcp-gadsDownload a pre-built binary from Releases:
Platform | File |
macOS (Apple Silicon) |
|
macOS (Intel) |
|
Linux |
|
Windows |
|
macOS / Linux:
curl -Lo mcp-gads https://github.com/pijusz/mcp-gads/releases/latest/download/mcp-gads-darwin-arm64
chmod +x mcp-gads
sudo mv mcp-gads /usr/local/bin/
claude mcp add google-ads --scope user --transport stdio \
-e GOOGLE_ADS_DEVELOPER_TOKEN=your-token \
-e GOOGLE_ADS_CREDENTIALS_PATH=/path/to/credentials.json \
-- /usr/local/bin/mcp-gadsWindows (PowerShell):
Invoke-WebRequest -Uri "https://github.com/pijusz/mcp-gads/releases/latest/download/mcp-gads-windows-x64.exe" -OutFile "$env:LOCALAPPDATA\mcp-gads.exe"
claude mcp add google-ads --scope user --transport stdio -e GOOGLE_ADS_DEVELOPER_TOKEN=your-token -e GOOGLE_ADS_CREDENTIALS_PATH=C:\path\to\credentials.json -- "%LOCALAPPDATA%\mcp-gads.exe"ChatGPT Codex
Codex uses TOML, not JSON. Install once, then add to ~/.codex/config.toml:
npm i -g mcp-gads[mcp_servers.gads]
command = "mcp-gads"
[mcp_servers.gads.env]
GOOGLE_ADS_DEVELOPER_TOKEN = "your-token"
GOOGLE_ADS_CREDENTIALS_PATH = "/absolute/path/to/credentials.json"Three gotchas that cause silent failures on Codex:
Don't use
npx -ywithout raising the timeout. Codex's defaultstartup_timeout_secis 10s, which is too short for npx's first-run download. A global install (above) or the prebuilt binary sidesteps this entirely. If you must use npx, addstartup_timeout_sec = 30.Env vars must go under
[mcp_servers.gads.env]. Codex does not inherit the parent shell environment into stdio servers — exporting vars in your shell won't reach the server.Use absolute paths for
GOOGLE_ADS_CREDENTIALS_PATH. Codex spawns the server with its own cwd, so relative paths silently miss.
On Windows some Codex versions use startup_timeout_ms = 20000 instead of _sec.
Claude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"google-ads": {
"command": "npx",
"args": ["-y", "mcp-gads@latest"],
"env": {
"GOOGLE_ADS_DEVELOPER_TOKEN": "your-token",
"GOOGLE_ADS_CREDENTIALS_PATH": "/path/to/credentials.json"
}
}
}
}{
"mcpServers": {
"google-ads": {
"command": "/usr/local/bin/mcp-gads",
"env": {
"GOOGLE_ADS_DEVELOPER_TOKEN": "your-token",
"GOOGLE_ADS_CREDENTIALS_PATH": "/path/to/credentials.json"
}
}
}
}{
"mcpServers": {
"google-ads": {
"command": "C:\\Users\\YOU\\AppData\\Local\\mcp-gads.exe",
"env": {
"GOOGLE_ADS_DEVELOPER_TOKEN": "your-token",
"GOOGLE_ADS_CREDENTIALS_PATH": "C:\\path\\to\\credentials.json"
}
}
}
}Related MCP server: google-ads-mcp
Tools (39)
Account Management
Tool | Description |
| List all accessible Google Ads accounts |
| Get the currency code for an account |
| Get MCC account tree (manager -> client) |
Queries
Tool | Description |
| Run any GAQL query (table output) |
| Run GAQL with format options (table/json/csv) |
| GAQL reference guide with syntax, resources, and examples |
| List valid GAQL FROM clause resources |
Campaigns
Tool | Description |
| Campaign metrics (impressions, clicks, cost, conversions) |
| Budget amounts vs actual spend |
Ads
Tool | Description |
| Ad-level performance metrics |
| RSA headlines, descriptions, final URLs |
Assets
Tool | Description |
| List image assets with URLs and dimensions |
| Download a specific image asset to disk |
| Find where assets are used (campaigns, ad groups) |
| Image asset performance with metrics |
Keywords
Tool | Description |
| Keyword Planner suggestions from seed keywords |
| Historical search volume for specific keywords |
| Quality scores with component breakdown |
| Actual search queries triggering your ads |
| Paid vs organic clicks per query (needs Search Console link) |
| Search demand categories — the only view into Performance Max & Demand Gen queries |
Geographic & Device
Tool | Description |
| Performance by location |
| Performance by device type |
Insights
Tool | Description |
| Google's AI optimization suggestions |
| Recent account changes |
Extended Reporting
Tool | Description |
| Ad group metrics with optional campaign filter |
| Conversion actions with settings and performance |
| Quick dashboard: totals + top 5 campaigns |
| Competitive position: impression share and lost IS |
| Performance by hour or day of week |
| Demographics: age range and gender breakdowns |
| Landing page URLs with metrics |
| Display/PMax placement details |
| PMax asset group metrics and ad strength |
| YouTube/video view rates and quartile completion |
| Labels and their campaign/ad group assignments |
Write Tools (disabled by default)
Enable with GOOGLE_ADS_ENABLE_MUTATIONS=true:
Tool | Description |
| Pause/enable a campaign |
| Pause/enable an ad group |
| Pause/enable an ad |
| Change daily budget amount |
| Add negative keywords to a campaign |
Configuration
Variable | Required | Default | Description |
| Yes | — | API developer token |
| Yes | — | Path to OAuth client JSON |
| No |
|
|
| No | — | Default customer ID (skips passing it per tool) |
| No | — | MCC manager account ID |
| No | — | Service account impersonation email |
| No |
| Enable write tools |
| No |
| Path to .env file (loaded if present, never overrides existing env) |
| No |
| Google Ads API version |
Updates
Using npx @latest (recommended): You always get the latest version — no manual updates needed.
Using a binary: The server checks for new releases on startup and logs to stderr if outdated:
[mcp-gads] v0.2.0 available (current: v0.1.0). Download: https://github.com/pijusz/mcp-gads/releases/latestCheck your installed version:
mcp-gads --versionTo update, download the new binary and replace the old one.
Development
Requires Bun.
git clone https://github.com/pijusz/mcp-gads.git
cd mcp-gads
bun install
bun test # tests
bun run build # standalone binary
bun run inspect # MCP Inspector
bun run check # biome format + lintLicense
MIT
This server cannot be deployed
Maintenance
Related MCP Connectors
Google Ads MCP server — manage campaigns, keywords, and metrics.
Google Ads MCP with 20,000+ account peer context and staged approve-then-execute writes.
Run Google, Meta, Microsoft, TikTok and LinkedIn Ads from Claude or ChatGPT. Writes need approval.
Related MCP Servers
- AlicenseAqualityFmaintenanceA read-write MCP server for managing Google Ads campaigns, ad groups, keywords, and ads via natural language.122-

google-ads-mcpofficial
AlicenseAqualityAmaintenanceMCP server that provides tools and resources for interacting with Google Ads API, enabling search, metadata retrieval, and account management through natural language.3929Apache 2.0- FlicenseNot gradedqualityCmaintenanceEnables management of Google Ads accounts via MCP, providing read and write tools for campaigns, ad groups, keywords, assets, and more, with support for reporting and mutations.-
- AlicenseBqualityAmaintenanceEnables reading and analyzing Google Ads data, planning keywords, and previewing campaign changes before applying them, all through natural language.3174 npmApache 2.0