Google Ads MCP Worker
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クライアント
Google Cloud Console → プロジェクトを選択/作成 → Google Ads APIを有効化します。
APIとサービス → 認証情報 → 認証情報を作成 → OAuthクライアントID → デスクトップアプリを選択します。
クライアント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に設定します:
変数 | 意味 |
| デフォルトアカウント。数字のみ。ツールは |
| あなたのMCC ID。 |
| デフォルトは |
ローカル開発:.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ステータス、開発者トークンの有無、到達可能なアカウントが報告されます。
ツール
46のツール。顧客スコープのすべてのツールは、オプションのcustomer_idを受け取ります。
読み取り(21)
ツール | 内容 |
| 認証ステータス、APIバージョン、設定済みアカウント |
| アクセス可能なアカウント(MCCが設定されている場合は名前付き) |
| 通貨、タイムゾーン、自動タグ付け、テストアカウントフラグ |
| 任意のGAQLクエリ。デフォルトは |
| 費用別のキャンペーン指標 |
| 広告グループ指標 |
| RSAの見出し/説明文と承認ステータスを含む広告指標 |
| マッチタイプ、品質スコア、入札額を含むキーワード指標 |
| 実際の検索クエリ — 否定キーワードのソース |
| キャンペーン / 広告グループ / 共有セットの否定キーワード |
| 地域別の指標 |
| デバイス別の指標 |
| 変更イベント(APIは30日間保持) |
| アセットとその添付レベル |
| 不承認および制限付き広告とポリシートピック |
| カテゴリ、計測方法、ルックバックを含むコンバージョンアクション |
| Googleの推奨事項と影響の見積もり |
| 場所名 → 地域ターゲット定数ID |
| シードおよび/またはURLからのキーワードアイデア |
| 固定キーワードリストのボリューム/競合性 |
| 仮想キャンペーンの予測 |
書き込み(25)
ツール | 内容 |
| 日予算(共有あり/なし) |
| キャンペーン + オプションの予算を1回の呼び出しで作成 |
| 名前、ステータス、予算、日付、入札戦略 |
| 広告グループとデフォルトCPC |
| 肯定キーワード、入札額、最終URL |
| キャンペーンまたは広告グループの否定キーワード |
| ピン留め付きRSA。送信前に文字数制限をチェック |
| リソース名で任意のエンティティを一時停止/有効化/削除 |
| 地域のターゲット設定または除外(入札調整あり) |
| プレゼンス vs プレゼンスまたは関心 |
| 曜日・時間帯の広告配信ウィンドウと入札調整 |
| オーディエンス |
| サイトリンク、コールアウト、スニペット、テキスト、画像 |
| コンバージョン設定、プライマリ/セカンダリ |
| ポートフォリオ戦略 |
| Googleの提案への対応 |
| 任意のリソースコレクションに対する生のmutate — 上記のすべてをカバー |
| 一時IDを使用したリソース横断のアトミックな |
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か月間未使用でない限り期限切れになりません。
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Manage Google, Meta, Amazon, TikTok, LinkedIn & ChatGPT ads. 430 tools for campaigns & analytics.
OpenAI Ads MCP for ChatGPT Ads campaigns, creatives, audiences, insights, and conversions.
Search Meta, Google Ads, LinkedIn, and TikTok ad libraries plus creative analysis via MCP.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/ambo-sk/mcp-google-ads'
If you have feedback or need assistance with the MCP directory API, please join our Discord server