Index / MCP servers / Google Ads

Google Ads MCP server

Connect Google Ads and your agent gets 35 tools, among them authenticate, connect, google_ads_account. It answers at https://api.mcp.ai/p_google_ads over streamable HTTP, and it listed its tools to an anonymous client, so no sign-in was needed for that. Our probes reached it 6 of 6 times since 11 September 2026; the last check, on 22 October 2026, succeeded.

Status
Answering
Tools
35
Reliability
6 of 6 checks
Response time
784 ms
Transport
streamable HTTP
Last checked
22 October 2026

Full Google Ads management: read (campaigns, performance, ROAS, keywords, search terms) and write (p

Description as the publisher wrote it.

The 35 tools Google Ads offers

ToolWhat it does
authenticateMCP.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 <token>` for a permanent, non-expiring connection. Or paste it here for a session-on
Inputs: token
connectReturns 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.
google_ads_accountGet 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.
Inputs: account, customer_id, customer_ids
google_ads_ad_group_createCreate 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.
Inputs: campaign_id, name, type, status, cpc_bid, account
google_ads_ad_group_update_statusPause, enable or remove ad groups. REMOVED is irreversible.
Inputs: ad_group_ids, status, partial_failure, account, customer_id
google_ads_ad_update_statusPause, 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.
Inputs: ads, status, partial_failure, account, customer_id, customer_ids
google_ads_adsList 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_
Inputs: account, customer_id, customer_ids
google_ads_campaign_budget_createCreate 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.
Inputs: name, amount, delivery_method, account, customer_id, customer_ids
google_ads_campaign_createCreate 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, requi
Inputs: name, budget_id, channel_type, bidding_strategy, status, merchant_id
google_ads_campaign_update_budgetUpdate 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.
Inputs: campaign_id, amount, account, customer_id, campaign_ids, customer_ids
google_ads_campaign_update_statusPause, 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
Inputs: campaign_ids, status, partial_failure, account, customer_id
google_ads_campaignsList 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 ex
Inputs: status, account, customer_id, customer_ids
google_ads_changesChange 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 / bul
Inputs: since, until, days, limit, account, customer_id
google_ads_keyword_addAdd 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.
Inputs: ad_group_id, keywords, status, partial_failure, account, customer_id
google_ads_keyword_update_bidUpdate 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.
Inputs: keywords, cpc_bid, partial_failure, account, customer_id, customer_ids
google_ads_keyword_update_statusPause, enable or remove keywords. Each entry needs ad_group_id + criterion_id (the keyword criterion id). Bulk support: accepts customer_ids for batched execution.
Inputs: keywords, status, partial_failure, account, customer_id, customer_ids
google_ads_keywords_diagnosticsKeyword 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 enab
Inputs: query, campaign_id, ad_group_id, days, account, customer_id
google_ads_keywords_keywordsKeyword 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 enab
Inputs: query, campaign_id, ad_group_id, days, account, customer_id
google_ads_keywords_rawKeyword 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 enab
Inputs: query, campaign_id, ad_group_id, days, account, customer_id
google_ads_keywords_search_termsKeyword 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 enab
Inputs: query, campaign_id, ad_group_id, days, account, customer_id
google_ads_keywords_statusKeyword 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 enab
Inputs: query, campaign_id, ad_group_id, days, account, customer_id
google_ads_list_accountsList 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 fla
Inputs: account, customer_id, customer_ids
google_ads_negative_keyword_addAdd 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.
Inputs: scope, target_id, keywords, partial_failure, account, customer_id
google_ads_performanceDaily performance breakdown: cost, impressions, clicks, conversions, revenue per day. Bulk support: accepts customer_ids for batched execution.
Inputs: days, account, customer_id, customer_ids
google_ads_responsive_search_ad_createCreate 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 f
Inputs: ad_group_id, headlines, descriptions, final_urls, path1, path2
google_ads_roasROAS for a date range (defaults to current month). Per-campaign cost, conversions, revenue, plus _summary. Bulk support: accepts customer_ids for batched execution.
Inputs: since, until, account, customer_id, customer_ids
google_ads_sitelink_createCreate 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
Inputs: scope, target_id, sitelinks, partial_failure, account, customer_id
google_ads_sitelink_removeDetach 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. Bul
Inputs: link_resource_names, partial_failure, account, customer_id, customer_ids
google_ads_sitelinksList 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 on
Inputs: account, customer_id, customer_ids
google_ads_statusWithout 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.
Inputs: account, customer_id, customer_ids
google_ads_todayToday Google Ads performance: cost, impressions, clicks, conversions, ROAS per campaign plus _summary. Bulk support: accepts customer_ids for batched execution.
Inputs: account, customer_id, customer_ids
marketplaceThe 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
Inputs: action, query, mcp_id, limit, tier_slug, immediate
report_bugReport a bug, missing feature, or send feedback. Include the conversation array with recent messages for reproduction.
Inputs: message, context, conversation
show_versionShow the current MCP platform and adapter versions.
toolkit_infoReturns the current toolkit state: installed MCPs, their connection status, the accounts connected to each one, and how many catalog tools each exposes.

Add Google Ads to your AI client

Every block below points at https://api.mcp.ai/p_google_ads. Pick your client and copy.

Claude Code: one command in your terminal
claude mcp add --transport http google-ads https://api.mcp.ai/p_google_ads
Claude Desktop: claude_desktop_config.json
{
  "mcpServers": {
    "google-ads": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://api.mcp.ai/p_google_ads"]
    }
  }
}
Cursor: ~/.cursor/mcp.json, or .cursor/mcp.json in a project
{
  "mcpServers": {
    "google-ads": {
      "url": "https://api.mcp.ai/p_google_ads"
    }
  }
}
VS Code and GitHub Copilot: .vscode/mcp.json
{
  "servers": {
    "google-ads": {
      "type": "http",
      "url": "https://api.mcp.ai/p_google_ads"
    }
  }
}
Zed: Zed settings.json
{
  "context_servers": {
    "google-ads": {
      "url": "https://api.mcp.ai/p_google_ads"
    }
  }
}
Windsurf: ~/.codeium/mcp_config.json
{
  "mcpServers": {
    "google-ads": {
      "serverUrl": "https://api.mcp.ai/p_google_ads"
    }
  }
}
JetBrains AI Assistant: Settings, Tools, AI Assistant, MCP, New MCP Server, as JSON
{
  "mcpServers": {
    "google-ads": {
      "url": "https://api.mcp.ai/p_google_ads"
    }
  }
}
Continue: .continue/mcpServers/neuronto.yaml
name: Google Ads
version: 0.0.1
schema: v1
mcpServers:
  - name: Google Ads
    type: streamable-http
    url: https://api.mcp.ai/p_google_ads
Gemini CLI: ~/.gemini/settings.json
{
  "mcpServers": {
    "google-ads": {
      "httpUrl": "https://api.mcp.ai/p_google_ads"
    }
  }
}
Codex CLI: MCP server config
{
  "mcpServers": {
    "google-ads": {
      "type": "http",
      "url": "https://api.mcp.ai/p_google_ads"
    }
  }
}
Warp: MCP servers, + Add, paste JSON
{
  "mcpServers": {
    "google-ads": {
      "url": "https://api.mcp.ai/p_google_ads"
    }
  }
}
Goose: a one-click extension link
goose://extension?url=https%3A%2F%2Fapi.mcp.ai%2Fp_google_ads&type=streamable_http&id=google-ads&name=Google%20Ads

Is Google Ads up right now?

It answered our last check on 22 October 2026 in 784 ms. Over 6 checks since 11 September 2026 it answered 6. Status here comes from Neuronto's own probes, not from the publisher.

MCP servers similar to Google Ads

Questions about Google Ads

How many tools does Google Ads have?

35, as returned by the server's own tools/list on 15 September 2026: authenticate, connect, google_ads_account, google_ads_ad_group_create, google_ads_ad_group_update_status, google_ads_ad_update_status, google_ads_ads, google_ads_campaign_budget_create, and 27 more.

Is Google Ads down?

It answered our last check on 22 October 2026 in 784 ms. Over 6 checks since 11 September 2026 it answered 6.

How do I add Google Ads to Cursor?

Put the server under mcpServers in ~/.cursor/mcp.json with the URL https://api.mcp.ai/p_google_ads. The exact JSON is above, with the same setup for Claude Code, Claude Desktop, VS Code, Windsurf, Zed, Gemini CLI and the rest.

Does Google Ads need an API key?

It listed its tools to an anonymous client, so reading the tool list needs no key. Individual tools can still ask for credentials in their own inputs.

Where this comes from

Publisher: io.github.mcp-dir. Endpoint host: api.mcp.ai. ARD identifier: urn:air:io.github.mcp-dir:mcp:google_ads-mcp. First indexed 10 September 2026. The tools are exactly what the server returned; nothing on this page is inferred from its name. Ranking in Neuronto search is never for sale.

Is this your server? Get a message the day it stops answering or its tools change: monitoring, 14 days free. Or claim the domain to manage how it is listed.