mcp-google-ads
Integrates with Google Autocomplete to generate keyword suggestions from real search queries, including A–Z variations, question-style keywords, and place-biased local intent.
Provides tools for keyword research, location lookup, account listing, read-only GAQL queries, and search terms reports using the Google Ads API. Supports Explorer access for keyword suggestions and Basic access for volume, CPC, and forecast metrics.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp-google-adsfind keyword ideas for vegan meal delivery in Austin"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
mcp-google-ads
A Google Ads MCP server that works with Explorer API access.
Status: v0.1.0 — Explorer tools live and tested against a real Google Ads account. Roadmap: docs/PLAN.md.
Why this one is different
Most Google Ads / Keyword Planner MCP servers are built on KeywordPlanIdeaService.
Google only allows those methods from Basic access upward, and Basic now requires
brand verification of your Google Cloud project. With a freshly approved Explorer
access they fail with:
This method is not allowed for use with explorer access. Please apply for basic or standard access.This server is designed for Explorer access from day one. It only uses methods we verified to work on Explorer (see docs/API_ACCESS.md), combined with Google Autocomplete, so you get useful keyword research today. When you get Basic access, flip one variable and the volume/CPC/forecast tools appear.
Typical Keyword Planner MCP | mcp-google-ads | |
Works on Explorer access | ❌ | ✅ |
Keyword suggestions | Basic only | ✅ Explorer (Ads keyword themes + Autocomplete) |
Question-style keywords | — | ✅ |
Local intent (city / state) without a geo filter | — | ✅ place-biased variants |
Location lookup | — | ✅ |
Read-only GAQL reports / search terms | — | ✅ |
Search volume, CPC, forecast | Basic | ✅ with Basic ( |
Claude web login (OAuth, no config files) | Usually stdio only | ✅ |
Developer token required | Yes | No (2026 access model) |
Related MCP server: Google Ads MCP Server
Features
Remote MCP over Streamable HTTP, ready for Claude web, Desktop, mobile and Claude Code.
Built-in OAuth 2.1 with dynamic client registration: add the URL in Claude, click Connect, paste your access key. No tokens to copy.
Read-only by design: never modifies your Google Ads accounts.
Quota-aware: daily operations budget and response cache for Explorer's 2,880 ops/day.
Dockerized, non-root, read-only filesystem, Traefik-ready.
Tools
Tool | Access level | What it does |
| Explorer | Keyword suggestions from Google Ads |
| none | Real searches from Google Autocomplete (A–Z, questions, places) |
| Explorer | Both sources merged, ranked by agreement; optional |
| Explorer | Location IDs for targeting |
| Explorer | Accounts under your manager account |
| Explorer | Read-only GAQL queries |
| Explorer | Real search terms from your campaigns |
| Explorer | Diagnostics, quota used, token health |
| Basic | Ideas with volume, competition, bids |
| Basic | 12-month search volume |
| Basic | Impressions, clicks, cost |
Full specs: docs/TOOLS.md.
Quick start
git clone https://github.com/diegorenatob/mcp-google-ads && cd mcp-google-ads
cp .env.example .env && chmod 600 .env # fill in the values (see docs/GOOGLE_ADS_SETUP.md)
npm ci && npm run google:auth # one-time Google sign-in
mkdir -p data && sudo chown 1000:1000 data # container runs as non-root
docker compose up -d --build
npm run test:e2e -- --url https://<your-domain> # runs the exact OAuth flow Claude usesThen in Claude: Customize → Connectors → Add custom connector →
https://<your-domain>/mcp → Connect → enter your access key (MCP_ACCESS_KEY).
Details: docs/CLAUDE_WEB.md.
Documentation
Doc | Contents |
Phases, acceptance criteria, risks | |
Components, OAuth flow, source layout | |
Tool inputs/outputs and error messages | |
Tested Explorer vs Basic capability matrix | |
Cloud project, accounts, refresh token | |
Connecting from Claude web / Code | |
Docker + Traefik deployment | |
Secret handling for a public repo, runtime security |
Security
Secrets live only in .env on your server; the repository ships .env.example with
placeholders. See docs/SECURITY.md.
License
MIT
This server cannot be deployed
Maintenance
Related MCP Connectors
Remote streamable-HTTP MCP server running on a single Cloudflare Worker. Your assistant gets live Airbnb, Amazon, Booking.com, Google Flights, Maps and Reddit data, social search on X, Instagram and TikTok, the Meta Ad Library, and image/video generation without any keys. Connect your own accounts to let it send WhatsApp or Telegram messages, work an IMAP inbox, manage Meta Ads campaigns and publish to X and LinkedIn. OAuth 2.1 with PKCE; stored credentials are AES-256-GCM encrypted.
Live Google Ads, GA4, Search Console, Meta Ads and GBP data in Claude, ChatGPT and any MCP client
GA4, Google Ads and Search Console in Claude. Read-only OAuth, multi-account for agencies.
Run Google, Meta, Microsoft, TikTok and LinkedIn Ads from Claude or ChatGPT. Writes need approval.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables natural language access to Google Ads campaigns, accounts, and performance metrics via Claude, with tools for managing ad groups, keywords, budgets, and visualizing data.1-
- FlicenseNot gradedqualityDmaintenanceEnables interaction with Google Ads data via Claude Desktop, providing tools for managing campaigns, ad groups, keywords, budgets, and generating performance insights and visualizations.-
- AlicenseNot gradedqualityDmaintenanceConnects Claude Desktop to your Google Ads account, allowing you to analyze and manage campaigns, ad groups, and keywords using natural language.MIT
- AlicenseNot gradedqualityCmaintenanceEnables natural-language analysis and management of Google Ads accounts, campaigns, keywords, budgets, and performance metrics through Claude.MIT