AdCopilotby Atromx

A Google Ads MCP server you don't have to run

AdCopilot is a hosted Google Ads MCP server: your AI assistant reads and runs the account — builds campaigns, moves budgets and bids, adds keywords and negatives — from one plain-English sentence, in seconds. Free open-source servers only read, and you run them yourself. AdCopilot has thirty-six tools instead of three, and is fenced so the AI cannot delete anything.

Updated 2026-07-29Atromx IntelligenceGoogle Ads · Search, PMax, Display, YouTube, Demand Gen
The short answer

A Google Ads MCP server exposes the Google Ads API to an AI assistant as a set of callable tools, so you can hand the work off in plain English instead of clicking through the dashboard. The free open-source ones are read-only and self-hosted; AdCopilot is hosted and write-capable — it runs under your own Google sign-in and acts on the account, building campaigns and moving budgets, bids and keywords on your command, with the four destructive tools removed.

What is a Google Ads MCP server?

A Google Ads MCP server is a program that sits between an AI client and the Google Ads API and presents the API as a list of tools the model is allowed to call. Ask your assistant “which search terms spent more than fifty dollars last month without a conversion?” and it calls a search tool, gets structured rows back, and answers from them. Ask it to add those terms as negatives and — if the server offers write tools and you have enabled them — it calls add_negative_keywords.

The important word is tools. The model is not screen-scraping your dashboard or guessing at an export. It is calling the same API the Google Ads interface calls, with the same permissions your Google account already has, and getting the same numbers back.

What is MCP, in one paragraph?

MCP is the Model Context Protocol, an open standard published by Anthropic in late 2024 and since adopted well beyond it. It standardises how an AI client discovers and calls external tools, so one server can serve many clients. Practically, it means a Google Ads connector written once works in Claude, ChatGPT, Copilot, Gemini CLI, Cursor and anything else that speaks the protocol — and it means the connector is a URL you paste in, not a plugin you install.

Self-hosted and free, versus hosted

Free open-source Google Ads MCP servers exist, and if reading is all you need, one of them will do it. They are genuinely free and they are genuinely useful. They are also read-only, and running one is your job: the token, the cloud project, the OAuth client, the server, the upgrades. AdCopilot is the other trade — thirty-six tools instead of three, and none of the running.

Free self-hosted serverAdCopilot (hosted)
Tools3, all read32 of 36, reads and writes
Can it change a campaign?NoYes, once you enable the full tier
Who runs itYou — a machine, a Python environment, updatesWe do
Developer tokenYours to apply for and manageOurs by default, or bring your own
Google Cloud project + OAuth clientRequiredNot required — you just sign in with Google
Team useOne installation per personA seat and a login each
CostFree, plus your timeFree 7-day trial, then Free plan (one account)

Which tools does the AdCopilot server expose?

Thirty-six tools exist in the underlying server. Thirty-two are exposed to hosted connectors, in seven groups, and a trial connector has all thirty-two. On the read-only tier only the first group is available. Each description below is written from what the tool does rather than what it is called, because several of them are narrower than their names suggest.

Reading the account

The read-only tier is these three and nothing else.

ToolWhat it does
searchQueries any Google Ads report resource and returns rows.
list_accessible_customersLists the account IDs your Google login reaches directly.
get_resource_metadataLists which fields a resource can select, filter, sort.

Campaigns

Including Performance Max, which most connectors skip. Every campaign created here gets a new budget of its own — an existing shared budget cannot be attached.

ToolWhat it does
create_campaignCreates a campaign together with its own new budget.
update_campaignRenames a campaign or changes budget, dates or status.
set_campaign_statusSwitches a single campaign between enabled and paused.
create_performance_max_campaignCreates a PMax campaign with budget, logo, business name.

Ad groups and ads

Responsive search ads only. No other ad format is in the list, so display and video creative stays in the interface.

ToolWhat it does
create_ad_groupCreates an ad group in a campaign, with a bid.
update_ad_groupRenames an ad group, or changes status or bid.
create_responsive_search_adCreates one responsive search ad; three headlines minimum.
update_ad_statusEnables or pauses one ad inside an ad group.

Keywords

Adding negatives is the single most common fix an audit produces. Note where they land: this tool writes campaign criteria, so it adds campaign-level negatives, not ad group ones and not shared lists.

ToolWhat it does
add_keywordsAdds keywords to one ad group, with match types.
update_keywordChanges one keyword's status or its CPC bid.
add_negative_keywordsAdds negatives at campaign level only, not shared lists.

Assets

Ten asset types and three ways to attach them. Images are fetched from a URL you give, because the machine doing the fetching is ours rather than yours — a path on your own computer will not resolve.

ToolWhat it does
create_text_assetCreates a reusable line of text — headline or description.
create_image_assetCreates an image asset from a URL you supply.
create_sitelink_assetCreates a sitelink: link text, URL, optional description lines.
create_callout_assetCreates one short callout line, twenty-five characters maximum.
create_structured_snippet_assetCreates a structured snippet: one header and its values.
create_call_assetCreates a call asset from country code and number.
create_price_assetCreates a price table of three to eight offerings.
create_promotion_assetCreates a promotion showing a percentage or amount off.
create_lead_form_assetCreates a lead form with chosen fields and privacy URL.
create_youtube_video_assetRegisters an existing YouTube video by its video ID.
link_asset_to_campaignAttaches one existing asset to one campaign.
link_asset_to_ad_groupAttaches one existing asset to one ad group.
link_assets_to_customerAttaches assets account-wide, so every campaign inherits them.

