Skip to main content
Glama
Google Ads MCP Worker

Google Ads MCP Worker

by ambo-sk

Google Ads MCP Worker

Cloudflare Worker上のGoogle Ads MCPサーバー。mcp-gscと同じ構成:TypeScript、fetchによるREST、Googleクライアントライブラリなし。

  • FGRibreau/mcp-google-ads(Rust、API v23)をAPI v25で再実装

  • 認証:OAuth2リフレッシュトークン。Google Ads APIはサービスアカウントを受け付けないため、GSCのJWT方式はここでは適用できません

  • トランスポート:Streamable HTTP(/mcp)およびレガシーSSE(/sse)

書き込み操作は無防備です。 ドライランなし、予算上限なし、入札額上限なし、2段階確認なし、監査ログなし。 すべての変更ツールは、customer_idが指すアカウントに対して即座に適用されます。create_campaign、 create_ad_group、create_responsive_search_adはデフォルトでPAUSEDになりますが、これは上書き可能なデフォルト値であり、 ロックではありません。設定を信頼できるようになるまでは、テストアカウントを指定してください。

セットアップ

1. Google Ads開発者トークン

マネージャー(MCC)アカウント → ツールと設定 → APIセンター → 開発者トークンを申請します。 Basic Accessが承認されるまで、トークンはテストアカウントに対してのみ機能します。

2. OAuthクライアント

  1. Google Cloud Console → プロジェクトを選択/作成 → Google Ads APIを有効化します。

  2. APIとサービス → 認証情報 → 認証情報を作成 → OAuthクライアントID → デスクトップアプリを選択します。

  3. クライアントIDとクライアントシークレットを控えます。

3. リフレッシュトークン

npm install --legacy-peer-deps
npm run token -- <CLIENT_ID> <CLIENT_SECRET>

ブラウザを開き、adwordsスコープを要求し、GOOGLE_ADS_REFRESH_TOKENを出力します。 管理対象のAdsアカウントにアクセス権のあるGoogleアカウントでサインインしてください。

4. デプロイ

npx wrangler secret put GOOGLE_ADS_DEVELOPER_TOKEN
npx wrangler secret put GOOGLE_ADS_CLIENT_ID
npx wrangler secret put GOOGLE_ADS_CLIENT_SECRET
npx wrangler secret put GOOGLE_ADS_REFRESH_TOKEN
npx wrangler secret put MCP_AUTH_TOKEN     # any long random string: openssl rand -hex 32
npm run deploy

非秘密のデフォルト値をwrangler.jsoncに設定します:

変数

意味

GOOGLE_ADS_CUSTOMER_ID

デフォルトアカウント。数字のみ。ツールはcustomer_idを受け取り、呼び出しごとに上書きできます。

GOOGLE_ADS_LOGIN_CUSTOMER_ID

あなたのMCC ID。login-customer-idとして送信されます。マネージャー配下でない場合は空のままにします。

GOOGLE_ADS_API_VERSION

デフォルトはv25。Googleが新しいバージョンをリリースしたらここを更新します。

ローカル開発:.dev.vars.exampleを.dev.varsにコピーし、npm run devを実行します。

5. クライアントを接続

claude mcp add --transport http gads https://gads-mcp.<your-subdomain>.workers.dev/mcp \
  --header "Authorization: Bearer <MCP_AUTH_TOKEN>"

Claude Desktop / stdioのみのクライアント:

{
  "mcpServers": {
    "gads": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "https://gads-mcp.<your-subdomain>.workers.dev/mcp",
        "--header",
        "Authorization: Bearer <MCP_AUTH_TOKEN>"
      ]
    }
  }
}

その後、health_checkを呼び出します。OAuthステータス、開発者トークンの有無、到達可能なアカウントが報告されます。

Related MCP server: Google Ads MCP

ツール

46のツール。顧客スコープのすべてのツールは、オプションのcustomer_idを受け取ります。

読み取り(21)

ツール

内容

health_check

認証ステータス、APIバージョン、設定済みアカウント

list_accounts

アクセス可能なアカウント(MCCが設定されている場合は名前付き)

get_account_info

通貨、タイムゾーン、自動タグ付け、テストアカウントフラグ

