{"id":35909,"recorded_at":"2026-10-26T14:36:14.793931Z","observed_at":"2026-10-26T14:36:14.793875Z","subject_kind":"source_record","subject":"mcp_registry:io.github.davidmosiah/google-ads-mcp","kind":"listing","method":"baseline/1","body":{"endpoints":[["web","https://github.com/davidmosiah/google-ads-mcp-unofficial"]],"name":"io.github.davidmosiah/google-ads-mcp","owner_address":null,"raw":{"_meta":{"io.modelcontextprotocol.registry/official":{"isLatest":true,"publishedAt":"2026-07-03T12:02:45.900412Z","status":"active","statusChangedAt":"2026-07-03T12:02:45.900412Z","updatedAt":"2026-07-03T12:02:45.900412Z"}},"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","description":"Unofficial Google Ads MCP for campaigns, keywords, budgets, and gated mutations.","name":"io.github.davidmosiah/google-ads-mcp","packages":[{"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"}],"identifier":"google-ads-mcp-unofficial","registryType":"npm","transport":{"type":"stdio"},"version":"0.1.3"}],"repository":{"source":"github","url":"https://github.com/davidmosiah/google-ads-mcp-unofficial"},"version":"0.1.3","websiteUrl":"https://github.com/davidmosiah/google-ads-mcp-unofficial"}},"source":"mcp_registry","summary":"Unofficial Google Ads MCP for campaigns, keywords, budgets, and gated mutations."},"body_sha256":"7fbf065a02fd20d567e47656087c3bb3b18f3d53660bfde5d80eb7b17facb935","prev_id":null,"leaf":"0x29f3a0ab5030527d024f09039a446c2297868b6b4dea92b19a2d790d7c7cd841","leaf_text":"{\"body\":\"7fbf065a02fd20d567e47656087c3bb3b18f3d53660bfde5d80eb7b17facb935\",\"id\":35909,\"kind\":\"listing\",\"method\":\"baseline/1\",\"observed_us\":1793025374793875,\"prev\":null,\"subject\":\"mcp_registry:io.github.davidmosiah/google-ads-mcp\",\"subject_kind\":\"source_record\"}","day":{"day":"2026-10-26","leaves":296695,"root":"0xf43e8dcc3d451a4788b26be904c55e8c4c0fa75c9666796c51db38d37e2c0df8","chained":"0x702d5ac508f08b0d1accf36af25822d8e5660367494edd17a642fb61e158a57a","anchor_chain":"eip155:5042002","anchor_tx":"0x495162f8936e19f0039918feebe6c307f327cd6bf8c37219620b1970041fa9ae","anchor_block":69251483},"proof":["0x29f39bc216fec8883b76407c5b00a24141a95e7a0fdeaa2c3f57140089bcf8e9","0xcb4f32e742e535a2ab65071df39fac9c1f754eae17b16202f9ea441e4ee3f36e","0x136ccd37289705c681c109879483842cafd8a44747a0112f891ee34a83e2edaa","0x3e81fdd42514cbe5488374b6342afe6c2c54e7f46e3ee4dd61f12df4515ec4eb","0x87eab8a4019d0029eb77554c042b6bf5dc8756b4b7e85e8ba7adbf4ff5f3ac40","0x46870c738e39ae65d6eb58494a36daa8597f7bf96dd3f96fbf323b9204c9a4b7","0x4ced261a0d2f1dca80b2d5fd46f48d6047c44b7b625df817a85389730b309bcd","0x774590a99bba2be66469f50dba062163bffadda6d175b6156c25f64eb723cfe4","0xa6c508bee8146d66d84a6db7263cb95aa6ed96eb9d190f7dcf6b3942ce9b5879","0xceecb11ae941a028ba38b36bebeaea0d1db672b60f285af8fdaeb552f5fba197","0x7b0bb4483af5e03d9f02e715a84d790ec3df1fc57d38f1d1a5ed296a7e822d7f","0xeab0020f03650c1a79ed79927ae9d808c59a41295a86d1285582516590c954e6","0x16a8fb19a5e4f4535e7cb3fce5c15ecfa188586bb74e347ee71164f8af27dfe1","0xd843afcced75dedd39194ff9bd12326b88099e6112686db2299392d022dc3146","0xc3a6a3ae44ec0da1848b16d40c45d7aac97a67352eea8df18e0f26edabea8a2f","0x06d71bfa7d8b41d62c8836efc2c601e1cc3772d9453596b2ae4950887f3310ca","0x8c756542e482157df0c36464d75c937b845e4423dbbcfad08f0cf8d5a16b9a13","0x20704208aa6923d6b2450ef74ede87a6e0265d46447926038fe9506e9e154b2d","0x9b9ce5b74b9bab5121612ef6b64920a8d453cbf311096a423eef9702747e868a"]}