mcpField
G
google-ads-mcp

google-ads-mcp

ローカル
github.comビジネス・マーケティング42 週間前に更新

google-ads-mcp について

google-ads-mcpは、Google Adsアカウントの読み取りと分析を行う非公式のローカル優先型MCPサーバーです。キャンペーンやキーワードの変更にも対応しますが、書き込みツールは既定で無効で、操作ごとに明示的なユーザーの意思が必要です。

主な機能

  1. 01アカウント、キャンペーン、キーワードの読み取り
  2. 02アカウント、キャンペーン、キーワードの実績
  3. 03日次レポートと無駄な支出の検出ワークフロー
  4. 04制御されたキャンペーン、予算、入札単価の変更
  5. 05プライバシーモードと顧客IDのマスキング
  6. 06ローカルOAuth設定と診断

活用シーン

  1. 01Google Adsの日次実績を確認
  2. 02費用が発生しコンバージョンのないキーワードを特定
  3. 03承認後にキーワードを停止、または予算を調整

MCP 対応

stdio経由でMCPクライアントにGoogle Adsのアカウント、レポート、ワークフローツールを公開し、ループバック限定のステートレスStreamable HTTPにも対応します。変更には`GOOGLE_ADS_ALLOW_MUTATIONS`の有効化と、各呼び出しでの`explicit_user_intent: true`が必要です。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"davidmosiah-google-ads": {
"command": "npx",
"args": [
"-y",
"google-ads-mcp-unofficial"
],
"env": {
"GOOGLE_ADS_DEVELOPER_TOKEN": "<GOOGLE_ADS_DEVELOPER_TOKEN>",
"GOOGLE_ADS_CLIENT_ID": "<GOOGLE_ADS_CLIENT_ID>",
"GOOGLE_ADS_CLIENT_SECRET": "<GOOGLE_ADS_CLIENT_SECRET>",
"GOOGLE_ADS_LOGIN_CUSTOMER_ID": "<GOOGLE_ADS_LOGIN_CUSTOMER_ID>",
"GOOGLE_ADS_REDIRECT_URI": "<GOOGLE_ADS_REDIRECT_URI>",
"GOOGLE_ADS_TOKEN_PATH": "<GOOGLE_ADS_TOKEN_PATH>",
"GOOGLE_ADS_PRIVACY_MODE": "<GOOGLE_ADS_PRIVACY_MODE>",
"GOOGLE_ADS_ALLOW_MUTATIONS": "<GOOGLE_ADS_ALLOW_MUTATIONS>",
"GOOGLE_ADS_CACHE": "<GOOGLE_ADS_CACHE>",
"GOOGLE_ADS_CACHE_PATH": "<GOOGLE_ADS_CACHE_PATH>",
"GOOGLE_ADS_CACHE_TTL_SECONDS": "<GOOGLE_ADS_CACHE_TTL_SECONDS>",
"GOOGLE_ADS_NO_RETRY": "<GOOGLE_ADS_NO_RETRY>"
}
}
}
}
起動コマンドnpx -y google-ads-mcp-unofficial
設定が必要な環境変数
GOOGLE_ADS_DEVELOPER_TOKENシークレットGoogle Ads API developer token from your Google Ads Manager account. Required.
GOOGLE_ADS_CLIENT_IDGoogle OAuth2 client ID. Required.
GOOGLE_ADS_CLIENT_SECRETシークレットGoogle OAuth2 client secret. Prefer storing in ~/.google-ads-mcp/config.json via setup.
GOOGLE_ADS_LOGIN_CUSTOMER_IDManager (MCC) customer ID used as login-customer-id header, no dashes (e.g., 1234567890). Optional but required for multi-account access.
GOOGLE_ADS_REDIRECT_URIOAuth redirect URI. Defaults to http://127.0.0.1:3000/callback.
GOOGLE_ADS_TOKEN_PATHシークレットOptional local path for OAuth tokens. Defaults to ~/.google-ads-mcp/tokens.json (0600).
GOOGLE_ADS_PRIVACY_MODEOptional payload mode: summary, structured, or raw. Defaults to structured. raw returns full Google Ads API payloads.
GOOGLE_ADS_ALLOW_MUTATIONSSet to true to enable write tools (pause/resume keywords/campaigns, set bids, set budgets). Default false (read-only). Agents changing real ad spend is high-stakes; review every change.
GOOGLE_ADS_CACHEOptional SQLite cache toggle. Set to true or sqlite to enable.
GOOGLE_ADS_CACHE_PATHOptional local SQLite cache path. Defaults to ~/.google-ads-mcp/cache.sqlite.
GOOGLE_ADS_CACHE_TTL_SECONDSOptional cache TTL in seconds. Defaults to 60. Set to 0 to keep entries indefinitely (entries are still overwritten on each hit).
GOOGLE_ADS_NO_RETRYSet to true to disable the HTTP retry middleware. Default false.

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmgoogle-ads-mcp-unofficial0.1.3