run_gaql

任意のGAQLクエリ。デフォルトはsearchStream。page_size/page_token指定時はページング

get_campaign_performance

費用別のキャンペーン指標

get_ad_group_performance

広告グループ指標

get_ad_performance

RSAの見出し/説明文と承認ステータスを含む広告指標

get_keyword_performance

マッチタイプ、品質スコア、入札額を含むキーワード指標

get_search_terms

実際の検索クエリ — 否定キーワードのソース

get_negative_keywords

キャンペーン / 広告グループ / 共有セットの否定キーワード

get_geo_performance

地域別の指標

get_device_performance

デバイス別の指標

get_change_history

変更イベント(APIは30日間保持)

list_assets

アセットとその添付レベル

get_policy_issues

不承認および制限付き広告とポリシートピック

get_conversion_actions

カテゴリ、計測方法、ルックバックを含むコンバージョンアクション

list_recommendations

Googleの推奨事項と影響の見積もり

search_geo_targets

場所名 → 地域ターゲット定数ID

discover_keywords

シードおよび/またはURLからのキーワードアイデア

get_keyword_historical_metrics

固定キーワードリストのボリューム/競合性

get_keyword_forecasts

仮想キャンペーンの予測

書き込み(25)

ツール

内容

create_campaign_budget

日予算(共有あり/なし)

create_campaign

キャンペーン + オプションの予算を1回の呼び出しで作成

update_campaign

名前、ステータス、予算、日付、入札戦略

create_ad_group / update_ad_group

広告グループとデフォルトCPC

add_keywords / update_keyword

肯定キーワード、入札額、最終URL

add_negative_keywords

キャンペーンまたは広告グループの否定キーワード

create_responsive_search_ad

ピン留め付きRSA。送信前に文字数制限をチェック

set_entity_status

リソース名で任意のエンティティを一時停止/有効化/削除

add_geo_target

地域のターゲット設定または除外(入札調整あり)

set_campaign_geo_target_type

プレゼンス vs プレゼンスまたは関心

set_ad_schedule

曜日・時間帯の広告配信ウィンドウと入札調整

add_audience_targeting / create_custom_audience

オーディエンス

create_asset / attach_assets / remove_asset_link

サイトリンク、コールアウト、スニペット、テキスト、画像

create_conversion_action / update_conversion_action

コンバージョン設定、プライマリ/セカンダリ

create_bidding_strategy

ポートフォリオ戦略

apply_recommendation / dismiss_recommendation

Googleの提案への対応

mutate

任意のリソースコレクションに対する生のmutate — 上記のすべてをカバー

mutate_batch

一時IDを使用したリソース横断のアトミックなgoogleAds:mutate

mutateとmutate_batchは脱出ハッチです。Googleが新しく追加したものや、専用ツールのないリソース (共有セット、ユーザーリスト、アセットグループ、実験、ラベル)は、コード変更なしでこれらを通じて操作できます。 手動でドライランを行いたい場合は、両方ともvalidate_onlyを受け付けます。

チェック

npm run typecheck   # tsc --noEmit
npm test            # pure-logic selfcheck: micros, dates, resource names, bidding payloads

備考

  • 金額は通貨単位(25.5)で渡され、内部でマイクロに変換されます。

  • mutateペイロードはYYYYMMDD形式の日付を使用し、レポートはYYYY-MM-DD形式を使用します。ツールはすべてYYYY-MM-DDを受け取り、変換します。

  • updateMaskはsnake_caseのフィールド名を使用します — mutate用にオペレーションを手書きする場合に関係します。

  • アクセストークンはWorkerアイソレートごとにキャッシュされます。リフレッシュトークンは、失効または6か月間未使用でない限り期限切れになりません。

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables reading and modifying Google Ads accounts, including campaign management, ad status changes, budget updates, and more.
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    A comprehensive Google Ads MCP server providing ~47 tools for full read/write access to Google Ads accounts, including campaign management, ad creation, keyword management, and reporting.
    2
    Apache 2.0
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables reading and mutating Google Ads campaigns via MCP tools, and includes structured marketer workflows for search term mining, budget optimization, and weekly reviews.
    31 npm
    6
    MIT