MCPLow riskUnclaimed
google-ads-mcp
Unofficial Google Ads MCP for campaigns, keywords, budgets, and gated mutations.
davidmosiahdavidmosiah/google-ads-mcp
server.json
{
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
"name": "io.github.davidmosiah/google-ads-mcp",
"description": "Unofficial Google Ads MCP for campaigns, keywords, budgets, and gated mutations.",
"repository": {
"url": "https://github.com/davidmosiah/google-ads-mcp-unofficial",
"source": "github"
},
"version": "0.1.3",
"websiteUrl": "https://github.com/davidmosiah/google-ads-mcp-unofficial",
"packages": [
{
"registryType": "npm",
"identifier": "google-ads-mcp-unofficial",
"version": "0.1.3",
"transport": {
"type": "stdio"
},
"environmentVariables": [
{
"description": "Google Ads API developer token from your Google Ads Manager account. Required.",
"format": "string",
"isSecret": true,
"name": "GOOGLE_ADS_DEVELOPER_TOKEN"
},
{
"description": "Google OAuth2 client ID. Required.",
"format": "string",
"name": "GOOGLE_ADS_CLIENT_ID"
},
{
"description": "Google OAuth2 client secret. Prefer storing in ~/.google-ads-mcp/config.json via setup.",
"format": "string",
"isSecret": true,
"name": "GOOGLE_ADS_CLIENT_SECRET"
},
{
"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",
"name": "GOOGLE_ADS_LOGIN_CUSTOMER_ID"
},
{
"description": "OAuth redirect URI. Defaults to http://127.0.0.1:3000/callback.",
"format": "string",
"name": "GOOGLE_ADS_REDIRECT_URI"
},
{
"description": "Optional local path for OAuth tokens. Defaults to ~/.google-ads-mcp/tokens.json (0600).",
"format": "string",
"name": "GOOGLE_ADS_TOKEN_PATH"
},
{
"description": "Optional payload mode: summary, structured, or raw. Defaults to structured. raw returns full Google Ads API payloads.",
"format": "string",
"name": "GOOGLE_ADS_PRIVACY_MODE"
},
{
"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",
"name": "GOOGLE_ADS_ALLOW_MUTATIONS"
},
{
"description": "Optional SQLite cache toggle. Set to true or sqlite to enable.",
"format": "string",
"name": "GOOGLE_ADS_CACHE"
},
{
"description": "Optional local SQLite cache path. Defaults to ~/.google-ads-mcp/cache.sqlite.",
"format": "string",
"name": "GOOGLE_ADS_CACHE_PATH"
},
{
"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",
"name": "GOOGLE_ADS_CACHE_TTL_SECONDS"
},
{
"description": "Set to true to disable the HTTP retry middleware. Default false.",
"format": "string",
"name": "GOOGLE_ADS_NO_RETRY"
}
]
}
]
}Permissions
DeclaredDetected
Runs code—
nodeInstalls—
npm:google-ads-mcp-unofficial@0.1.3Runs install scripts—None
NetworkNoneNone
Needs credentials
GOOGLE_ADS_CLIENT_SECRETGOOGLE_ADS_DEVELOPER_TOKENGOOGLE_ADS_CLIENT_SECRETGOOGLE_ADS_DEVELOPER_TOKENOutside the workspace—None
Agent tools—None
Checks
Low risk · Nothing worth a warning was found.
Not reviewed by a person · Checked by rules; the model review is not switched on yet.
Versions
- #10.1.3latestOct 7, 2026
google-ads-mcpOpen in Codeg