Google Ads Gets an MCP Server - The Official Release, the Forks, and the Ecosystem That Followed

Google now has an official MCP server for Google Ads. It ships as a pipx-installable Python package, connects through stdio, and gives any MCP-compatible client direct read access to campaign data through Google Ads Query Language.
The server lives at github.com/googleads/google-ads-mcp under an Apache 2.0 license. It exposes three tools: list_accessible_customers (list your accounts), search (run GAQL queries), and get_resource_metadata (inspect what fields are available on a resource type). The auth story covers both OAuth 2.0 and service accounts. You can self-host or deploy to Cloud Run.
Here is the interaction loop Google designed:
- A user asks "How is my campaign performance this week?"
- The LLM discovers the
searchtool on the MCP server - The server executes the underlying GAQL query against the Google Ads API
- Structured results land in the LLM's context window
- The LLM synthesizes a human-readable response
The current release is read-only. From the docs: "It cannot modify bids, pause campaigns, or create new assets."
Then Google Cloud Next '26 happened. On April 28, Google announced 50-plus fully managed MCP servers covering Google Cloud services, Google Ads among them. The managed servers eliminate the self-hosting requirement - they run on Google Cloud infrastructure with enterprise auth and scaling. For teams already on Google Cloud, this removes the ops overhead.
The Two-Repo Situation
Here is where it gets interesting. There are two Google-adjacent repos with similar names:
| Repo | Status | Tools | Read/Write | Stars |
|---|---|---|---|---|
| googleads/google-ads-mcp | Official | 3 (GAQL query, list accounts, metadata) | Read-only | - |
| google-marketing-solutions/google_ads_mcp | Experimental | 5 (GAQL, accounts, docs, plus mutations) | Optional R/W | 205 |
The marketing-solutions repo predates the official one - it was created in August 2025 and has 205 stars with 9 releases (latest v0.6.4). But its own README now carries this note:
This is NOT an officially supported Google product. Consider using the official Google Ads MCP Server instead.
The fork supports mutations when you set ADS_MCP_ENABLE_MUTATIONS=true, adding tools for creating campaigns, ad groups, ads, and keywords. The official server ships read-only and will stay that way for the initial release.
The Commercial Layer
Several companies built managed MCP servers around Google Ads:
| Product | Platforms | Read/Write | Starting Price |
|---|---|---|---|
| Adspirer | Google, Meta, LinkedIn, TikTok | Full R/W (190+ tools) | Free then $199/mo |
| Synter | 14 platforms | Full R/W | From ~$199/mo |
| Ryze | Google, Meta, GA4 | Full R/W | Free OSS + commercial |
| Flyweel | Google, Meta | Read-only | Free with account |
The commercial servers add what the official one deliberately omits: cross-platform campaign management. Synter's pitch is you can compare Google Search performance against Meta and reallocate budget in a single prompt. Adspirer ships 190-plus tools across four platforms.
Community Builds
The community produced several open-source alternatives, many in TypeScript with broader tool surfaces than the official Python server:
- mharnett/mcp-google-ads (TypeScript) - 36 tools, full read/write with approval gates. Creates campaigns, ad groups, RSAs, and keywords in a paused state with a
claude-label. You review in the Google Ads UI, then enable via tool call. Supports MCC accounts and Demand Gen campaigns end-to-end. - pijusz/mcp-gads (Bun + TypeScript) - Ships pre-built binaries for macOS, Linux, and Windows alongside an
npxpackage. Three tools with optional extended read and mutation modes toggled via environment variables. - dhawalshah/google-ads-mcp (Python) - 13 tools including keyword planner, geographic performance, device breakdown, and asset performance labels. Supports multi-user HTTP server mode with per-user OAuth in Firestore.
- MaxGhenis/google-ads-mcp-rw (Python, archived) - Full read/write fork. Creates campaigns, ad groups, keywords, and RSAs. Archived with an Unlicense, pointing users to the official server.
- jgdeutsch/google-ads-mcp (TypeScript) - 11 analytics tools with remote HTTP transport and multi-user OAuth.
- promobase/google-ads-mcp (Python) - Unofficial but comprehensive: implements 89 Google Ads API v20 services with pyright type safety and 81 percent test coverage.
The TypeScript servers converge on a pattern: create everything in a paused state, let the human review through the Google Ads UI, then enable with a dedicated tool call. The mharnett server even labels everything Claude-MM-DD-YY so you can audit what was machine-created.
Who's Building
The X footprint is small. Most of the GitHub builders are not active on the platform. A handful of people are publicly using or building around Google Ads MCP:
- @hedg3d uses Claude plus the Google Ads MCP server for account audits. "I just hook claude up to the google ads mcp server and run my audit."
- @1CMartinez (Carlos Martinez) runs the MCP server live and pairs it with Higgsfield MCP for ad creative generation. Found campaigns spending money he had not spotted in months.
- @CorpusIQ shipped a 53-tool MCP server that bundles Google Ads alongside GA4, Shopify, Stripe, HubSpot, Meta Ads, and 46 other data sources.
- @adcrunch_dev is building AdCrunch, a unified MCP server for Meta and TikTok now, with Google Ads and X coming next.
- @vibecomai notes that "every major marketing platform now has an MCP server" and is building Growth Autopilot to fill the one gap they see: native social content from codebases.
The majority of the work is happening in repos, not timelines.
What This Means
The Google Ads MCP server is the smallest possible surface area for a large capability: a natural-language reporting agent for PPC with zero write risk. The setup is pipx plus three environment variables plus a config block in your MCP client.
The read-only limitation is deliberate. Google's docs frame the initial release as "designed for diagnostics and analytics." The commercial and community layers fill the write gap - each with different safety models, from approval gates to paused-by-default to full autonomous management.
For developers building AI agents that touch advertising data, the official server removes the need to write glue code for authentication, resource fetching, and data parsing against the Google Ads API. For teams that need writes, the ecosystem has options ranging from free self-hosted TypeScript servers with manual review gates to managed SaaS products that handle auth and scaling.