Google Ads guide
Google Ads MCP server: Google's official server vs a hosted one
Google ships an open source Google Ads API MCP server: three tools, read-only in its current release, written in Python, run locally over stdio or deployed by you on Cloud Run. It answers any question GAQL can express and changes nothing. A hosted server such as Adrails adds the browser sign-in, Keyword Planner volumes, campaign builds and edits, and a review step before anything is applied. The choice comes down to who runs it and whether you want writes.
Reviewed Oct 4, 2026
Side by side
Google's server and Adrails, side by side
One is a program you run against the Google Ads API with your own credentials. The other is a hosted server you sign in to.
| Criterion | Google's server | Adrails |
|---|---|---|
| Who runs it | You: locally over stdio, or on Cloud Run you deploy | Adrails, hosted |
| Sign-in | An OAuth client or a service account you create in Google Cloud | OAuth in the browser, no Google Cloud project |
| Developer token | Not required since 9 September 2026 | Not required |
| Tools | 3: list accounts, search with GAQL, resource metadata | Reads, Keyword Planner, build, edit, status and budget |
| Reads | Anything a GAQL query expresses | Spend, results, revenue, ROAS, CPA and structure, as of the last sync |
| Keyword volumes | No | Keyword Planner volumes and ideas |
| Writes | None in the current release | Prepared, then applied in Adrails |
| Campaign types built | None | Search, Display, Demand Gen, Performance Max |
| Other platforms | No | Meta Ads through the same connection |
| Price | Free, Apache-2.0, plus your Cloud Run bill if hosted | From $149 a month |
Google figures from the Google Ads API documentation and the googleads/google-ads-mcp repository on 4 October 2026. Adrails figures from the MCP tools reference on the same day.
01
What a Google Ads MCP server does
The Google Ads API has existed for years. MCP, the Model Context Protocol, is what lets Claude, ChatGPT, Claude Code or Cursor call it from a sentence. A Google Ads MCP server exposes tools; the client lists them, the assistant picks one from your question, the server calls the API and the answer comes back in the conversation.
Two kinds exist. Google's own server is open source and runs where you put it. A hosted server, such as Adrails, runs at a fixed address and you sign in to it. The tools, the setup and what happens to a change differ.
02
Google's official server: three tools and GAQL
Google's server was announced on the Google Ads Developer Blog in October 2025 and is maintained by the Google Ads API team under the Apache-2.0 license. It exposes three tools. list_accessible_customers returns the account IDs your credentials reach. search runs a query in GAQL, the Google Ads Query Language, so the assistant writes the query from your question and gets rows back. get_resource_metadata tells it which fields a resource has, so it can write a correct query.
It is read-only in its current release, as Google's documentation states. It cannot change a bid, pause a campaign or create an ad. What it reads is wide: any resource and any field the API exposes, including ones no packaged tool covers, such as auction insights or change history.
03
What Google's server needs from you
A Google Cloud project, an OAuth client or a service account, and credentials on the machine that runs the server. Locally it runs over stdio from pipx, for a client such as Claude Code, Cursor or VS Code. For a team, you build the image, deploy it on Cloud Run and add Firestore or Redis so OAuth tokens survive a restart. Developer tokens, once the gate to the API, are no longer required since 9 September 2026 according to Google's documentation.
Each person who uses it locally repeats the setup, or the team shares the Cloud Run address. Someone owns the deployment, its credentials and its updates.
04
What a hosted server changes
A hosted server moves the setup to a sign-in. You add one address to the client, it registers itself, and a browser page asks which workspace and which permissions. Nobody creates a Cloud project or keeps a service running. The same address works in Claude, ChatGPT, Claude Code and Codex, for everyone on the team.
It also changes what a tool can do. Because the server holds the connection to Google Ads, it can expose writes, and decide how a write happens: straight away, or as a proposal that someone applies.
05
What Adrails does on Google Ads
performance_period reads one account over an exact date range at the account, campaign, ad group or ad level, with an optional comparison period. campaigns_structure returns how the account is built as of the last sync. google_keyword_planner returns monthly searches and top-of-page bids for a keyword list, or new ideas from a few words or a page, for the countries and languages you name. google_ads_library and targeting_options look up the account's images, audiences and the real IDs of locations and languages.
google_ads_build prepares a new Search, Display, Demand Gen or Performance Max campaign with its ad groups, keywords and ads, or its asset groups. google_ads_edit changes ad texts, keywords, names, dates, target CPA or ROAS and asset group texts. campaigns_set_status pauses or resumes, and campaigns_change_budget moves a campaign budget by at most 30% in one change. Each comes back with a link to apply it in Adrails, which reads Google Ads again first. A proposal expires after 30 minutes, and an applied change can be undone.
Google Ads opens once Google finishes verifying Adrails. Connect Meta for now. A workspace that already connected Google Ads can use these tools today.
06
GAQL or plain inputs
This is the real trade. GAQL answers any question on any field, including the ones nobody packaged, and the assistant writes the query for you. It also means a wrong field name or a wrong date filter returns a wrong figure that looks right. Plain inputs answer the recurring questions in a fixed shape, with the figures the agents use, and put store revenue from Shopify or Stripe next to spend when the workspace has it. They do not answer a question nobody wrote a tool for.
A team with a developer at hand and only reads to do can run Google's server. A team that wants Keyword Planner, writes with a review step, Meta in the same connection or no setup at all is better served hosted. Claude Code accepts both at once.
Tool by tool
The same job on each server
| Job | Google's server | Adrails |
|---|---|---|
| List the accounts you can reach | list_accessible_customers | accounts_list |
| Spend and results over a period | search, with a GAQL query | performance_period |
| How the account is built | search on campaign, ad_group and ad_group_ad | campaigns_structure |
| Field names and resources | get_resource_metadata | Not needed: tools take plain inputs |
| Monthly searches for a keyword list | None | google_keyword_planner |
| A new Search or Performance Max campaign | None | google_ads_build |
| New ad texts, keywords or a target CPA | None | google_ads_edit |
| Pause, resume or move a budget | None | campaigns_set_status, campaigns_change_budget |
FAQ
Common questions
Is Google's Google Ads MCP server read-only?
Yes in its current release, per Google's documentation. It lists accounts, runs GAQL queries and returns resource metadata. It does not create, edit or pause anything.
Do I need a Google Ads developer token?
Not for Google's server: its documentation says developer tokens were sunset on 9 September 2026 and are no longer required. Not for Adrails either: Google Ads is connected once in the workspace, and the assistant signs in to Adrails.
Can Claude Code use both servers?
Yes. Add Google's server with its stdio command and Adrails with claude mcp add --transport http adrails https://adrails.ai/api/mcp. Claude Code lists the tools of both and picks from your question.
Which campaign types can Adrails build on Google Ads?
Search, Display, Demand Gen and Performance Max, through google_ads_build. Shopping campaigns are built in the Adrails campaign editor, and Video campaigns are read and edited, not created.
Can I connect Google Ads to Adrails today?
Not yet for a new workspace. Google Ads opens once Google finishes verifying Adrails. Connect Meta for now. A workspace that already connected Google Ads can use the tools today.
Next