ツール

30

掲載時のツール一覧 · 2 週間前に更新

パラメーター型必須説明
response_formatenumいいえmarkdown | json

詳細

google-ads-mcp-unofficial

CI npm npm downloads MIT MCP

AI エージェントが Google Ads アカウントを読み取り、分析し、(制限付きで)操作できる非公式の Model Context Protocol サーバーです。スタックを離れることなく、キーワードの一時停止、入札単価の設定、予算の調整を行えます。

非公式です。Google とは提携していません。 Google Ads REST API と直接通信する、ローカル優先の MCP サーバーです。Google Ads API が許可する範囲を超えて、金融アカウントを自動で変更する機能は含まれていません。GOOGLE_ADS_ALLOW_MUTATIONS を有効にする前に、変更案を必ず確認してください。


HTTP(v2 ステートレス)

デフォルトは stdio です。オプションで Streamable HTTP を利用できます。セッション ID は不要で、JSON レスポンスを返し、ループバックのみで動作します。

npx -y google-ads-mcp-unofficial --http
# GET  http://127.0.0.1:3000/health
# POST http://127.0.0.1:3000/mcp   (sessionless)

環境変数:GOOGLE_ADS_MCP_HOST、GOOGLE_ADS_MCP_PORT、GOOGLE_ADS_MCP_TRANSPORT=http。

クイックスタート(30 秒)

npx -y google-ads-mcp-unofficial setup

セットアップウィザードは、開発者トークンと OAuth クライアントを収集して ~/.google-ads-mcp/config.json に書き込み(chmod 600)、ローカルコールバック http://127.0.0.1:3000/callback を使って OAuth の手順を進めます。

確認:

npx -y google-ads-mcp-unofficial doctor

続いて、エージェント(Claude Desktop、Cursor、Hermes、OpenClaw、Codex。以下の例を参照)に追加します。


機能

6 カテゴリーにわたる 22 個のツールを提供します。

カテゴリー数例
メタ/診断5google_ads_connection_status、google_ads_capabilities、google_ads_agent_manifest、google_ads_data_inventory、google_ads_privacy_audit
共有 Delx プロファイル3google_ads_profile_get、google_ads_profile_update、google_ads_onboarding
認証3google_ads_get_auth_url、google_ads_exchange_code、google_ads_revoke_access
読み取り(常に安全)8google_ads_list_accounts、google_ads_list_campaigns、google_ads_get_campaign、google_ads_list_ad_groups、google_ads_list_keywords、google_ads_get_account_performance、google_ads_get_campaign_performance、google_ads_get_keyword_performance
ワークフロー2google_ads_daily_report、google_ads_find_waste
変更(制限付き)6google_ads_pause_keyword、google_ads_resume_keyword、google_ads_set_keyword_bid_micros、google_ads_set_campaign_budget_micros、google_ads_pause_campaign、google_ads_resume_campaign

ツールの詳細なリファレンスは AGENTS.md を参照してください。


セットアップウィザード

npx -y google-ads-mcp-unofficial setup [--allow-mutations] [--client hermes|claude|cursor|...]

機能:

  1. 開発者トークン、OAuth クライアント ID/シークレット、任意の login_customer_id(MCC)、リダイレクト URI、プライバシーモードの入力を求めます。
  2. ~/.google-ads-mcp/config.json を chmod 600 で書き込みます。
  3. MCP クライアント設定を書き込みます(例:macOS では claude_desktop_config.json にマージします。--client hermes の場合は Hermes のブロックとスキルファイルを書き込みます)。
  4. (--no-auth を指定しない限り)Google の同意画面を開き、127.0.0.1:3000 でリッスンして OAuth の手順を進めます。