Performance Max asset groups

Building and filling asset groups, which is where most PMax work happens. Both tools link assets that already exist, so the creating comes first.

ToolWhat it does
create_asset_groupCreates an asset group and links its assets together.
add_assets_to_asset_groupAdds more existing assets to an asset group.

Targeting

Where, when and on which device the money is spent. The first two add criteria to whatever is already on the campaign rather than replacing it; the third adjusts a bid that is already there.

ToolWhat it does
set_geo_targetsAdds locations to a campaign by numeric geo ID.
set_ad_scheduleAdds day and hour windows when ads run.
set_device_bid_adjustmentRaises or lowers bids on mobile, desktop or tablet.

What it deliberately cannot do

Four tools in the underlying server delete things: remove_ad, remove_keyword, remove_campaign_asset and remove_asset_from_asset_group. None of them is exposed to a hosted connector — not gated behind a setting, not available on request. They are filtered out of the tool list before the model ever sees them.

The reasoning is that deletion is the one class of change that a conversation cannot undo. Pausing an ad is reversible in a click; removing it is not. So the agent can pause, adjust, add and negate, and anything that destroys is left to the Google Ads interface, where there is a confirmation dialog and a human hand on it.

Your ad data does travel through this server on its way to your assistant, because that is what a connector is — the security page sets out the request path, what is retained and what is not.

How to connect it

  1. Add https://mcp.adcopilot.cloud/mcp to your AI client as a custom MCP connector. It is the same URL for everyone — there is no key, token or per-user address to copy. Give it a name of your choosing.
  2. Sign in with Google when the client first uses the connector. AdCopilot uses Google's own sign-in, so it runs under your login with the permissions you already have — no password is shared with us — and you choose which accounts it may reach.
  3. Step-by-step for Claude and ChatGPT.
  4. Ask it something. A good first question is one you already know the answer to.
{"mcpServers": {"adcopilot": {"url": "https://mcp.adcopilot.cloud/mcp"}}}

Every client asks for the same two things — a name of your choosing and the URL — so the steps above are the whole of the shared part, whichever assistant you use.

If it doesn't connect, in any client

Four causes account for nearly all of it, and none of them is client-specific.

  • The address must end in /mcp with no trailing slash.
  • Complete the Google sign-in. If the client never opened Google's sign-in, or you dismissed it, the connector has no authorisation yet — reconnect and finish the Google consent.
  • No accounts listed? The Google login you used probably does not have access to them. Sign in to Google Ads directly with the same account to check.
  • Fewer tools than expected? That is the read-only tier, which is three tools. A connector is on the full tier unless you asked us for read-only, so if you see three and did not ask, tell us.

Anything left after those four is usually the client rather than the connector, and the Claude and ChatGPT pages carry the failure modes peculiar to each.

What you need

  • A Google account with access to the ads account. The connector can reach exactly what Google already lets you reach, and nothing more.
  • An AI client you already pay for. The reasoning happens in your assistant, on your subscription. We add no model of our own. (Included AI credits, for people who would rather not bring one, are on the roadmap.)
  • No developer token, Cloud project or OAuth client of your own — those are the parts a hosted server exists to absorb. What a token is, why applications for one get rejected, and when you would still want your own are all on the API access page.

Frequently asked questions

What is a Google Ads MCP server?

A Google Ads MCP server is a program that exposes the Google Ads API to an AI client as a set of callable tools, using the Model Context Protocol. It lets an assistant such as Claude or ChatGPT read a Google Ads account and — if the server offers write tools — run it, building campaigns, adjusting bids and adding negatives, in response to a plain-English request.

Are there free open-source Google Ads MCP servers?

Yes. Free open-source servers exist under permissive licences, and they typically expose three read tools — search, list_accessible_customers and get_resource_metadata. You install and run them yourself. AdCopilot is a hosted connector with thirty-six tools, so an assistant can act on an account rather than only describe it.

Can I self-host a free server instead?

Yes, and if you only ever want to read an account it is a reasonable choice: the licence costs nothing. What it costs instead is a developer token, a Google Cloud project, an OAuth client, a machine to run it on and somebody who notices when an API version is retired. The free servers also have no write tools, so the assistant can look but not act.

Can the AI change my campaigns, or only read them?

It runs them. A hosted connector is on the full tier by default — 32 tools that build campaigns, move budgets and bids, add keywords and negatives and reshape ad groups, assets and targeting, as well as reading — and that is what the trial gets. A read-only tier of three tools is available on any connector if you ask for it. Four destructive tools that exist in the underlying server are never exposed by the hosted one at all, on either tier.

Which AI clients work with it?

Any client that speaks MCP over streamable HTTP. That includes Claude Desktop and claude.ai, ChatGPT, GitHub Copilot, Gemini CLI, Cursor, OpenCode and Claude Code. You paste one address into the client's custom-connector setting; there is nothing to install.

What does a Google Ads MCP server cost?

Open-source servers are free to licence, and the cost is your time running and maintaining them. AdCopilot opens with a free 7-day trial on the full Pro plan, full tools, no card required, then it drops automatically to a permanently free plan for one account — not a lockout — with a paid plan only needed if you want more. You also need a subscription to whichever AI client you connect — the thinking happens there, on your own account.

The offer

Try it on your own account for a week

The full set of tools for seven days, so you can see what it actually does — and it still cannot delete anything. No cost, no card: connect your own Google account, and when the week ends it drops to the Free plan automatically rather than locking out.

  • 7-day Pro trial
  • Then drops to Free
  • No card
  • Never deletes
Keep reading