google-ads-mcp
io.github.davidmosiah/google-ads-mcp
About google-ads-mcp
google-ads-mcp is an MCP server published by the GitHub account davidmosiah. Unofficial Google Ads MCP for campaigns, keywords, budgets, and gated mutations.
It runs on your own machine: your AI client starts it from the npm package google-ads-mcp-unofficial at version 0.1.3.
It asks for 2 secrets: GOOGLE_ADS_DEVELOPER_TOKEN and GOOGLE_ADS_CLIENT_SECRET. Give it a key with the least access that still works.
Version 0.1.3 was published on 3 July 2026, and the source code is public, so you can read it before installing.
Written from the registry entry. 9 automated checks on the registry entry and the package code: 7 pass, 0 warn, 0 fail, 2 info. How we check.
What it asks for
| Variable | Required | Secret | Description |
|---|---|---|---|
GOOGLE_ADS_DEVELOPER_TOKEN | No | Yes | Google Ads API developer token from your Google Ads Manager account. Required. |
GOOGLE_ADS_CLIENT_ID | No | No | Google OAuth2 client ID. Required. |
GOOGLE_ADS_CLIENT_SECRET | No | Yes | Google OAuth2 client secret. Prefer storing in ~/.google-ads-mcp/config.json via setup. |
GOOGLE_ADS_LOGIN_CUSTOMER_ID | No | No | 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 | No | No | OAuth redirect URI. Defaults to http://127.0.0.1:3000/callback. |
GOOGLE_ADS_TOKEN_PATH | No | No | Optional local path for OAuth tokens. Defaults to ~/.google-ads-mcp/tokens.json (0600). |
GOOGLE_ADS_PRIVACY_MODE | No | No | Optional payload mode: summary, structured, or raw. Defaults to structured. raw returns full Google Ads API payloads. |
GOOGLE_ADS_ALLOW_MUTATIONS | No | No | 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 | No | No | Optional SQLite cache toggle. Set to true or sqlite to enable. |
GOOGLE_ADS_CACHE_PATH | No | No | Optional local SQLite cache path. Defaults to ~/.google-ads-mcp/cache.sqlite. |
GOOGLE_ADS_CACHE_TTL_SECONDS | No | No | 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 | No | No | Set to true to disable the HTTP retry middleware. Default false. |
Checks
| Check | Result | Detail |
|---|---|---|
| Source repository linked | Pass | https://github.com/davidmosiah/google-ads-mcp-unofficial |
| Version pinned | Pass | Every package has an explicit version |
| Secrets requested | Info | Asks for 2 secrets: GOOGLE_ADS_DEVELOPER_TOKEN, GOOGLE_ADS_CLIENT_SECRET |
| Known package registry | Pass | All packages come from npm, PyPI, OCI, NuGet or MCPB |
| Namespace ownership | Info | Name verified via GitHub account davidmosiah |
| Registry text aimed at the AI | Pass | Description and settings contain no hidden characters or instructions to the AI |
| Install scripts | Pass | google-ads-mcp-unofficial@0.1.3 runs nothing at install |
| Code red flags | Pass | Read 59 files in google-ads-mcp-unofficial@0.1.3: no obfuscation, encoded execution, credential reads or data-collection endpoints found |
| Text aimed at the AI | Pass | No hidden characters or instructions to the AI in 59 files, including comments and the README |
Popularity & health: 59 / 100
Worked out from public numbers and our own checks, not from user reviews or ratings. It says how used and how looked-after a server is, not whether it is safe.
0 forks, 8 merged pull requests. Sources: GitHub, npm, PyPI (pypistats.org) and Hacker News (Algolia), fetched 2026-10-31.
What people say
No Hacker News threads link to its source code.
Look further: search Reddit, search Hacker News, read its GitHub issues. These are not reviews we checked.
Facts
| Registry name | io.github.davidmosiah/google-ads-mcp |
|---|---|
| Publisher | GitHub account davidmosiah |
| How the name is verified | Name verified via GitHub account davidmosiah. The registry ties the name prefix to that account or domain; it does not check the code. |
| Type | Local: runs on your machine from a package |
| Packages | npm google-ads-mcp-unofficial 0.1.3 (stdio) |
| Version | 0.1.3 |
| Published | |
| Last updated | |
| Source repository | https://github.com/davidmosiah/google-ads-mcp-unofficial |
| Website | https://github.com/davidmosiah/google-ads-mcp-unofficial |
| Category | Search & web (assigned by keyword rule, not by hand) |
Related servers in Search & web
- apple-ads7/7Manage Apple Search Ads campaigns, keywords, budgets, and reports…
- Google Ads MCP by Markifact3/3Google Ads MCP: reports, search terms, negatives, budgets,…
- Yandex Direct MCP7/7MCP server for Yandex Direct API v5: manage PPC campaigns, ads,…
- Yandex Direct MCP7/7MCP server for Yandex Direct API v5 — campaigns, ads, keywords,…
- MCP Google Ads7/7Multi-account Google Ads MCP: campaigns, keywords, search terms,…
- Yandex Direct7/7MCP server for Yandex Direct API v5: manage PPC campaigns, ads,…