変更はデフォルトで無効です。 --allow-mutations を指定すると書き込みツールが有効になります。有効にする前にユーザーに確認してください。エージェントがキャンペーン、入札単価、予算を変更し、キーワードを一時停止/再開できるようになります。


認証モデル

この MCP には、2 つの認証情報が必要です。

  1. Google Ads Developer Token — MCC(マネージャー)アカウントで https://ads.google.com/aw/apicenter から取得します。新しいトークンは「テストアカウントアクセス」モードで発行され、本番トラフィックで使用するには承認が必要です。
  2. Google OAuth 2.0 クライアント — Google Cloud Console で作成した「デスクトップ」または「ウェブ」クライアントです。使用する OAuth スコープは https://www.googleapis.com/auth/adwords のみです。

⚠️ リフレッシュトークンに関する注意点: Google は、初回の同意時、または https://myaccount.google.com/permissions で以前の許可を取り消した後にのみ、refresh_token を返します。auth フローでは、Google がトークンを返す可能性を高めるために prompt=consent を使用します。ただし、コード交換のレスポンスに refresh_token が含まれていない場合、ツールから許可を取り消して再試行するよう案内されます。

変数用途保存場所シークレット?
GOOGLE_ADS_DEVELOPER_TOKEN承認済みのデベロッパートークン~/.google-ads-mcp/config.json または環境変数はい
GOOGLE_ADS_CLIENT_IDOAuth クライアント IDローカルまたは環境変数いいえ
GOOGLE_ADS_CLIENT_SECRETOAuth クライアントシークレットローカルまたは環境変数はい
GOOGLE_ADS_LOGIN_CUSTOMER_IDMCC ID(ハイフンなし)ローカルまたは環境変数いいえ
GOOGLE_ADS_REDIRECT_URIOAuth コールバックローカルまたは環境変数(デフォルトは http://127.0.0.1:3000/callback)いいえ
GOOGLE_ADS_PRIVACY_MODEsummary | structured | rawローカルまたは環境変数(デフォルトは structured)いいえ
GOOGLE_ADS_ALLOW_MUTATIONS書き込みツールを有効化ローカルまたは環境変数(デフォルトは false)いいえ
GOOGLE_ADS_TOKEN_PATHトークンの保存場所を上書きローカルまたは環境変数(デフォルトは ~/.google-ads-mcp/tokens.json)いいえ
GOOGLE_ADS_CACHESQLite キャッシュを有効化ローカルまたは環境変数(デフォルトはオフ)いいえ
GOOGLE_ADS_CACHE_PATHキャッシュのパスを上書きローカルまたは環境変数いいえ
GOOGLE_ADS_NO_RETRYリトライミドルウェアを無効化環境変数(デフォルトはオフ)いいえ

プライバシーモード

モード取得できる情報顧客 ID
summaryID、名前、ステータスのフィールドのみ一部をマスキング(123-***-7890)
structured(デフォルト)指標を含む、フラットで正規化された行一部をマスキング
rawGoogle Ads REST の上流からの完全なペイロード完全表示

呼び出しごとに privacy_mode を指定すると、レスポンスごとにデフォルトを上書きできます。

マスキング一覧:

フィールドsummarystructuredraw
developer_token該当なし該当なし該当なし(返されません)
access_token、refresh_token、client_secretすべてのエラーで [REDACTED][REDACTED][REDACTED]
エラーメッセージ内のメールアドレス[REDACTED][REDACTED][REDACTED]
customer_id123-***-7890123-***-7890完全表示
指標(クリック数、費用など)省略含む含む

⚠️ 変更操作の制御 — 必ずお読みください

デフォルトでは、変更操作は無効です。 6 つのツールが制限されています。

  • google_ads_pause_keyword / google_ads_resume_keyword
  • google_ads_set_keyword_bid_micros
  • google_ads_set_campaign_budget_micros
  • google_ads_pause_campaign / google_ads_resume_campaign

GOOGLE_ADS_ALLOW_MUTATIONS を有効にせずにエージェントがこれらのいずれかを呼び出すと、次の内容が返されます。

Error: Write tools are disabled. To enable: re-run `google-ads-mcp-server setup --allow-mutations`
or enable GOOGLE_ADS_ALLOW_MUTATIONS. ASK THE USER BEFORE TURNING THIS ON — it lets agents
change campaigns, bids, budgets, and pause/resume keywords.

環境変数を有効にした場合でも、すべての変更操作で呼び出しごとの引数に explicit_user_intent: true が必要です。また、すべての変更操作はリソース名とともに stderr に記録されます。

[google-ads-mcp] MUTATION pause_keyword {"resource_name":"customers/1234567890/adGroupCriteria/999~111222333"}

脅威モデルについては SECURITY.md をお読みください。


エージェントクライアントの設定例

Claude Desktop

macOS の場合、~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "google-ads": {
      "command": "npx",
      "args": ["-y", "google-ads-mcp-unofficial"]
    }
  }
}

