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.

Google's server and Adrails, side by side
CriterionGoogle's serverAdrails
Who runs itYou: locally over stdio, or on Cloud Run you deployAdrails, hosted
Sign-inAn OAuth client or a service account you create in Google CloudOAuth in the browser, no Google Cloud project
Developer tokenNot required since 9 September 2026Not required
Tools3: list accounts, search with GAQL, resource metadataReads, Keyword Planner, build, edit, status and budget
ReadsAnything a GAQL query expressesSpend, results, revenue, ROAS, CPA and structure, as of the last sync
Keyword volumesNoKeyword Planner volumes and ideas
WritesNone in the current releasePrepared, then applied in Adrails
Campaign types builtNoneSearch, Display, Demand Gen, Performance Max
Other platformsNoMeta Ads through the same connection
PriceFree, Apache-2.0, plus your Cloud Run bill if hostedFrom $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

The same job on each server
JobGoogle's serverAdrails
List the accounts you can reachlist_accessible_customersaccounts_list
Spend and results over a periodsearch, with a GAQL queryperformance_period
How the account is builtsearch on campaign, ad_group and ad_group_adcampaigns_structure
Field names and resourcesget_resource_metadataNot needed: tools take plain inputs
Monthly searches for a keyword listNonegoogle_keyword_planner
A new Search or Performance Max campaignNonegoogle_ads_build
New ad texts, keywords or a target CPANonegoogle_ads_edit
Pause, resume or move a budgetNonecampaigns_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.