← Back to AutoAdy

Google Ads MCP server

AutoAdy's connector reads Google Ads: read-only GAQL queries over the selected customer, and Google's own keyword ideas. The write tools are built and switched off until Google's OAuth verification completes, so today nothing here can change a Google campaign.

Last updated: September 24, 2026

AutoAdy connects to Google Ads and the connector serves it. run_gaql takes a Google Ads Query Language statement, accepts only SELECT over an allowlisted set of resources, caps the rows, and runs it against the workspace's selected customer. research_keywords returns Google's keyword ideas with monthly search volume, competition and top-of-page bid range.

The write tools are there too: campaign budget and status, negative keywords, Google's recommendations, and image assets. Each one is built behind a preview, an approval, a journal and, where Google allows it, a 60-second undo. They are all switched off in production until Google's OAuth verification completes. Called today, every one refuses with GOOGLE_WRITES_DISABLED and changes nothing.

In the AutoAdy app the same connection also gives a fixed 30-day report of campaigns, ad groups, keywords and search terms. The table below is generated from the server's tool registry, so it is what your assistant sees.

Tools

What your assistant can call

8 tools: 2 that read and change nothing, 4 that make a change, and 2 that stop live delivery and are annotated destructive so a well-behaved assistant asks first.

Google Ads reads (2)

Read-only, against the workspace's selected Google Ads customer. A different customer id is refused. run_gaql: Costs 4 credits per run on the Solo, Growth and Agency credit plans; existing Pro and Agency subscriptions get 100 and 500 runs a day free instead, per workspace, resetting at midnight UTC. Not available on the free plan.

run_gaql

read

Run a read-only Google Ads Query Language (GAQL) query against the workspace's selected Google Ads customer and return the rows. USE THIS when the user asks for Google Ads data that the named tools do not cover, or asks for a specific GAQL query by name. Only SELECT is accepted, over exactly one of these resources: ad_group, ad_group_ad, ad_group_criterion, asset, campaign, campaign_budget, conversion_action, customer, keyword_view, recommendation, search_term_view. A row cap is applied for you (max 5000). Costs 4 credits per run on the Solo, Growth and Agency credit plans; existing Pro and Agency subscriptions get 100 and 500 runs a day free instead, per workspace, resetting at midnight UTC. Not available on the free plan. Prefer a named tool when one exists. This tool cannot change anything; use the Google write tools for that.

research_keywords

read

Get Google keyword ideas with average monthly search volume, competition and top-of-page bid range, from seed keywords, a landing page URL, or both. USE THIS when the user asks what to bid on, what people search for, or wants to expand an ad group. Volumes are Google's own twelve-month averages for the language and locations given. Read-only.

Google Ads changes, switched off (6)

Built and listed, and disabled in production until Google's OAuth verification completes. Every call refuses with GOOGLE_WRITES_DISABLED and changes nothing.

set_google_campaign_budget

write

Change the daily budget on a Google Ads campaign budget. Shows a preview with the exact API payload and the current amount, requires approval, and is undoable for 60 seconds. A change of 50% or more needs the customer id typed to confirm.

set_google_campaign_status

stops delivery

Pause or enable a Google Ads campaign. Shows a preview with the current status, requires approval, and is undoable for 60 seconds. Refused outright when the request comes from a cron, Slack or Telegram: automated pauses require an explicit user preview.

add_google_negative_keywords

write

Exclude search terms from a Google Ads campaign or ad group. Up to 500 per call and 2000 per customer per day. Shows every term in the preview, requires approval, and is undoable for 60 seconds. Use EXACT to exclude the one term that wasted money and nothing broader.

apply_google_recommendation

stops delivery

Apply one of Google's own recommendations. ALWAYS requires the customer id typed to confirm, because Google decides exactly what changes and there is no undo afterwards. Read them first with run_gaql over the recommendation resource.

dismiss_google_recommendation

write

Dismiss one of Google's recommendations so it stops being suggested. Changes nothing in the account itself.

upload_google_image_asset

write

Upload an image from a public URL as a reusable Google Ads image asset. Maximum 5MB, PNG, JPEG or GIF. An uploaded asset cannot be removed from here, and the preview says so.

This table is generated from the server's own tool registry, so it is what your assistant sees. Check it yourself by pointing any MCP client at the endpoint and reading the tools list.

