---
bezeichner: "io.github.davidmosiah/google-ads-mcp"
art: "mcp_server"
slug: "io-github-davidmosiah-google-ads-mcp"
paketkoordinate: "npm:google-ads-mcp-unofficial"
status: "aktiv"
homepage: "https://github.com/davidmosiah/google-ads-mcp-unofficial"
erhebungsstand: "2026-10-10T01:17:01.464Z"
namensraum: "io.github.davidmosiah"
registerseite: "https://tracevero.com/mcp/io-github-davidmosiah-google-ads-mcp"
abgerufen_am: "2026-10-10"
zugangsdaten_erforderlich: false
ausfuehrungsort: "lokal"
dateisystem_pfadargument: false
quelloffen_einsehbar: true
roh_beschreibung: "Unofficial Google Ads MCP for campaigns, keywords, budgets, and gated mutations."
version: "0.1.3"
roh_umgebungsvariablen: "GOOGLE_ADS_DEVELOPER_TOKEN, GOOGLE_ADS_CLIENT_ID, GOOGLE_ADS_CLIENT_SECRET, GOOGLE_ADS_LOGIN_CUSTOMER_ID, GOOGLE_ADS_REDIRECT_URI, GOOGLE_ADS_TOKEN_PATH, GOOGLE_ADS_PRIVACY_MODE, GOOGLE_ADS_ALLOW_MUTATIONS, GOOGLE_ADS_CACHE, GOOGLE_ADS_CACHE_PATH, GOOGLE_ADS_CACHE_TTL_SECONDS, GOOGLE_ADS_NO_RETRY"
roh_geheime_pflichtvariablen: ""
roh_transportarten: "stdio"
roh_pfadargumente: ""
roh_repository_url: "https://github.com/davidmosiah/google-ads-mcp-unofficial"
roh_paketquellen: "npm"
roh_geheime_pflichtkopfzeilen: ""
roh_pfad_umgebungsvariablen: ""
roh_remote_adressen: ""
roh_remote_hosts: ""
roh_statusmeldung: ""
roh_veroeffentlicht_am: "2026-07-03"
roh_aktualisiert_am: "2026-07-03"
roh_schemafassung: "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json"
roh_bereitstellungsform: "paket"
roh_repository_quelle: "github"
roh_repository_unterordner: ""
roh_paketbezeichner: "google-ads-mcp-unofficial"
roh_paketversionen: "0.1.3"
roh_laufzeithinweise: ""
roh_umgebungsformate: "string"
roh_umgebungsbeschreibungen: "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_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_DEVELOPER_TOKEN=Google Ads API developer token from your Google Ads Manager account. Required. · 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_NO_RETRY=Set to true to disable the HTTP retry middleware. Default false. · GOOGLE_ADS_PRIVACY_MODE=Optional payload mode: summary, structured, or raw. Defaults to structured. raw returns full Google Ads API payloads. · 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)."
roh_symbolformate: ""
roh_verbindungswege: "{\"packages\":[{\"registryType\":\"npm\",\"identifier\":\"google-ads-mcp-unofficial\",\"version\":\"0.1.3\",\"transport\":\"stdio\",\"environment\":[{\"name\":\"GOOGLE_ADS_DEVELOPER_TOKEN\",\"description\":\"Google Ads API developer token from your Google Ads Manager account. Required.\",\"format\":\"string\",\"required\":false,\"secret\":true},{\"name\":\"GOOGLE_ADS_CLIENT_ID\",\"description\":\"Google OAuth2 client ID. Required.\",\"format\":\"string\",\"required\":false,\"secret\":false},{\"name\":\"GOOGLE_ADS_CLIENT_SECRET\",\"description\":\"Google OAuth2 client secret. Prefer storing in ~/.google-ads-mcp/config.json via setup.\",\"format\":\"string\",\"required\":false,\"secret\":true},{\"name\":\"GOOGLE_ADS_LOGIN_CUSTOMER_ID\",\"description\":\"Manager (MCC) customer ID used as login-customer-id header, no dashes (e.g., 1234567890). Optional but required for multi-account access.\",\"format\":\"string\",\"required\":false,\"secret\":false},{\"name\":\"GOOGLE_ADS_REDIRECT_URI\",\"description\":\"OAuth redirect URI. Defaults to http://127.0.0.1:3000/callback.\",\"format\":\"string\",\"required\":false,\"secret\":false},{\"name\":\"GOOGLE_ADS_TOKEN_PATH\",\"description\":\"Optional local path for OAuth tokens. Defaults to ~/.google-ads-mcp/tokens.json (0600).\",\"format\":\"string\",\"required\":false,\"secret\":false},{\"name\":\"GOOGLE_ADS_PRIVACY_MODE\",\"description\":\"Optional payload mode: summary, structured, or raw. Defaults to structured. raw returns full Google Ads API payloads.\",\"format\":\"string\",\"required\":false,\"secret\":false},{\"name\":\"GOOGLE_ADS_ALLOW_MUTATIONS\",\"description\":\"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.\",\"format\":\"string\",\"required\":false,\"secret\":false},{\"name\":\"GOOGLE_ADS_CACHE\",\"description\":\"Optional SQLite cache toggle. Set to true or sqlite to enable.\",\"format\":\"string\",\"required\":false,\"secret\":false},{\"name\":\"GOOGLE_ADS_CACHE_PATH\",\"description\":\"Optional local SQLite cache path. Defaults to ~/.google-ads-mcp/cache.sqlite.\",\"format\":\"string\",\"required\":false,\"secret\":false},{\"name\":\"GOOGLE_ADS_CACHE_TTL_SECONDS\",\"description\":\"Optional cache TTL in seconds. Defaults to 60. Set to 0 to keep entries indefinitely (entries are still overwritten on each hit).\",\"format\":\"string\",\"required\":false,\"secret\":false},{\"name\":\"GOOGLE_ADS_NO_RETRY\",\"description\":\"Set to true to disable the HTTP retry middleware. Default false.\",\"format\":\"string\",\"required\":false,\"secret\":false}],\"additional_arguments_declared\":false}],\"remotes\":[]}"
---

