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.
pipx run --spec git+https://github.com/googleads/google-ads-mcp.git google-ads-mcp 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)
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
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
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.
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?
Can the Google Ads MCP change my campaigns?
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?
claude mcp add with the pipx command. The full steps are above.Do I need a Google Ads developer token?
Is the Google Ads MCP free?
More marketing MCP servers
Meta Ads MCP Server
Meta Ads MCP guide: connect Facebook and Instagram ads to Claude with Meta's official server. Pull reports, draft campaigns, and set guardrails on spend.
https://mcp.facebook.com/ads free TikTok MCP Server
TikTok MCP guide: connect TikTok Ads to Claude with TikTok's official server, about 400 tools. Plus a community option for organic video research.
https://business-api.tiktok.com/open_mcp/tt-ads-mcp-flat free Figma MCP Server
Official MCP server by Figma. Convert designs into code, extract design tokens, access components and variables — directly from Claude Code or any MCP-compatible editor.
figma (remote MCP) freemium X (Twitter) MCP Server
X has an official MCP server now. How to connect the X (Twitter) MCP to Claude, Cursor or Claude Code, what it can read, and what each API call costs.
npx -y @xdevplatform/xurl mcp https://api.x.com/mcp paid Added: 2026-03-01 · Last reviewed: 2026-09-22