Connect

Two controls, then ask it something

Claude (claude.ai)

Signs in with OAuth

Opens Claude's add-custom-connector dialog with the name and URL already filled in. Claude still asks you to press Add, then signs you in to AutoAdy with OAuth.

Add AutoAdy to Claude (claude.ai)

If you would rather do it by hand: Settings, Connectors, Add custom connector, and paste this.

https://www.autoady.io/api/mcp

Claude Code

Needs an API key

Paste into your terminal, then run /mcp to confirm autoady is connected.

claude mcp add --transport http autoady https://www.autoady.io/api/mcp --header "Authorization: Bearer YOUR_KEY"

Replace YOUR_KEY with a key from Settings, API Keys. Keys are shown once and can be revoked at any time.

Everywhere else

Claude Desktop

Needs an API key

Open the downloaded file and Claude Desktop installs the extension, including the interactive views.

Download the extension

Or edit claude_desktop_config.json by hand and restart Claude Desktop.

{
  "mcpServers": {
    "autoady": {
      "type": "http",
      "url": "https://www.autoady.io/api/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_KEY"
      }
    }
  }
}

Replace YOUR_KEY with a key from Settings, API Keys. Keys are shown once and can be revoked at any time.

ChatGPT

Signs in with OAuth

Availability depends on your ChatGPT account and workspace policy. ChatGPT's custom MCP connections use OAuth and cannot present your manual API key. See Settings → Agents for current steps and the conditional OpenAI dot path.

Create a custom MCP connection in ChatGPT developer mode, paste this URL and sign in to AutoAdy through OAuth. Choose dynamic client registration (DCR) if prompted.

https://www.autoady.io/api/mcp

Grok

Signs in with OAuth

Grok web, Grok Build and Grok Bot have different setup flows. These artifacts cover web and Build. Settings → Agents documents the conditional Grok Bot path with official sources; live client sign-in has not been tested here.

On grok.com/connectors, choose New Connector → Custom, paste this URL and complete AutoAdy account sign-in.

https://www.autoady.io/api/mcp

For Grok Build: add the remote server, authenticate when prompted and check grok mcp doctor autoady.

grok mcp add --transport http autoady https://www.autoady.io/api/mcp

Muse Code

Signs in with OAuth

This configuration is for Meta's Muse Code. It does not establish custom connector support in the personal Muse app. Settings → Agents explains the distinction and links Meta's exact configuration and OAuth documentation.

Add this hosted endpoint to your Muse Code user settings, then run muse mcp login autoady.

https://www.autoady.io/api/mcp

Merge into ~/.config/muse/settings.json, preserving your settings. Keep one root MCP spelling and start a new Muse Code process after editing.

{
  "schema_version": 1,
  "mcpServers": {
    "autoady": {
      "type": "streamable-http",
      "url": "https://www.autoady.io/api/mcp"
    }
  }
}

Cursor

Needs an API key

Paste into Cursor's MCP settings, then reload the window.

{
  "mcpServers": {
    "autoady": {
      "type": "http",
      "url": "https://www.autoady.io/api/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_KEY"
      }
    }
  }
}

Replace YOUR_KEY with a key from Settings, API Keys. Keys are shown once and can be revoked at any time.

VS Code

Needs an API key

Paste into your MCP servers settings and reload the window.

{
  "servers": {
    "autoady": {
      "type": "http",
      "url": "https://www.autoady.io/api/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_KEY"
      }
    }
  }
}

Replace YOUR_KEY with a key from Settings, API Keys. Keys are shown once and can be revoked at any time.

Step by step

How to connect Claude to Google Ads through AutoAdy

  1. 1

    Connect Meta and Google Ads in the app

    Open autoady.io and connect a Meta ad account, then go to Settings and connect Google Ads. Discovery lists the customer accounts your Google login can reach and you pick the one the tools will read. The connector runs every call in the context of a Meta account, so a Google-only workspace cannot use it yet.

  2. 2

    Add the connector

    On claude.ai, Settings, Connectors, Add custom connector, and paste https://www.autoady.io/api/mcp. Approve access with OAuth. In Claude Code, add the same URL with an API key header.

  3. 3

    Ask it a Google Ads question

    Say "which Google search terms spent the most last week with no conversions". The assistant writes a read-only GAQL query against your selected customer and answers from the rows it gets back.

  4. 4

    Expect writes to refuse

    If you ask it to pause a Google campaign or move a budget, the tool answers that Google Ads changes are disabled and that nothing was executed. Make the change in Google Ads for now.

