Google Ads MCP

io.scalably由 scalably.io 發布v1.0.1更新於 Oct 24, 2026

Google Ads MCP: GAQL queries, resources, recommendations, keyword ideas, change history. 11 tools.

概覽

AI 產生的概覽

針對 Google Ads API 的本地唯讀 MCP 伺服器,讓助理查詢廣告帳戶、檢視資源結構、讀取最佳化建議並進行關鍵字規劃。

可以做什麼
列出可存取的客戶帳戶,並沿管理員帳戶階層找出子帳戶。對指定帳戶執行 GAQL 查詢,並將 micros 換算為單位值。瀏覽 GAQL 資源目錄,檢視某資源的欄位、指標與區隔。讀取帳戶的 Google 最佳化建議。產生關鍵字想法、歷史月度指標與關鍵字計畫預測。檢視變更歷史與各資源的最後修改狀態。
適用情境
適合讓助理回答 Google Ads 成效問題、以 GAQL 取得廣告活動或花費報表、檢視最佳化建議,或在一個管理員帳戶下跨多個連結帳戶進行關鍵字研究。適用於唯讀分析與報表,不用於修改廣告活動。
執行需求
以 uvx 從 PyPI 套件啟動的本地程序(或 Claude Desktop 的 .mcpb 套件),需要 Python 工具鏈。需要 Google Ads 開發人員權杖(審核可能耗費數天)、Google Cloud OAuth 桌面應用程式類型的 client ID 與 secret、adwords 範圍的 refresh token,以及 GOOGLE_ADS_LOGIN_CUSTOMER_ID 中的 10 位管理員帳戶客戶 ID。選用:GOOGLE_ADS_API_VERSION、GOOGLE_ADS_USE_PROTO_PLUS、GOOGLE_ADS_LOG_LEVEL。
安裝前請注意
需要長期有效的 OAuth 與開發人員權杖憑證(GOOGLE_ADS_CLIENT_SECRET、GOOGLE_ADS_DEVELOPER_TOKEN、GOOGLE_ADS_REFRESH_TOKEN),可讀取管理員帳戶下所有已連結帳戶,請妥善保管。README 聲稱唯讀,並以不匯入變更介面、SDK 方法白名單與僅允許 SELECT 的 GAQL 檢查來保證,但這只是廠商說法。查詢與關鍵字請求會傳送給 Google。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Google Ads MCP,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

Google Ads MCP

Read-only MCP server for the Google Ads API. Eleven tools cover discovery, GAQL reporting, resource schema, recommendations, keyword planning and forecasts, and change history for any account reachable under a manager account (MCC). We run this server in production for every ads client. Read-only is enforced at three layers: no mutate or apply service imports, an SDK method allowlist, and a GAQL-starts-with-SELECT guard.

Install

Claude Code:

bash
claude mcp add google-ads \  -e GOOGLE_ADS_DEVELOPER_TOKEN=your-token \  -e GOOGLE_ADS_CLIENT_ID=your-client-id \  -e GOOGLE_ADS_CLIENT_SECRET=your-client-secret \  -e GOOGLE_ADS_REFRESH_TOKEN=your-refresh-token \  -e GOOGLE_ADS_LOGIN_CUSTOMER_ID=1234567890 \  -- uvx scalably-google-ads-mcp

Codex:

bash
codex mcp add google-ads \  --env GOOGLE_ADS_DEVELOPER_TOKEN=your-token \  --env GOOGLE_ADS_CLIENT_ID=your-client-id \  --env GOOGLE_ADS_CLIENT_SECRET=your-client-secret \  --env GOOGLE_ADS_REFRESH_TOKEN=your-refresh-token \  --env GOOGLE_ADS_LOGIN_CUSTOMER_ID=1234567890 \  -- uvx scalably-google-ads-mcp

Claude Desktop: download google-ads-mcp.mcpb from the latest GitHub release and open it.

Setup

