
Google Ads Mcp
io.github.davidmosiah由 GitHub 帳號 davidmosiah 發布v0.1.3更新於 Oct 24, 2026
Unofficial Google Ads MCP for campaigns, keywords, budgets, and gated mutations.
概覽
非官方本機 MCP 伺服器,讓助理讀取與分析 Google Ads 帳戶,並在明確啟用後暫停或恢復廣告活動與關鍵字。
- 可以做什麼
- 檢視帳戶、廣告活動、廣告群組、關鍵字與成效指標,並透過診斷工具查看連線狀態、能力清單與隱私稽核。執行工作流程輔助工具,例如每日成效報告與唯讀的浪費排查,依花費且無轉換排序關鍵字。管理共用的 Delx 設定與導引流程。處理 OAuth:取得授權連結、交換授權碼、撤銷存取。啟用寫入後,暫停或恢復關鍵字與廣告活動、設定關鍵字出價與廣告活動預算。
- 適用情境
- 適合讓助理回答 Google Ads 成效問題、產生每日或浪費報告,或在聊天用戶端內進行經審閱的小幅帳戶調整,例如暫停某個關鍵字或調整預算。
- 執行需求
- 透過 npx(Node.js)以 stdio 在本機執行,可選僅限本機回環的 HTTP 模式。需要 Google Ads 開發人員權杖以及 Google OAuth 用戶端 ID 與密鑰,並需執行一次設定精靈完成 OAuth 授權。多帳戶存取需要經理(MCC)客戶 ID。需要連線至 Google Ads API 的網路。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 Google Ads Mcp,將其新增到工作區。
- 為需要使用其工具的對話啟用該服務。
Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。
其他 MCP 客戶端
參照 儲存庫 中的啟動說明。
README
google-ads-mcp-unofficial
[CI] [npm] [npm downloads] [MIT] [MCP]
Unofficial Model Context Protocol server that lets AI agents read, analyze, and (gated) act on a Google Ads account — pause keywords, set bids, adjust budgets — without leaving your stack.
Unofficial. Not affiliated with Google. This is a local-first MCP server that speaks the Google Ads REST API directly. It does NOT include automated financial-account changes beyond what the Google Ads API allows. Always review proposed changes before enabling GOOGLE_ADS_ALLOW_MUTATIONS.
HTTP (v2 stateless)
Default is stdio. Optional Streamable HTTP — no session id, JSON responses, loopback only:
Env: GOOGLE_ADS_MCP_HOST, GOOGLE_ADS_MCP_PORT, GOOGLE_ADS_MCP_TRANSPORT=http.
Quick start (30 seconds)
The setup wizard collects your developer token + OAuth client, writes ~/.google-ads-mcp/config.json (chmod 600), then walks you through the OAuth dance via a local callback at http://127.0.0.1:3000/callback.
Verify:
Then add it to your agent (Claude Desktop, Cursor, Hermes, OpenClaw, Codex — see examples below).
What it does
22 tools across 6 categories.
Full tool reference: see AGENTS.md.
Setup wizard
What it does:
- Prompts for: developer token, OAuth client id/secret, optional login_customer_id (MCC), redirect URI, privacy mode.
- Writes
~/.google-ads-mcp/config.jsonwithchmod 600. - Writes an MCP client config (e.g. merges into
claude_desktop_config.jsonon macOS; writes a Hermes block and skill file for--client hermes). - Runs the OAuth dance (unless
--no-auth) by opening Google's consent screen and listening on127.0.0.1:3000.
Mutations are off by default.
--allow-mutationsenables write tools. ASK THE USER before turning this on — it lets agents change campaigns, bids, budgets, and pause/resume keywords.
Auth model
This MCP requires two credentials:
- Google Ads Developer Token — from your MCC (Manager) account at https://ads.google.com/aw/apicenter. New tokens start in "Test account access" mode and need approval for production traffic.
- Google OAuth 2.0 Client — a "Desktop" or "Web" client created in Google Cloud Console. The single OAuth scope used is
https://www.googleapis.com/auth/adwords.
⚠️ Refresh token gotcha: Google only returns a
refresh_tokenon first consent or after you revoke the prior grant at https://myaccount.google.com/permissions. Ourauthflow usesprompt=consentto maximize the chance Google returns one — but if your code-exchange response is missingrefresh_token, the tool will tell you to revoke and retry.
Privacy modes
Pass privacy_mode per call to override the default per response.
Redaction matrix:
⚠️ Mutation gating — read this
Default: mutations are DISABLED. Six tools are gated:
google_ads_pause_keyword/google_ads_resume_keywordgoogle_ads_set_keyword_bid_microsgoogle_ads_set_campaign_budget_microsgoogle_ads_pause_campaign/google_ads_resume_campaign
If an agent calls any of them without GOOGLE_ADS_ALLOW_MUTATIONS enabled, it gets:
Even with the env enabled, every mutation requires explicit_user_intent: true in the per-call arguments. And every mutation is logged to stderr with the resource name:
Read SECURITY.md for the threat model.
Agent client examples
Claude Desktop
~/Library/Application Support/Claude/claude_desktop_config.json (macOS):
Then restart Claude Desktop.
Cursor / Windsurf
~/.cursor/mcp.json (or your IDE equivalent):
Hermes
Then /reload-mcp (do NOT restart the gateway for normal data access).
OpenClaw
~/.openclaw/mcp.servers.json:
Codex / TOML clients
See examples/codex.toml for the equivalent TOML block.
Workflow examples
1. Daily performance pulse
Returns markdown with yesterday + 7d + 30d aggregates. If yesterday's CPC exceeds 0.15, the output gets an ALERT banner.
2. Identify waste (read-only)
Returns a ranked list of keywords matching "spent ≥ $0.20 with ≥5 clicks and 0 conversions" — but never pauses them.
3. Pause a single keyword (mutation, gated)
After the user confirms:
Troubleshooting
Support
- GitHub Issues: https://github.com/davidmosiah/google-ads-mcp-unofficial/issues
- Email: [email protected]
- X: @delx369
Disclaimer
Unofficial integration. Not affiliated with Google. This MCP does not include automated financial-account changes beyond what the Google Ads REST API allows. Always review proposed changes before enabling GOOGLE_ADS_ALLOW_MUTATIONS. The author is not responsible for budget overruns, paused campaigns, or any other consequences of automated changes to your Google Ads account.
MIT-licensed.
Skill or MCP
Same package, two doors. MCP registers tools on stdio/HTTP. The skill can drive the same tools through the CLI when the client has no MCP:
Copy skill/SKILL.md into your agent skills dir.
來源:README.md,提交 e415988
工具
0版本歷史
1- v0.1.3最新Sep 16, 2026
評分
已滿足適用檢查項的 50%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
- 近 30 天內可連通25 分
請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。
- 已宣告認證方式10 分
請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。
- 已列出工具15 分
請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。
- 描述必需15 分
- 圖示10 分
- 文件15 分
- 授權條款10 分