What it costs

Reading is free. Changing your account is not.

  • Read tools change nothing and work on the free plan, with these exceptions: diagnose_drop needs a Solo, Growth or Agency plan; run_gaql and run_graph_read are not available on the free plan; and a free key can call analyze_winning_ad 25 times a day, because it reaches a language model. Every other read is unmetered.
  • A free key is read-only: every write tool needs a paid plan (Solo, Growth or Agency), including tools that only change AutoAdy such as switch_account and prepare_website_installation. On a free key they refuse with a message naming the upgrade.
  • Clients with MCP account sign-in can use OAuth without creating a key. Other clients send an AutoAdy key in an Authorization header. Follow the client-specific steps in Settings → Agents.
  • New AutoAdy accounts start a seven-day trial with 50 credits for a $1 setup fee. A card is required for the trial, and cancelling before it ends means the subscription never starts. See pricing.
  • Advertising spend is paid to the ad platform directly and is separate.

The alternatives

What else you could use

AlternativeWhat it isWhere it beats AutoAdyWhere AutoAdy is the better choice
Google's own Ads MCP tooling and the Google Ads APIGoogle publishes the Google Ads API, and community and first-party MCP servers wrap it for assistants.It reaches the whole API rather than a chosen subset, and a server you run with your own developer token can make changes today. If changing Google Ads from the chat is the requirement, this is the answer for now.The same connector also serves your Meta account, reads are bounded to one selected customer with a row cap, and the write path, once it is on, runs through a preview, an approval and a journal rather than straight at the API.
Exporting reports from the Google Ads UIDownload a report and attach it to the chat.Free, immediate, and no access is granted to anything. For a one-off question it is hard to beat.The assistant can ask the next question itself with another query instead of waiting for another export, and the answer sits next to the Meta numbers for the same period.
Looker Studio on the Google Ads connectorGoogle's free dashboard tool, wired to Google Ads and usually to GA4.Genuinely good reporting, shareable, and free. For a client dashboard it is the sensible default.A dashboard answers what happened. It does not take a question in plain words, and no assistant can query it.

We sell one of the options in that table, so the column that cost us something to write is the third one. If a row is wrong or out of date, tell us and we will correct it.

Where AutoAdy falls short here

Limits worth knowing before you connect anything.

  • −Google Ads writes are switched off. The six write tools are listed, but until Google's OAuth verification completes every call refuses with GOOGLE_WRITES_DISABLED, so nothing in AutoAdy can pause a Google campaign or move a Google budget today.
  • −The connector needs a Meta ad account connected in the same workspace. A workspace with only Google Ads connected gets an account error from the Google Ads tools.
  • −One Google Ads customer at a time: the one selected in the app. A query for a different customer id is refused rather than switched to.
  • −run_gaql accepts SELECT over an allowlisted set of resources only, and caps the rows it returns. A query outside that set is refused.
  • −The in-app Google Ads report is fixed at the last 30 days. There is no date-range selector on that page.

FAQ

Common questions

Does AutoAdy have a Google Ads MCP server?

Yes. The same endpoint that serves Meta, https://www.autoady.io/api/mcp, lists Google Ads tools: run_gaql and research_keywords for reads, and six write tools that are switched off in production. Point any MCP client at it and read the tools list to confirm.

What can my assistant do with Google Ads through AutoAdy today?

Read. It can run a read-only GAQL query against the Google Ads customer selected in the app, and pull keyword ideas with search volume, competition and bid ranges. It cannot change anything yet.

Can my assistant pause a Google Ads campaign through AutoAdy?

Not today. The tool exists, but Google Ads writes are built and switched off until Google's OAuth verification completes. A call returns GOOGLE_WRITES_DISABLED and nothing is executed. Meta ad accounts do have a live write path, on a paid plan and behind a capped, journalled boundary.

Do I need a Meta ad account to use the Google Ads tools?

Yes, for now. The connector runs every call in the context of a connected Meta ad account, so a workspace with only Google Ads connected gets an account error from the Google Ads tools.

Try it on your own account

Connect the account, ask your assistant what is wrong with it, and read the evidence behind the answer before anything changes.