ads Official server available

Google Ads MCP Server

Google Ads MCP setup: run Google's official read-only server in Claude to query campaigns with GAQL. Plus hosted options if you need to make changes.

Pricing
free
GitHub stars
971
Last commit
2026-09-21
Page updated

Free and open source from Google. Needs a Google Cloud project and a Google Ads developer token.

View on GitHub
pipx run --spec git+https://github.com/googleads/google-ads-mcp.git google-ads-mcp
Website

Google maintains an official Google Ads MCP server at googleads/google-ads-mcp. It's a Python server you run yourself with pipx. It has three tools: list the accounts you can access, run GAQL queries, and look up field metadata. That's it. It's read-only, so it can't pause campaigns, change bids or add negatives.

Honestly, read-only is fine for most of what marketers ask Claude. "Which search terms burned budget with zero conversions?" and "How did Performance Max do vs. last month?" are both reporting questions. If you want Claude to actually push changes, you need a third-party server like Pipeboard's hosted Google Ads MCP, which has write tools.

Setup is the painful part. You need a Google Cloud project with the Google Ads API enabled, a developer token with at least Explorer access, and OAuth or service account credentials with the adwords scope. Budget 30 to 60 minutes the first time. If you manage clients through an MCC, set GOOGLE_ADS_LOGIN_CUSTOMER_ID or every query will fail.

One heads-up from the README: whatever the server fetches goes to the model you connect it to. Don't point it at client accounts you're not allowed to share with an AI vendor. For the Analytics side of the funnel, pair it with the Google Analytics MCP.

Official vs community Google Ads MCP

Google Ads MCP server (googleads/google-ads-mcp)

Google's own server. It's free and stays read-only: account listing, GAQL search and field metadata. Google doesn't host it for you, so you run it with pipx or deploy it to Cloud Run. Pick it for reporting and audits. If you want Claude to pause campaigns, add negatives or change budgets, you'll need a third-party server with write tools.

What you can ask it

  • “List every search term from the last 30 days with more than $50 spend and zero conversions, grouped by campaign”
  • “Compare Performance Max vs. Search campaigns on cost, conversions and conversion value for last month”
  • “Which keywords have a Quality Score under 5 and more than 1,000 impressions this quarter?”
  • “Show daily spend for customer 1234567890 over the last 14 days and flag any day more than 30% above the average”
  • “Find ad groups where CTR dropped more than 25% week over week”

Features

  • Official server maintained by Google's Google Ads API team
  • `list_accessible_customers` finds every account your login can reach
  • `search` runs any GAQL query for campaign, ad group, keyword and search term reports
  • `get_resource_metadata` tells Claude which fields and metrics exist, so it writes valid queries
  • Read-only by design. No bid, budget or status changes
  • Runs locally over stdio, or on Cloud Run with an OAuth proxy for teams
  • Manager (MCC) accounts supported via `GOOGLE_ADS_LOGIN_CUSTOMER_ID`

How to set up the Google Ads MCP Server

Works with: Claude Desktop, Claude Code, Cursor, VS Code, Codex, Antigravity

1. Install pipx. 2. Get a Google Ads API developer token with at least Explorer access. 3. In a Google Cloud project, enable the Google Ads API. 4. Create credentials with the https://www.googleapis.com/auth/adwords scope. The simplest route is Application Default Credentials:
gcloud auth application-default login \
    --scopes https://www.googleapis.com/auth/adwords,https://www.googleapis.com/auth/cloud-platform \
    --client-id-file=YOUR_CLIENT_JSON_FILE
Copy the credentials file path it prints. 5. Claude Desktop, Cursor and other clients: add this to your MCP config (drop the last line if you don't use a manager account):
{
  "mcpServers": {
    "google-ads-mcp": {
      "command": "pipx",
      "args": [
        "run",
        "--spec",
        "git+https://github.com/googleads/google-ads-mcp.git",
        "google-ads-mcp"
      ],
      "env": {
        "GOOGLE_APPLICATION_CREDENTIALS": "PATH_TO_CREDENTIALS_JSON",
        "GOOGLE_PROJECT_ID": "YOUR_PROJECT_ID",
        "GOOGLE_ADS_DEVELOPER_TOKEN": "YOUR_DEVELOPER_TOKEN",
        "GOOGLE_ADS_LOGIN_CUSTOMER_ID": "YOUR_MANAGER_CUSTOMER_ID"
      }
    }
  }
}
6. Claude Code: same thing as one command:
claude mcp add google-ads \
  -e GOOGLE_APPLICATION_CREDENTIALS=/path/to/credentials.json \
  -e GOOGLE_PROJECT_ID=your-project-id \
  -e GOOGLE_ADS_DEVELOPER_TOKEN=your-developer-token \
  -- pipx run --spec git+https://github.com/googleads/google-ads-mcp.git google-ads-mcp
7. Restart the client and ask "What customers do I have access to?" to confirm it works.

Alternatives

Pipeboard Google Ads MCP

Hosted server at google-ads.mcp.pipeboard.co with 59 tools, including write actions for campaigns, keywords, RSAs and Performance Max. No developer token needed.

cohnen/mcp-google-ads

Popular community server aimed at analyzing Google Ads data from Claude or Cursor. You bring your own API credentials.

FAQ

Is there an official Google Ads MCP server?
Yes. Google publishes one at github.com/googleads/google-ads-mcp, with setup docs on developers.google.com. It's open source and read-only.
Can the Google Ads MCP change my campaigns?
The official one can't. Its only tools are list_accessible_customers, search and get_resource_metadata. For bid, budget or status changes you need a third-party server with write access.
How do I connect Google Ads to Claude?
Install pipx, set up a developer token and Google Ads API credentials, then add the server to your Claude config or run claude mcp add with the pipx command. The full steps are above.
Do I need a Google Ads developer token?
For production accounts, yes, with at least Explorer access. If you get "only approved for use with test accounts", your token hasn't been upgraded yet.
Is the Google Ads MCP free?
Yes, the server is free. Google Ads API access is free too. The only possible cost is Cloud Run hosting if you deploy it for a team.

Added: 2026-03-01 · Last reviewed: 2026-09-22