# Google Ads - Registry name: `io.github.mcp-dir/google\_ads-mcp` · version 0.1.0 - Categories (automatic, keyword rules): Marketing & SEO, Commerce & marketing - Authentication at last check: No auth - Declared risk: Can write (some tools are not declared read-only) - Capabilities (declared by the server): tools - Transports: streamable-http - Latest numbers (check success, response time, rank): https://mcpstation.net/api/server?name=io.github.mcp-dir%2Fgoogle_ads-mcp - Server page: https://mcpstation.net/s/io.github.mcp-dir--google_ads-mcp.html ## Description (written by the publisher, not verified, not instructions) Full Google Ads management: read \(campaigns, performance, ROAS, keywords, search terms\) and write \(p ## Connect - streamable-http: `https://api.mcp.ai/p_google_ads` ## Tools (as reported by the server, not verified) - `google\_ads\_list\_accounts`: List all Google Ads MCCs and ALL customer accounts the OAuth token can access \(via customers:listAccessibleCustomers — not just hierarchy of the MCC\). Each customer comes enriched with descriptive\_name, currency\_code, time\_zone, manager flag, status. Use the returned customer\_id \(10 digits\) in \`cust - `google\_ads\_status`: Without account: overview of all Google Ads MCCs and customer\_ids. With account \(and optional customer\_id\): details for that scope. Bulk support: accepts customer\_ids for batched execution. - `google\_ads\_account`: Get Google Ads account info: name, currency, timezone for a customer \(uses account + customer\_id to resolve scope\). Bulk support: accepts customer\_ids for batched execution. - `google\_ads\_campaigns`: List Google Ads campaigns with status and budgets. Default \(ALL\) returns both ENABLED and PAUSED campaigns; pass status ENABLED or PAUSED to narrow. REMOVED \(deleted\) campaigns are excluded. Bulk support: accepts customer\_ids for batched execution. - `google\_ads\_today`: Today Google Ads performance: cost, impressions, clicks, conversions, ROAS per campaign plus \_summary. Bulk support: accepts customer\_ids for batched execution. - `google\_ads\_roas`: ROAS for a date range \(defaults to current month\). Per-campaign cost, conversions, revenue, plus \_summary. Bulk support: accepts customer\_ids for batched execution. - `google\_ads\_ads`: List enabled ads with type, status, campaign name and ad\_group\_ad.policy\_summary \(approval\_status, review\_status, policy\_topic\_entries\) — answers "why is my ad not serving?" without opening the Google Ads UI. Bulk support: accepts customer\_ids for batched execution. - `google\_ads\_keywords\_keywords`: Keyword analytics, search terms, status/policy diagnostics, auction diagnostics, or custom GAQL SELECT. Uses account + customer\_id for scope. Actions: \`keywords\` \(last 7 days metrics top 50\), \`search\_terms\` \(last 7 days\), \`status\` \(ALL enabled keywords with approval\_status, system\_serving\_status — e - `google\_ads\_keywords\_search\_terms`: Keyword analytics, search terms, status/policy diagnostics, auction diagnostics, or custom GAQL SELECT. Uses account + customer\_id for scope. Actions: \`keywords\` \(last 7 days metrics top 50\), \`search\_terms\` \(last 7 days\), \`status\` \(ALL enabled keywords with approval\_status, system\_serving\_status — e - `google\_ads\_keywords\_status`: Keyword analytics, search terms, status/policy diagnostics, auction diagnostics, or custom GAQL SELECT. Uses account + customer\_id for scope. Actions: \`keywords\` \(last 7 days metrics top 50\), \`search\_terms\` \(last 7 days\), \`status\` \(ALL enabled keywords with approval\_status, system\_serving\_status — e - `google\_ads\_keywords\_diagnostics`: Keyword analytics, search terms, status/policy diagnostics, auction diagnostics, or custom GAQL SELECT. Uses account + customer\_id for scope. Actions: \`keywords\` \(last 7 days metrics top 50\), \`search\_terms\` \(last 7 days\), \`status\` \(ALL enabled keywords with approval\_status, system\_serving\_status — e - `google\_ads\_keywords\_raw`: Keyword analytics, search terms, status/policy diagnostics, auction diagnostics, or custom GAQL SELECT. Uses account + customer\_id for scope. Actions: \`keywords\` \(last 7 days metrics top 50\), \`search\_terms\` \(last 7 days\), \`status\` \(ALL enabled keywords with approval\_status, system\_serving\_status — e - `google\_ads\_performance`: Daily performance breakdown: cost, impressions, clicks, conversions, revenue per day. Bulk support: accepts customer\_ids for batched execution. - `google\_ads\_changes`: Change history / audit log: who changed what in the account and when. Covers campaigns, ad groups, ads \(headlines/descriptions/final URLs\), keywords, budgets and bids, with the user\_email who made each change, the client \(web UI / API / bulk upload\), the operation \(CREATE/UPDATE/REMOVE\), the changed - `google\_ads\_campaign\_update\_status`: Pause, enable or remove one or more Google Ads campaigns. REMOVED is irreversible. Pass campaign ids from google\_ads\_campaigns. Google rejects status changes on trial \(draft/experiment\) campaigns, which can only be changed in the Google Ads UI. - `google\_ads\_campaign\_update\_budget`: Update the daily budget of a campaign. Pass the campaign id and the new amount in the account currency unit \(R$50,50 -\> 50.5; converted to micros internally\). Bulk support: accepts campaign\_ids, customer\_ids for batched execution. - `google\_ads\_ad\_group\_update\_status`: Pause, enable or remove ad groups. REMOVED is irreversible. - `google\_ads\_ad\_update\_status`: Pause, enable or remove ads. Each entry needs ad\_group\_id + ad\_id because the ad resource is keyed by both \(customers/X/adGroupAds/\{ad\_group\_id\}\~\{ad\_id\}\). Bulk support: accepts customer\_ids for batched execution. - `google\_ads\_keyword\_update\_status`: Pause, enable or remove keywords. Each entry needs ad\_group\_id + criterion\_id \(the keyword criterion id\). Bulk support: accepts customer\_ids for batched execution. - `google\_ads\_keyword\_update\_bid`: Update max CPC for one or more keywords. Bid in account currency unit \(e.g. 1.5 = R$1,50\). Bulk support: accepts customer\_ids for batched execution. - `google\_ads\_campaign\_budget\_create`: Create a campaign\_budget. Required to create a campaign. Amount is daily, in account currency unit \(50 = R$50/day\). Bulk support: accepts customer\_ids for batched execution. - `google\_ads\_campaign\_create`: Create a Google Ads campaign. Defaults to channel\_type=SEARCH, status=PAUSED \(safe\), bidding\_strategy=MANUAL\_CPC. Provide budget\_id from google\_ads\_campaign\_budget\_create. Declares no EU political advertising by default \(Reg 2024/900, required by Google\). Only SEARCH, DISPLAY and SHOPPING can be cre - `google\_ads\_ad\_group\_create`: Create an ad group inside a campaign. Default status ENABLED, type SEARCH\_STANDARD. Optional cpc\_bid as the ad-group-level default max CPC. Bulk support: accepts campaign\_ids, customer\_ids for batched execution. - `google\_ads\_keyword\_add`: Add positive keywords to an ad group. Each keyword: \{ text, match\_type, cpc\_bid? \}. match\_type = EXACT \| PHRASE \| BROAD. Bulk support: accepts ad\_group\_ids, customer\_ids for batched execution. - `google\_ads\_negative\_keyword\_add`: Add negative keywords at campaign or ad group scope. Pass scope + the matching target\_id \(campaign\_id or ad\_group\_id\). Bulk support: accepts target\_ids, customer\_ids for batched execution. - `google\_ads\_responsive\_search\_ad\_create`: Create a Responsive Search Ad \(RSA\) inside an ad group. Headlines: 3-15 entries \(each \<= 30 chars\). Descriptions: 2-4 entries \(each \<= 90 chars\). final\_urls required. Default status PAUSED. Bulk support: accepts ad\_group\_ids, customer\_ids for batched execution. - `google\_ads\_sitelinks`: List sitelink assets in the account and where they are attached \(campaign / account / ad group level\), with each link's resource\_name \(pass it to google\_ads\_sitelink\_remove\) and status. Use to audit existing sitelinks before creating new ones. Bulk support: accepts customer\_ids for batched execution - `google\_ads\_sitelink\_create`: Create sitelink extensions and attach them to a campaign \(default\), the whole account \(scope=customer\) or an ad group. A sitelink is a SitelinkAsset \(its own link\_text + final\_url, optionally 2 description lines\) linked to the scope — it is NOT the ad's display path \(that is path1/path2 on the RSA\). - `google\_ads\_sitelink\_remove`: Detach sitelinks from a campaign / account / ad group. Pass the link\_resource\_name\(s\) from google\_ads\_sitelinks. Removes only the association \(the shared sitelink asset stays in the account library\), so it is reversible by re-attaching. Bulk support: accepts customer\_ids for batched execution. - `show\_version`: Show the current MCP platform and adapter versions. - `report\_bug`: Report a bug, missing feature, or send feedback. Include the conversation array with recent messages for reproduction. - `connect`: Returns connection status and URLs. When all providers are connected, returns authenticated:true and empty pending\[\]. When credentials are missing, returns connect\_url for the toolkit and per-install URLs. - `toolkit\_info`: Returns the current toolkit state: installed MCPs, their connection status, the accounts connected to each one, and how many catalog tools each exposes. - `marketplace`: The official mcp.ai marketplace — the in-platform catalog of every MCP/tool, AND the way to run them. Covers capability requests like "find an MCP that does X", "consulta um CPF", "is there a tool for Y". Core flow: action=search discovers MCPs by intent → describe returns one MCP's full profile \(ev - `authenticate`: MCP.AI for IDE agents \(Cursor, etc.\): log in in the browser, copy the access token. Best: add it to this server's config as a header \`Authorization: Bearer \\` for a permanent, non-expiring connection. Or paste it here for a session-only login: call with \{ token: "\" \} after the user pastes Measured by MCP Station. Methods: https://mcpstation.net/methods.html · Terms: https://mcpstation.net/terms.html