PPC.co
// blog

How to Connect MCP Server to Google Ads for AI PPC Management

Step-by-step guide to connecting Google's MCP server to Google Ads so Claude, ChatGPT, and Gemini can query, report on, and optimize live campaigns safely.

Samuel Edwards6 min read
How to Connect MCP Server to Google Ads for AI PPC Management

Most paid-media teams treated the first wave of "AI in Google Ads" as a novelty: a chatbot summarizing what a pivot table already showed. The Model Context Protocol changes the shape of that conversation. With Google's official MCP server for the Google Ads API, an LLM can query a live account, run a GAQL statement against yesterday's spend, and hand back structured results the model can reason over. It is not a wrapper. It is a wire.

The catch is that the initial release is scoped narrowly on purpose, and the setup rewards operators who already know how OAuth, developer tokens, and manager accounts fit together. This walkthrough covers the wiring end to end, then flags the guardrails a spend-accountable team should insist on before pointing Claude, Gemini, or a ChatGPT client at a production MCC.

What actually changes when a model can query the account itself?

What the Official Google Ads MCP Server Actually Does

Google open-sourced the server in October 2025. Google's own announcement is explicit that the first release is read-only, intended for reporting and diagnostics rather than mutations. The repo confirms the scope: three tools ship in the box, called list_accessible_customers, search (which runs GAQL), and a resource-metadata helper. No bid changes, no budget edits, no negative keyword pushes.

That constraint is a feature. A read-only server lets a team put an LLM in front of the account for the tasks where it earns its keep, without handing it the keys to pause a campaign at 2 a.m. When a strategist asks "which campaigns are spending above target CPA with no conversions this week," the flow is: the model picks the search tool, writes a GAQL query, the server executes it against the API, structured rows come back into the context window, and the model synthesizes the answer. That last hop is what makes the output usable instead of hallucinated.

Model Context Protocol itself is an open standard Anthropic published to give LLMs a common way to reach data and tools. Google adopting it for Ads matters because it collapses the "custom integration per client" tax that has kept LLM-native reporting stuck in demos.

Google Ads MCP: Reporting Power vs Mutation Risk
Google Ads MCP: Reporting Power vs Mutation RiskOfficial Google Ads MCP (read-only): 78; Community write-capable servers: 70; Hosted managed connectors: 65; Manual GAQL in a notebook: 55; Native Google Ads UI: 45Reporting depth →Mutation risk →123451Official Google Ads MCP (read-only)2Community write-capable servers3Hosted managed connectors4Manual GAQL in a notebook5Native Google Ads UI
Illustrative positioning of common ways to put an LLM in front of a Google Ads account. Illustrative: a visual comparison, not measured data.

Prerequisites Before You Touch a Config File

Four credentials do the work. Miss one and the connection fails silently or with an unhelpful auth error.

  • A Google Ads manager account (MCC) with an approved developer token. The token lives on the MCC, not on a client account. New tokens are automatically upgraded to Explorer access in many cases; if not, the API Center is where you apply.
  • A Google Cloud project with the Google Ads API enabled and an OAuth 2.0 client (or service account) created. Save the project ID.
  • A credentials JSON file. Google's docs on the OAuth 2.0 flow walk through consent screen configuration and the refresh-token dance.
  • Python 3.12+ and pipx on the machine that will host the server. The official install path is pipx run --spec git+https://github.com/googleads/google-ads-mcp.git google-ads-mcp.

One landmine worth calling out: if a developer token has only test-account approval, every GAQL query against a production customer ID returns the "developer token is only approved for use with test accounts" error. Standard access, in Google's tiering, historically covers up to $15,000 in monthly spend per token before a Basic Access upgrade is needed, per community documentation. Confirm current limits in the API Center before scaling.

Laptop with a terminal window, a key, and a lock icon representing OAuth and developer token credentials for the Google Ads MCP server.

Wiring the Server Into Claude, Gemini, or Cursor

The server runs locally, over stdio transport. That single fact determines which clients can actually talk to it. Claude Code (the CLI), Cursor, Gemini CLI, and VS Code launch local processes and work out of the box. The Claude.ai web app and ChatGPT web connect only to hosted URLs, so they cannot see a server on your laptop. This is by design and confirmed by Google's remote-MCP announcement for other Google services, which points to a separate fully-managed endpoint that does not currently cover Ads.