This is the heaviest setup in the gallery: expect up to two days waiting on developer token approval. One set of credentials, rooted at a manager account (MCC), can read any customer account linked under it, so there is no per-client configuration beyond linking an account to the MCC.

  1. Google Ads developer token. Sign in at ads.google.com under your manager account, go to Tools and Settings, API Center, and apply for a developer token. A new token starts on the Explorer access level, which Google grants after a review that can take a few days; discovery, query and recommendation tools work there. Basic access (a separate application) is needed for higher quotas and may be needed for the keyword-planning tools.
  2. Google Cloud OAuth client. In a Google Cloud project, enable the Google Ads API, then create an OAuth client ID of type Desktop app under APIs and Services, Credentials. Note the client ID and client secret, and add the https://www.googleapis.com/auth/adwords scope to the OAuth consent screen.
  3. Refresh token. Generate a refresh token once, as an admin user of the manager account, using Google's oauth2l tool or the generate_user_credentials.py example shipped with the google-ads Python library. Save the refresh token; it does not expire from normal use.
  4. Login customer ID. Use the 10-digit customer ID of the manager account itself (no hyphens) as GOOGLE_ADS_LOGIN_CUSTOMER_ID. Any client account accepts an invite to link under this manager account in its own Google Ads UI, after which google_ads_list_customer_clients sees it.

Tools (11)

ToolWhat it does
google_ads_list_accessible_customersList every customer_id the OAuth user has direct access to
google_ads_list_customer_clientsWalk the MCC hierarchy and return every child account
google_ads_queryRun a GAQL query against a specific customer account
google_ads_describe_resourceSchema (fields, metrics, segments) for a GAQL resource
google_ads_list_resourcesReturn the full catalog of GAQL resources
google_ads_recommendationsRead Google's optimization recommendations for a customer account
google_ads_keyword_ideasGenerate keyword ideas with search volume, competition and CPC estimates
google_ads_keyword_historical_metricsHistorical monthly search-volume and competition metrics for specific keywords
google_ads_keyword_forecast_metricsForecast KPIs for a proposed keyword plan
google_ads_change_eventsAudit trail of who changed what, last 30 days
google_ads_change_statusLightweight last-modified change tracker per resource

Configuration

VariableRequiredPurpose
GOOGLE_ADS_DEVELOPER_TOKENyesGoogle Ads API developer token from the Ads API Center
GOOGLE_ADS_CLIENT_IDyesOAuth2 client_id for a Desktop-app credential
GOOGLE_ADS_CLIENT_SECRETyesOAuth2 client_secret paired with the client_id
GOOGLE_ADS_REFRESH_TOKENyesLong-lived OAuth2 refresh_token for the adwords scope
GOOGLE_ADS_LOGIN_CUSTOMER_IDyes10-digit customer ID of the manager account (MCC), no hyphens
GOOGLE_ADS_API_VERSIONnoGoogle Ads API version to target, default v25
GOOGLE_ADS_USE_PROTO_PLUSnoUse proto-plus message types, default true
GOOGLE_ADS_LOG_LEVELnoPython log level, default WARNING

Reply shape

Every tool returns JSON with status (succeeded, partial, no_op), operation, summary, target, result, proof, warnings, recovery. Failures surface as a tool error whose text is google_ads_request_failed: <message> <hint>. proof.apiVersion names the Google Ads API version used. proof.microsConverted is set on google_ads_query. A partial status means the result hit its configured bound (max_rows, page_size or limit); recovery.nextAction says how to continue.

Limits

google_ads_query responses are capped at 64 MB per call by the Google Ads API; split large date ranges across calls. KeywordPlanIdeaService (keyword ideas, historical metrics, forecasts) is rate-limited to 1 query per second and may require Basic Access if you get a permission error on the Explorer tier. google_ads_change_events covers up to 30 days back; google_ads_change_status covers up to 14 days back. metrics.cost_micros and other *_micros fields are 1 unit = $0.000001; google_ads_query emits a matching *_units field alongside when convert_micros is true (the default).

Verify

Each release lists the package version, the .mcpb sha256 and the production commit it was derived from in CHANGELOG.md. CI runs the tests and a clean install of the built wheel on every push.

Privacy Policy

This server runs locally, on your machine, under your own credentials. It collects no personal data, contains no telemetry, stores nothing persistently, and talks only to the vendor API it wraps. No third party, including Scalably, receives your data. Contact: [email protected]. Canonical copy: https://scalably.io/connector-privacy.html

License

MIT. Copyright Scalably.

來源:README.md,提交 2c40bbb

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v1.0.1最新Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分