Google Ads Manager MCP server
io.github.AleemHaider/google-ads-manager-mcp·v1.0.0Unofficial MCP server for Google Ads: reporting plus safe draft/confirm campaign management.
0 stars27 downloads/wk
Reviews
Write oneNobody has reviewed Google Ads Manager yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
Google Ads Manager tools (16, 9 write)
write = sends, deletes, buys or postsRead from the package source without running it. The installed server may list more.
add_keywordsDraft adding one or more keyword criteria to an existing ad group. Returns a draftId —
add_negative_keywordsDraft adding one or more negative keyword criteria to an ad group, to stop ads showing
confirm_writewrite actionExecute a previously drafted write (from create_campaign, update_campaign_status, or
create_ad_groupwrite actionDraft a new ad group inside an existing campaign. Returns a draftId — call confirm_write
create_campaignwrite actionDraft a new campaign with its own daily budget. Creates it PAUSED by default so it never
create_responsive_search_adwrite actionDraft a new responsive search ad in an ad group, created PAUSED by default. Returns a
get_ad_groupsList ad groups, optionally filtered to one campaign, with status and core performance metrics.
get_campaignsList campaigns on the configured customer account with status, budget, and core performance metrics.
get_keywordsList keyword criteria, optionally filtered to one ad group or campaign, with match type,
get_search_termsList the actual search terms that triggered your ads, with performance metrics. Useful
list_accessible_customersList the Google Ads customer account resource names reachable with the configured refresh token.
search_gaqlwrite actionRun a raw Google Ads Query Language (GAQL) SELECT query against the configured customer account.
update_ad_group_statuswrite actionDraft enabling, pausing, or removing an existing ad group. Returns a draftId — call
update_campaign_budgetwrite actionDraft changing the daily budget amount for an existing campaign. Returns a draftId — call
update_campaign_statuswrite actionDraft enabling, pausing, or removing an existing campaign. Returns a draftId — call
update_keyword_statuswrite actionDraft pausing, enabling, or removing a keyword criterion in an ad group. Returns a
Public scan report
scanner v0.1.9 · 2026-09-23 · same rubric, same numbers if you re-run it
- Code scan8 source files scanned25/25
- –Live reliabilityno gateway calls yet and no remote to proben/a
- –Tool poisoningtools not inspected (local package is not executed); not countedn/a
- Auth qualitystatic API keys via environment variables6/15
- Maintenancelast push 41 days ago12/15
- Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
How Google Ads Manager compares
Against every graded MCP server, from our own scans and uptime checks. Updated after each scan run.
- Safety score
- 78/100
- higher than 57% of 48,273 servers
- Tools
- 16
- the typical server has 7
- Tools that change things
- 56%
- typical: 0%. Fewer write tools means less an agent can break
- Downloads a week
- 27
- more than 15% of 11,915 servers with a package
What its tools let an agent do: 5 read · 5 create · 6 change
Install Google Ads Manager in Claude Code, Cursor or VS Code
Runs npx -y google-ads-manager-mcp on your machine. Read the scan report first; the gateway never runs local packages.
claude mcp add google-ads-manager-mcp -- npx -y google-ads-manager-mcp
What the publisher says
From the Google Ads Manager repository's README, as published. We do not edit it. Read it on GitHub
Google Ads Manager MCP
Unofficial, community-maintained project. Not affiliated with, endorsed by, or sponsored by
Google. "Google Ads" is a trademark of Google LLC.
A local MCP (Model Context Protocol) server that lets an AI assistant read and manage a Google Ads account: run GAQL reports, create campaigns, pause/enable campaigns, and add keywords.
Google also publishes an official Google Ads MCP server, which is read-only (reporting/diagnostics only). This project covers the same reporting ground and adds write support — creating and editing campaigns, budgets, ad groups, keywords, and ads — gated behind a draft/confirm safety layer so nothing changes in your account by accident.
Every write goes through a draft → confirm safety flow: the tool that "creates" or "updates" something only validates the change against Google's API (validateonly) and hands back a draftId with a preview. Nothing changes in your Ads account until you call confirmwrite with that draftId. Drafts expire after 10 minutes.
Tools
Read-only:
- listaccessiblecustomers — which accounts this refresh token can reach
- search_gaql — run any raw GAQL SELECT query
- get_campaigns — campaigns with status, budget, and core metrics
- getadgroups — ad groups (optionally filtered to a campaign) with metrics
- get_keywords — keyword criteria with match type, status, and metrics
- getsearchterms — actual search terms that triggered your ads, for finding negative keyword candidates
Write (draft → confirm):
- create_campaign — new campaign + budget, created PAUSED unless you say otherwise
- updatecampaignstatus — enable / pause / remove a campaign
- updatecampaignbudget — change an existing campaign's daily budget
- add_keywords — add keyword criteria to an ad group
- createadgroup — new ad group inside an existing campaign
- updateadgroup_status — enable / pause / remove an ad group
- updatekeywordstatus — enable / pause / remove a keyword criterion
- addnegativekeywords — add negative keyword criteria to an ad group
- createresponsivesearch_ad — new responsive search ad, created PAUSED unless you say otherwise
- confirm_write — execute a previously returned draftId for real
Setup
1. Google Ads developer token
Google Ads → Tools & Settings → API Center. Test-account tokens are issued instantly; a production-level token requires Google's manual review (roughly 1-2 weeks), so apply for that early if you'll use this beyond a test account.
2. OAuth client
Google Cloud Console → APIs & Services → Credentials → Create credentials → OAuth client ID. Choose application type Desktop app. Copy the client ID and client secret.
3. Configure environment
cp .env.example .envFill in GOOGLEADSCLIENTID, GOOGLEADSCLIENTSECRET, GOOGLEADSDEVELOPERTOKEN, and GOOGLEADSCUSTOMERID (the account this server should manage — 10 digits, dashes optional). If that account is a client under a manager (MCC) account, also set GOOGLEADSLOGINCUSTOMERID to the manager account's ID.
4. Get a refresh token
npm install
npm run authThis opens an authorization URL — open it, sign in with the Google account that has access to your Ads account, approve the adwords scope. The script prints a GOOGLEADSREFRESH_TOKEN; add it to .env.
5. Build
npm run build6. Point your MCP client at it
For Claude Desktop / Claude Code, add to your MCP config:
{
"mcpServers": {
"google-ads-manager": {
"command": "node",
"args": ["/absolute/path/to/google ads manger mcp/build/index.js"],
"env": {
"GOOGLE_ADS_CLIENT_ID": "...",
"GOOGLE_ADS_CLIENT_SECRET": "...",
"GOOGLE_ADS_DEVELOPER_TOKEN": "...",
"GOOGLE_ADS_REFRESH_TOKEN": "...",
"GOOGLE_ADS_CUSTOMER_ID": "..."
}
}
}
}Shortened. The full README is on GitHub.
Nothing above is checked by us. What we check is on the safety report.
Google Ads Manager: common questions
- Is Google Ads Manager MCP server safe?
- Mostly: it is graded B (78/100). Read the Google Ads Manager safety report
- How do I install Google Ads Manager?
- It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
- Does Google Ads Manager need an API key?
- Yes. The registry entry asks for
GOOGLE_ADS_CLIENT_SECRET,GOOGLE_ADS_DEVELOPER_TOKEN,GOOGLE_ADS_REFRESH_TOKEN. - Is Google Ads Manager maintained?
- The last commit was 81 days ago (2026-08-13). The latest release is v1.0.0.
- What can I use instead of Google Ads Manager?
- Servers from other publishers that do the same job: AdLoop MCP server.
- How does Google Ads Manager compare with other MCP servers?
- safety score 78/100 (higher than 57% of 48,273 servers); tools 16 (the typical server has 7); tools that change things 56% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.
Alternatives to Google Ads Manager
Same job from other publishers: the closest match first, then the best rated.
- AdLoopGoogle Ads, Reddit Ads, GA4 and Tag Manager in your AI client, with a preview before every change.not reviewedEstablishedA