The configuration entry, per Google's toolkit docs, is a JSON block added to the host's MCP settings file:

  • command: pipx
  • args: run --spec git+https://github.com/googleads/google-ads-mcp.git google-ads-mcp
  • env: GOOGLE_APPLICATION_CREDENTIALS, GOOGLE_PROJECT_ID, GOOGLE_ADS_DEVELOPER_TOKEN

Restart the client. If the connector shows Connected, ask the model "what customers do I have access to" as a sanity check. That call hits list_accessible_customers and confirms both the developer token and the OAuth refresh token are wired. From there, GAQL is the language of every subsequent question. Ask about campaigns burning budget with zero conversions in the last 14 days, and the model composes and executes the query itself.

Which MCP Clients Can Actually Reach a Local Google Ads Server
ClientLaunches local processReads stdio transportWorks with official Ads MCP
Claude Code (CLI)YesYesYes
CursorYesYesYes
Gemini CLIYesYesYes
VS Code (MCP)YesYesYes
Claude.ai web appNoHosted URL onlyNo
ChatGPT webNoHosted URL onlyNo
Read across each row to see whether a client can launch the local stdio server. Illustrative: a visual comparison, not measured data.

Guardrails an Accountable Operator Needs

The read-only ceiling handles the loudest risk. It does not handle every risk. A few discipline points worth writing into an internal runbook:

  • Scope credentials by customer ID. If a media team manages 40 accounts under one MCC but the LLM is only meant to analyze five, use a service account or a separately scoped OAuth client that lists only those customers. The login_customer_id field in the config controls which MCC the calls route through.
  • Log every tool call. The MCP server's own logs plus the Google Cloud API dashboard give you a full audit trail. Treat them like any other production log source.
  • Do not paste developer tokens into shared chats. Environment variables only. If a token leaks, rotate it from the API Center and revoke the associated OAuth client.
  • Assume context leakage. Anthropic's own engineering guidance on MCP notes that returning large tool outputs into an LLM's context is expensive and can be filtered through code execution instead. For accounts with heavy query volumes, filter server-side before results hit the model.
  • Keep a human in the loop for anything that touches spend. When write-capable community servers or hosted managed connectors enter the picture, insist on approval gates for mutations. The emerging tool landscape is moving fast, and the ones worth using make approval explicit rather than optional.

Where This Fits in a Real PPC Workflow

The honest read: the official server is a reporting layer, not an autopilot. That maps well to how a disciplined agency actually works. Diagnostic questions that used to require pulling a report, cleaning it in a sheet, and eyeballing patterns now resolve in one prompt. A senior strategist can ask for search-term waste across a portfolio and get a ranked list without touching Editor. That is a real hour saved, not a demo trick.

What it does not do is replace strategy or account structure. The playbooks that drive ROAS accountability, keyword hygiene, and full-funnel measurement still live with the operator. The MCP layer just removes the friction between the operator's questions and the account's data. Teams already thinking about how to structure PPC management should treat it as a productivity tool that finally makes conversational reporting truthful, and pair it with the same guardrails they would apply to any other API-level access.

For agencies weighing whether to build this in-house or lean on partners already running against the API at scale, the calculus is familiar. If the team can maintain a Cloud project, rotate tokens, and monitor logs, self-hosting the official server is essentially free. If not, an AI-forward PPC partner with existing infrastructure is the faster path to the same outcome. Either way, the model asking the account questions directly is not a future capability. It is a Tuesday afternoon setup with an approved developer token and fifteen minutes of config.

The read is the start of the loop. What a team does with the answers is still what separates a rigorous account from a comfortable one.

// written by
Samuel Edwards

Throughout his extensive 10+ year journey as a digital marketer, Sam has left an indelible mark on both small businesses and Fortune 500 enterprises alike. His portfolio boasts collaborations with esteemed entities such as NASDAQ OMX, eBay, Duncan Hines, Drew Barrymore, Price Benowitz LLP, a prominent law firm based in Washington, DC, and the esteemed human rights organization Amnesty International. In his role as a technical SEO and digital marketing strategist, Sam takes the helm of all paid and organic operations teams, steering client SEO services, link building initiatives, and white label digital marketing partnerships to unparalleled success. An esteemed thought leader in the industry, Sam is a recurring speaker at the esteemed Search Marketing Expo conference series and has graced the TEDx stage with his insights. Today, he channels his expertise into direct collaboration with high-end clients spanning diverse verticals, where he meticulously crafts strategies to optimize on and off-site SEO ROI through the seamless integration of content marketing and link building.