# io.github.davidmosiah/google-ads-mcp

## Measured values

| Property | Value | Source | Collected on | Level of trust | Raw declaration |
| --- | --- | --- | --- | --- | --- |
| Required secrets declared | false | MCP-Register | 2026-08-06T13:57:41.838Z | abgeleitet | roh_geheime_pflichtvariablen: ; roh_geheime_pflichtkopfzeilen: |
| Execution location | lokal | MCP-Register | 2026-08-06T13:57:41.838Z | abgeleitet | roh_transportarten: stdio |
| Path argument present | false | MCP-Register | 2026-08-06T13:57:41.838Z | abgeleitet | roh_pfadargumente: ; roh_pfad_umgebungsvariablen: |
| Repository URL listed | true | MCP-Register | 2026-08-06T13:57:41.838Z | abgeleitet | roh_repository_url: https://github.com/davidmosiah/google-ads-mcp-unofficial |
| Description (raw) | Unofficial Google Ads MCP for campaigns, keywords, budgets, and gated mutations. | MCP-Register | 2026-08-26T16:45:01.514Z | selbstauskunft |  |
| Declared version | 0.1.3 | MCP-Register | 2026-08-06T13:57:41.838Z | selbstauskunft |  |
| Environment variables (raw) | GOOGLE_ADS_DEVELOPER_TOKEN, GOOGLE_ADS_CLIENT_ID, GOOGLE_ADS_CLIENT_SECRET, GOOGLE_ADS_LOGIN_CUSTOMER_ID, GOOGLE_ADS_REDIRECT_URI, GOOGLE_ADS_TOKEN_PATH, GOOGLE_ADS_PRIVACY_MODE, GOOGLE_ADS_ALLOW_MUTATIONS, GOOGLE_ADS_CACHE, GOOGLE_ADS_CACHE_PATH, GOOGLE_ADS_CACHE_TTL_SECONDS, GOOGLE_ADS_NO_RETRY | MCP-Register | 2026-08-06T13:57:41.838Z | selbstauskunft |  |
| Required secret variables (raw) |  | MCP-Register | 2026-08-06T13:57:41.838Z | selbstauskunft |  |
| Transports (raw) | stdio | MCP-Register | 2026-08-06T13:57:41.838Z | selbstauskunft |  |
| Path arguments (raw) |  | MCP-Register | 2026-08-06T13:57:41.838Z | selbstauskunft |  |
| Repository (raw) | https://github.com/davidmosiah/google-ads-mcp-unofficial | MCP-Register | 2026-08-06T13:57:41.838Z | selbstauskunft |  |
| Package registries (raw) | npm | MCP-Register | 2026-08-06T13:57:41.838Z | selbstauskunft |  |
| Required secret headers (raw) |  | MCP-Register | 2026-08-16T01:17:01.420Z | selbstauskunft |  |
| Path environment variables (raw) |  | MCP-Register | 2026-08-16T01:17:01.420Z | selbstauskunft |  |
| Remote URLs (raw) |  | MCP-Register | 2026-08-16T01:17:01.420Z | selbstauskunft |  |
| Remote hosts (raw) |  | MCP-Register | 2026-08-16T01:17:01.420Z | selbstauskunft |  |
| Registry status message (raw) |  | MCP-Register | 2026-08-16T01:17:01.420Z | selbstauskunft |  |
| First listed in the registry (raw) | 2026-07-03 | MCP-Register | 2026-08-16T01:17:01.420Z | selbstauskunft |  |
| Last changed in the registry (raw) | 2026-07-03 | MCP-Register | 2026-08-16T01:17:01.420Z | selbstauskunft |  |
| Schema version of the raw record (raw) | https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json | MCP-Register | 2026-08-16T01:17:01.420Z | selbstauskunft |  |
| Delivery form (raw) | paket | MCP-Register | 2026-08-16T01:17:01.420Z | selbstauskunft |  |
| Repository platform (raw) | github | MCP-Register | 2026-08-16T01:17:01.420Z | selbstauskunft |  |
| Repository subfolder (raw) |  | MCP-Register | 2026-08-16T01:17:01.420Z | selbstauskunft |  |
| Package identifiers (raw) | google-ads-mcp-unofficial | MCP-Register | 2026-08-16T01:17:01.420Z | selbstauskunft |  |
| Package versions (raw) | 0.1.3 | MCP-Register | 2026-08-16T01:17:01.420Z | selbstauskunft |  |
| Runtime hints (raw) |  | MCP-Register | 2026-08-16T01:17:01.420Z | selbstauskunft |  |
| Environment variable formats (raw) | string | MCP-Register | 2026-08-16T01:17:01.420Z | selbstauskunft |  |
| Environment variable descriptions (raw) | 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_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_DEVELOPER_TOKEN=Google Ads API developer token from your Google Ads Manager account. Required. · 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_NO_RETRY=Set to true to disable the HTTP retry middleware. Default false. · GOOGLE_ADS_PRIVACY_MODE=Optional payload mode: summary, structured, or raw. Defaults to structured. raw returns full Google Ads API payloads. · 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). | MCP-Register | 2026-08-16T01:17:01.420Z | selbstauskunft |  |
| Icon formats (raw) |  | MCP-Register | 2026-08-16T01:17:01.420Z | selbstauskunft |  |
| Connection paths (source structure) | {"packages":[{"registryType":"npm","identifier":"google-ads-mcp-unofficial","version":"0.1.3","transport":"stdio","environment":[{"name":"GOOGLE_ADS_DEVELOPER_TOKEN","description":"Google Ads API developer token from your Google Ads Manager account. Required.","format":"string","required":false,"secret":true},{"name":"GOOGLE_ADS_CLIENT_ID","description":"Google OAuth2 client ID. Required.","format":"string","required":false,"secret":false},{"name":"GOOGLE_ADS_CLIENT_SECRET","description":"Google OAuth2 client secret. Prefer storing in ~/.google-ads-mcp/config.json via setup.","format":"string","required":false,"secret":true},{"name":"GOOGLE_ADS_LOGIN_CUSTOMER_ID","description":"Manager (MCC) customer ID used as login-customer-id header, no dashes (e.g., 1234567890). Optional but required for multi-account access.","format":"string","required":false,"secret":false},{"name":"GOOGLE_ADS_REDIRECT_URI","description":"OAuth redirect URI. Defaults to http://127.0.0.1:3000/callback.","format":"string","required":false,"secret":false},{"name":"GOOGLE_ADS_TOKEN_PATH","description":"Optional local path for OAuth tokens. Defaults to ~/.google-ads-mcp/tokens.json (0600).","format":"string","required":false,"secret":false},{"name":"GOOGLE_ADS_PRIVACY_MODE","description":"Optional payload mode: summary, structured, or raw. Defaults to structured. raw returns full Google Ads API payloads.","format":"string","required":false,"secret":false},{"name":"GOOGLE_ADS_ALLOW_MUTATIONS","description":"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.","format":"string","required":false,"secret":false},{"name":"GOOGLE_ADS_CACHE","description":"Optional SQLite cache toggle. Set to true or sqlite to enable.","format":"string","required":false,"secret":false},{"name":"GOOGLE_ADS_CACHE_PATH","description":"Optional local SQLite cache path. Defaults to ~/.google-ads-mcp/cache.sqlite.","format":"string","required":false,"secret":false},{"name":"GOOGLE_ADS_CACHE_TTL_SECONDS","description":"Optional cache TTL in seconds. Defaults to 60. Set to 0 to keep entries indefinitely (entries are still overwritten on each hit).","format":"string","required":false,"secret":false},{"name":"GOOGLE_ADS_NO_RETRY","description":"Set to true to disable the HTTP retry middleware. Default false.","format":"string","required":false,"secret":false}],"additional_arguments_declared":false}],"remotes":[]} | MCP-Register | 2026-09-08T01:17:01.649Z | selbstauskunft |  |

## Links

- Namespace: [[namensraum/io-github-davidmosiah|io.github.davidmosiah]]

---

- Registry page: <https://tracevero.com/mcp/io-github-davidmosiah-google-ads-mcp>
- Retrieved on: 2026-10-10