その後、Claude Desktop を再起動します。

Cursor / Windsurf

~/.cursor/mcp.json(または IDE に相当するファイル):

{
  "mcpServers": {
    "google-ads": {
      "command": "npx",
      "args": ["-y", "[email protected]"]
    }
  }
}
Hermes
# ~/.hermes/config.yaml
mcp_servers:
  google-ads:
    command: npx
    args:
      - -y
      - [email protected]
    timeout: 120
    connect_timeout: 60
    sampling:
      enabled: false

その後、/reload-mcp を実行します(通常のデータアクセスではゲートウェイを再起動しないでください)。

OpenClaw

~/.openclaw/mcp.servers.json:

{
  "google-ads": {
    "command": "npx",
    "args": ["-y", "[email protected]"]
  }
}
Codex / TOML クライアント

同等の TOML ブロックについては examples/codex.toml をご覧ください。


ワークフローの例

1. 日次パフォーマンス概要
// Agent asks: "How did my Google Ads do yesterday?"
{
  "name": "google_ads_daily_report",
  "arguments": {
    "customer_id": "1234567890",
    "cpc_alert_threshold": 0.15
  }
}

前日、過去 7 日間、過去 30 日間の集計を含む Markdown を返します。前日の CPC が 0.15 を超える場合、出力に ALERT バナーが表示されます。

2. 無駄を特定する(読み取り専用)
{
  "name": "google_ads_find_waste",
  "arguments": {
    "customer_id": "1234567890",
    "date_range": "LAST_30_DAYS",
    "min_clicks": 5,
    "min_cost_micros": 200000,
    "zero_conversions_only": true
  }
}

「費用が 0.20 ドル以上、クリック数が 5 回以上、コンバージョン数が 0」の条件に一致するキーワードを、順位付きで返します。ただし、一時停止はしません。

3. 単一のキーワードを一時停止する(変更、確認必須)

ユーザーの確認後:

{
  "name": "google_ads_pause_keyword",
  "arguments": {
    "customer_id": "1234567890",
    "ad_group_id": "999",
    "criterion_id": "111222333",
    "explicit_user_intent": true
  }
}

トラブルシューティング

症状対処方法
Missing required Google Ads environment variablessetup を実行するか、エラーに記載されている環境変数を設定してください。
Google did not return a refresh_tokenhttps://myaccount.google.com/permissions でアクセスを取り消してから、auth を再実行してください。
読み取り時に PERMISSION_DENIED が発生するGOOGLE_ADS_LOGIN_CUSTOMER_ID が、対象の顧客を所有する MCC と一致していることを確認してください(ハイフンなし)。
Write tools are disabled想定される動作です。GOOGLE_ADS_ALLOW_MUTATIONS を有効にする前に、ユーザーに確認してください。
設定を編集した後、Hermes ツールが見つからない/reload-mcp または hermes mcp test google-ads を実行してください。ゲートウェイは再起動しないでください。
トークンファイルのアクセス権が安全でないという警告が表示されるchmod 600 ~/.google-ads-mcp/tokens.json

サポート


免責事項

非公式の連携機能です。Google とは提携していません。 この MCP には、Google Ads REST API で許可されている範囲を超える、財務アカウントへの自動変更機能は含まれていません。GOOGLE_ADS_ALLOW_MUTATIONS を有効にする前に、提案された変更を必ず確認してください。Google Ads アカウントへの自動変更による予算超過、キャンペーンの一時停止、その他あらゆる結果について、作者は責任を負いません。

MIT ライセンスです。

スキルまたは MCP

同じパッケージに、2 つの利用方法があります。MCP は stdio/HTTP でツールを登録します。クライアントが MCP に対応していない場合、スキルを使って CLI 経由で同じツールを実行できます。

npx -y google-ads-mcp-unofficial call google_ads_connection_status --json '{}'

skill/SKILL.md をエージェントのスキルディレクトリにコピーしてください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。