io.github.davidmosiah/google-ads-mcp
Unofficial Google Ads MCP for campaigns, keywords, budgets, and gated mutations.
The current version, v0.1.3, was published to the official MCP registry on 2026-07-03. It is distributed as google-ads-mcp-unofficial on npm, filed under Other by this index, and declares 12 environment variables. Removals and unreachable sources are measured across every server this index tracks, contract drift across the servers that answer in consecutive snapshots; the index's current counts put this record in context.
Using io.github.davidmosiah/google-ads-mcp in Claude, Cursor, Gemini CLI, Cline, or Zed?
MCP tool contracts can change remotely with no version bump. The mcpindex gate pins each contract and HOLDs the call when it drifts-before your agent acts. Zero credentials. This is not the package install for this server itself (use Install this server for that).
Rewrites your MCP host config so each server launches behind the gate. Inspect first: curl -fsSL https://mcpindex.ai/install.sh | less
uv tool install mcpindex-gate && mcpindex-config-wireSemantic screen found no manipulation pattern in the description. Conformance probe not yet run.
mcpindex.integrity.descriptionpassINFOevidence“No malicious instructions found”via static_description
- - Semantic screen only - the deterministic conformance probe has not run on this server
- - Confidence is reported but not yet calibrated (v1)
- - Screen reads the tool description, not the live behavior
- - advisory
- - registry description only no input schema
- - screen model 8b
- - Still current: the description we screened is unchanged, re-checked against the registry
Semantic screen: an LLM judge reads the tool description for hidden instructions (status PARTIAL). A pass means the description is not lying, not that the tool is safe: a high-capability tool with an honest description still warrants caution. The deterministic conformance probe has not been run on this server yet, so the screen here is semantic-only. Posture: advisory. Confidences are reported but not yet calibrated (calibrated=false at v1). Full verdict history is not shown on this page.
Own this server? Screen its description →
That verdict was true at screening time (snapshot 2026-08-18).
Contracts can change after screening, with no version bump. The gate pins io.github.davidmosiah/google-ads-mcp’s tool contracts on first sight and holds any silent change before your agent acts - the check that keeps being true on Tuesday.
See your first HOLD in 2 minutes →
Related: how to trust an MCP server · screen before install · silent contract drift
People vet a server before wiring it in. One line on your project site or docs answers that with an independent record: screening verdict, registry provenance, contract drift history. It stays current as new screens and drift events land.
[Independent trust record for io.github.davidmosiah/google-ads-mcp](https://mcpindex.ai/server/io-github-davidmosiah-google-ads-mcp) - screening verdict, registry provenance, and contract drift monitoring.<a href="https://mcpindex.ai/server/io-github-davidmosiah-google-ads-mcp">Independent trust record for io.github.davidmosiah/google-ads-mcp</a> - screening verdict, registry provenance, and contract drift monitoring.A live verdict badge for your README or listing. It reflects the current screen, links back here, and updates when the verdict does.
[](https://mcpindex.ai/server/io-github-davidmosiah-google-ads-mcp)<a href="https://mcpindex.ai/server/io-github-davidmosiah-google-ads-mcp"><img src="https://mcpindex.ai/api/v1/badge/io-github-davidmosiah-google-ads-mcp" alt="mcpindex verdict" height="20" /></a>GOOGLE_ADS_DEVELOPER_TOKENGoogle Ads API developer token from your Google Ads Manager account. Required.
GOOGLE_ADS_CLIENT_IDGoogle OAuth2 client ID. Required.
GOOGLE_ADS_CLIENT_SECRETGoogle OAuth2 client secret. Prefer storing in ~/.google-ads-mcp/config.json via setup.
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.
GOOGLE_ADS_REDIRECT_URIOAuth redirect URI. Defaults to http://127.0.0.1:3000/callback.
GOOGLE_ADS_TOKEN_PATHOptional local path for OAuth tokens. Defaults to ~/.google-ads-mcp/tokens.json (0600).
GOOGLE_ADS_PRIVACY_MODEOptional payload mode: summary, structured, or raw. Defaults to structured. raw returns full Google Ads API payloads.
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.
GOOGLE_ADS_CACHEOptional SQLite cache toggle. Set to true or sqlite to enable.
GOOGLE_ADS_CACHE_PATHOptional local SQLite cache path. Defaults to ~/.google-ads-mcp/cache.sqlite.
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).
GOOGLE_ADS_NO_RETRYSet to true to disable the HTTP retry middleware. Default false.
Manage your ConnectMachine contacts, networks, events, and digital business cards.
Measured share of answer for 24 crypto and Web3 brands. An open dataset, not an audit of your site.
Privacy-first unofficial Google Health API v4 MCP server for health, sleep, activity, HR agents