Google Ads 用の MCP サーバーはありますか?はい。Hermoso はホスト型の Google Ads MCP サーバーです。https://app.hermoso.ai/mcp を Claude、ChatGPT、Cursor に追加し、Google Ads アカウントを一度接続してください。その後、アシスタントが検索、ディスプレイ、Performance Max のキャンペーンを作成し、キーワードのアイデアを探し、予算、入札、ターゲティングを設定し、レポートを実行できます。キャンペーンを有効にするには、常にお客様の明示的な確認が必要です。
Google 広告は木構造になっており、スクリプトによるキャンペーン作成は、その木構造の途中で失敗しがちです。予算を作成し、次にキャンペーン、広告グループ、広告と順に作ります。4段階目で広告が拒否されると、3つの孤立したオブジェクトと、望んでいなかった予算が残ります。それを手作業で片付けるのが大変なので、多くの人が Google 広告の自動化を諦めてしまいます。
Hermoso の MCP サーバーは、木構造全体を1回のアトミックな操作で作成します。一時的なリソース ID を使うので、まだ存在しない親を子が参照できます。キャンペーン、広告グループ、広告、キーワードはすべて作成されるか、どれも作成されないかのどちらかです。広告が拒否された場合は、予算も作成されません。
一度インストールするだけです:Claude.ai または Claude Desktop では、設定 → Connectors に https://app.hermoso.ai/mcp を貼り付け、Hermoso アカウントで承認します。コーディングエージェントでは1つのコマンドで済みます。Claude Code では /plugin marketplace add hermoso-ai/hermoso の後に /plugin install hermoso@hermoso、Codex では codex plugin marketplace add hermoso-ai/hermoso の後に codex plugin add hermoso@hermoso、Cursor では npx skills add hermoso-ai/hermoso -a cursor を実行します(-a の後ろはお使いのエージェント名に置き換えてください)。その後、npx -y hermoso auth login で一度サインインします。詳しい設定は MCP & CLI ページをご覧ください。
Google Ads のツール
作成。create_google_ads_campaign、create_google_ads_ad_group、create_google_ads_ad、add_google_ads_keywords、create_google_ads_performance_max_campaign、upload_google_ads_asset、サイトリンク、コールアウト、構造化スニペットのための add_google_ads_assets。
設定。set_google_ads_budget、set_google_ads_bidding(6種類の戦略)、set_google_ads_targeting(地域と言語)、find_google_ads_locations、set_google_ads_networks(検索パートナーとディスプレイのオン/オフ)、create_google_ads_conversion_action、list_google_ads_conversion_actions。
リサーチ。google_ads_keyword_ideas は、キーワードプランナーを会話の中に取り込みます。キーワードのセット、ランディングページ、サイト全体のいずれかを起点に、実際の月間検索ボリューム、競合性、掲載位置の上位の入札額の範囲を返します。
読み取りと変更。list_google_ads_campaigns、任意の GAQL を実行する google_ads_report、アカウントで何がいつ変わったかを示す google_ads_change_history、1つのオブジェクトを削除する delete_google_ads_object、そして実際の支出を開始する唯一の確認ゲート付きスイッチ set_google_ads_status。
create_google_ads_campaign はドライランモードも受け付けるので、エージェントは何も作成せずに、ライブ API に対して木構造全体を検証できます。お客様に承認していただく計画を提案する場合の、適切な初期設定です。
Google Ads MCP でエージェントにできること
すべての行はサーバー上の実在するツールです。平易な言葉で頼めば、エージェントがどのツールを実行するか選びます。
| 用途 | ツール | 何が起きるか |
|---|---|---|
| 検索またはディスプレイのキャンペーンを作成 | create_google_ads_campaign、create_google_ads_ad_group、create_google_ads_ad、add_google_ads_keywords | 予算、キャンペーン、広告グループ、レスポンシブ広告、キーワードを1回のアトミックな操作でまとめて作成し、一時停止の状態で作成します。ドライランでは、まず木構造全体をライブ API に対して検証します。 |
| Performance Max を作成 | create_google_ads_performance_max_campaign | 検索、YouTube、ディスプレイ、Discover、Gmail、マップにまたがる1つのキャンペーンを、アセットグループとともに一時停止の状態で作成します。コンバージョン アクションがないアカウントでは拒否されます。 |
| キーワードリサーチ | google_ads_keyword_ideas | Google のキーワードプランナー。シードキーワード、ランディングページ、サイトから、月間検索ボリューム、競合性、掲載位置の上位の入札額の範囲を返します。 |
| サイトリンクとコールアウト | add_google_ads_assets、upload_google_ads_asset | サイトリンク、コールアウト、構造化スニペットを作成し、キャンペーンまたは広告グループに添付します。画像アセットをアップロードします(お客様のものでも Hermoso のものでも可)。 |
| ターゲティングとネットワーク | set_google_ads_targeting、find_google_ads_locations、set_google_ads_networks | 地域と言語を名前で指定し、検索パートナーとディスプレイのオン/オフを切り替えます。 |
| 入札と予算 | set_google_ads_bidding、set_google_ads_budget | 6種類の入札戦略と1日予算。稼働中の予算を引き上げる場合は確認を求めます。 |
| コンバージョン トラッキング | create_google_ads_conversion_action、list_google_ads_conversion_actions | コンバージョン アクションを作成し、そのアカウントでスマート入札が機能するかどうかを示します。 |
| レポート | google_ads_report、list_google_ads_campaigns | 任意の GAQL クエリ。キャンペーン、広告グループ、広告、キーワード、検索語句、属性、地域などを取得します。 |
| 何が変わったか | google_ads_change_history | アカウントを誰または何が、いつ変更したかを示します。 |
| 開始、一時停止、削除 | set_google_ads_status、delete_google_ads_object | 有効化すると実際の支出が発生するため、明示的な確認がないと実行されません。 |
| Merchant Center | list_merchant_accounts、list_merchant_products、list_merchant_issues | ショッピングまたは小売の Performance Max キャンペーンが宣伝するフィードと、ある商品が不承認になっている理由を読み取ります。 |
| GA4 を連携 | link_google_ads_to_analytics、list_analytics_google_ads_links、create_analytics_key_event | GA4 プロパティを連携し、そのキーイベントを Google Ads のコンバージョンとしてインポートできるようにします。 |
プロンプトの例
Hermoso を接続した後に、Claude、ChatGPT、Cursor へ以下のいずれかを貼り付けてください。
- 「米国で月間検索ボリュームが1,000を超える、プロジェクト管理アプリ向けのキーワードを30個探して、検索意図ごとにグループ分けして。」
google_ads_keyword_ideas がキーワードプランナーのボリューム、競合性、入札額の範囲を返し、エージェントがそれをグループ分けします。 - 「それらのキーワードで、一時停止中の検索キャンペーンを作って。1日$50、米国とカナダ、英語、コンバージョンの最大化で。」
create_google_ads_campaign が予算、キャンペーン、広告グループ、広告、キーワードを1回のアトミックな操作で作成し、一時停止の状態にしてから読み直します。 - 「Merchant Center のフィードを使って、Shopify のカタログ向けに Performance Max キャンペーンを設定して。」
list_merchant_accounts でストアを選び、create_google_ads_performance_max_campaign がフィードを添付した状態で一時停止のキャンペーンを作成します。 - 「先月、コンバージョンせずに費用を使った検索語句はどれ? 最悪の10個を除外キーワードに追加して。」
google_ads_report が検索語句レポートを取得し、add_google_ads_keywords が除外キーワードを追加します。 - 「ブランド キャンペーンに、料金、デモ、導入事例、お問い合わせの4つのサイトリンクを追加して。」
add_google_ads_assets がサイトリンクを作成し、キャンペーンに添付します。 - 「すべてのキャンペーンで検索パートナーをオフにして、変更前後を見せて。」
set_google_ads_networks が現在の設定を先に読み取り、その後キャンペーンごとに変更します。 - 「金曜日に誰かが入札を変えたみたい。何が変わった?」
google_ads_change_history が、変更内容と時刻を一覧にします。 - 「GA4 プロパティを連携して、会員登録が Google Ads のコンバージョンとして数えられるようにして。」
link_google_ads_to_analytics が2つを連携し、create_analytics_key_event が会員登録イベントをキーイベントとしてマークします。
Performance Max も同じ方法で作成
create_google_ads_performance_max_campaign は、Google のクロスサーフェス キャンペーン タイプ(検索、YouTube、ディスプレイ、Discover、Gmail、マップを1つのキャンペーンで)を作成します。Google がまさにそれを要求するため、1回のアトミックな操作で作成されます。予算、キャンペーン、地域と言語のターゲティング、アセットグループ、すべてのアセットリンクが一緒に送信されるので、拒否されたアセットが中途半端なキャンペーンを残すことはありません。キャンペーンは一時停止の状態で作成され、エージェントがそれを存在すると報告する前に、木構造全体が Google から読み直されます。
Google のアセットの最低要件は、送信前にチェックされるため、正方形の画像が欠けている場合は、不透明な API の拒否ではなく、明確なメッセージが表示されます。内容は次のとおりです:見出し3〜15個(各30文字以内)、長い見出し1〜5個(各90文字以内)、説明文2〜5個(各90文字以内)、ビジネス名1つ(25文字以内)、ロゴ、マーケティング用画像、正方形のマーケティング用画像を最低1つずつ。画像は、まず upload_google_ads_asset でアップロードし、そのリソース名を渡してください。YouTube 動画は任意です。省略すると、Google がアセットグループから動画を生成します。
Performance Max にはキーワードも手動入札もありません。コンバージョンの最適化だけを行います。そのため、有効なコンバージョン アクションがないアカウントでは、最適化できないキャンペーンを作らずに、作成を拒否します。そして解決方法を2つ示します。create_google_ads_conversion_action でコンバージョン アクションを作成するか、それを必要としない戦略を使うかです。Google Ads API v21 以降、新しい PMax キャンペーンではブランド ガイドラインが既定でオンになっており、これによって事業者名とロゴの添付先が変わります。Hermoso がキャンペーンへの紐付けを代行します。
ショッピング フィード(小売)の Performance Max も同様に動作します。merchantCenterId を渡すと、キャンペーンが Merchant Center のカタログを宣伝します。feedLabel を使うと、1つのフィードに絞り込めます。上記のキャンペーンと同じように作成され、読み直されます。読み取り結果には、Google が実際に保存した Merchant Center アカウントとフィードラベルが表示されるので、それが本当に小売キャンペーンであることを、こちらの言葉を信じるのではなく確認できます。フィード全体を1つのルート リスティング グループで宣伝します。フィードをブランド、カテゴリ、カスタムラベルで分割する機能は構築されていません。その場合は、黙って無視するのではなく、名前を挙げて拒否するため、フィードを絞り込んだと誤って思い込むことはありません。
Merchant Center で、エージェントが販売する商品を把握
「なぜこの商品が表示されないの?」という質問は、Google 広告のレポートでは構造上答えられません。不承認の商品にはインプレッションがなく、レポートに表示するものがないからです。その答えは Merchant Center にあり、同じ Google の接続から、別のログインなしでアクセスできます。
エージェントは、list_merchant_accounts で、接続済みの Google アカウントから見える Merchant Center アカウントを一覧表示できます(代理店は通常複数持っているので、推測するのではなくどのストアか尋ねます)。list_merchant_products でフィードの商品(ショッピングや小売の Performance Max キャンペーンが実際に配信しているカタログ)を読み取れます。list_merchant_issues で、Google がアカウントに対して出している、アカウント全体の問題を読み取れます。これだけあれば、実際に存在する商品について、実際に有効な価格で広告文を書き、配信されていないキャンペーンを説明できます。
書き込みもできます。create_merchant_data_source は API の商品フィードを作成し、upsert_merchant_product はそのフィードに商品を登録し、update_merchant_product は毎日変わるフィールド(価格と在庫状況)を更新し、delete_merchant_product と delete_merchant_data_source は確認の後に削除します。list_merchant_data_sources は、どのフィードに実際に書き込めるかを表示します。
事前に知っておくと良い3点があります。Google は、Hermoso の Cloud プロジェクトが お客様の Merchant Center アカウントに登録されるまで、すべての Merchant API 呼び出しをブロックします。そのため、register_merchant_developer がこのリンクを一度だけ実行し、その旨を明示します。これは接続の故障ではなく、再接続しても解決しません。商品の書き込みはAPI データソースに対してのみ可能です。ファイルフィード、オートフィード、Merchant Center の UI 自体が作成するフィードは、一覧表示はできても、すべて書き込みを拒否します。そのため、Hermoso は書き込み可能なフィードを自動的に見つけ、なければ作成し、複数ある場合は、キャンペーンが対象としていない可能性のある市場に商品を入れないよう、名前を挙げて拒否します。また、upsert_merchant_product は行全体の書き込みで、update_merchant_product はパッチです。前者には残したいすべてのフィールドを送り、後者には変更するフィールドだけを送ってください。
カタログを移す必要はありません。フィードがすでに Shopify やお使いのプラットフォームにあるなら、そこに置いたままにして、エージェントに読み取らせてください。書き込み機能は、どこもフィードを所有していない場合や、次の同期を待たずに1つの価格や在庫状況を今すぐ修正する必要がある場合のためのものです。
Google Analytics 4 で、クリックの後に何が起きたかを確認
Google 広告のレポートはクリックで終わります。その後に起きたこと(セッション、会員登録、注文)は Google Analytics にあり、同じ Google サインインでアクセスできます。Analytics は独自の権限が必要なため、別の接続になります。
エージェントは、list_analytics_properties で、どの GA4 プロパティを読むべきかを特定できます。これは重要です。Analytics の呼び出しはすべて数値のプロパティ ID を必要としますが、お客様が手元に持っているのは、トラッキング スニペットにある G-XXXXXXXXX の測定 ID だからです。その後、analytics_report が、チャネル、ソース/メディア、キャンペーン、ランディングページ、国、デバイス、日付ごとに、セッション、ユーザー、コンバージョン、売上を返します。analytics_realtime は、今まさにサイトを見ている人を表示します。つまり、「キャンペーンを作る」と「それでいくら稼いだか教えて」は同じ会話の中で行えます。
書き込みもでき、これが Google 広告に直接フィードバックされる部分です。create_analytics_key_event は、GA4 がすでに収集しているイベントをキーイベントとしてマークします。これは Google 広告がコンバージョンとしてインポートするものであり、このページのスマート入札戦略はすべて、コンバージョン アクションがなければ機能しません。create_analytics_custom_dimension は、レポートでその値ごとに内訳を出せるように、イベントパラメータを登録します。list_analytics_definitions は、どちらかを追加する前に、そのプロパティがすでに何を計測しているかを表示します。2つの点は恒久的です。これは GA4 専用です(API にはユニバーサル アナリティクスのサーフェスがまったくありません)。カスタムディメンションはアーカイブできますが削除はできず、プロパティごとにイベントスコープのスロットは50個しかありません。そのためエージェントは、既存のセットを先に確認します。
支出を開始するゲートは、1つのツールだけではありません
支出を避ける方法は、キャンペーンを一時停止することだけではありません。そのように考えるのは実際の落とし穴です。すでに有効な親の下に、有効な広告グループ、広告、キーワードを作成すると、次のオークションで直ちに配信されます。そのため、set_google_ads_status を保護しているのと同じ確認が、親が稼働中であれば create_google_ads_ad_group、create_google_ads_ad、add_google_ads_keywords も保護します。これは、それぞれのツールがすでに取得している行から判定するため、追加のラウンドトリップは発生しません。除外キーワードは支出を制限するだけなので、ゲートの対象にはなりません。
GAQL レポート、1つだけ注意点があります
google_ads_report は任意の GAQL を受け付けるので、エージェントは固定されたレポート形式に縛られず、必要な切り口を自由に要求できます。クエリを手で書く場合や、モデルに書かせる場合に覚えておくべきことが1つあります。GAQL は SQL ではありません。サブクエリがなく、IN はリテラルのリストしか取れません。WHERE id IN (SELECT …) は無効で、誤った行を黙って返すのではなく失敗します。結果は create_sheet と append_to_sheet でそのままスプレッドシートに、または create_doc でドキュメントに書き出せます。
作成後に読み直してから報告
mutate の後、木構造は Google から読み直され、お客様が受け取る要約は、要求した内容ではなく、その読み取り結果から作られます。これは、エージェントが、プラットフォームが実際に強制変更または拒否した内容を、自信満々に語ってしまう失敗を防ぐ、小さいながら重要な規律です。
確認なしでは実行しないこと
予算を持つエージェントは、影響範囲が制限されている場合にのみ役立ちます。そのため、支出の権限はプロンプトではなくサーバー側で制限されています。Meta のキャンペーン、広告セット、広告は、呼び出し側による上書きなしで必ず PAUSED で作成されます。実際の広告費を発生させうるステータス切り替え(set_meta_campaign_status、set_google_ads_status、set_microsoft_ads_status、set_reddit_ads_status、set_linkedin_ads_status、set_pinterest_ads_status、set_x_ads_status、set_openai_ads_status など、すべての広告プラットフォームに1つずつあります)は、明示的な確認フラグなしでは実行されません。同じゲートは、すでに有効な親の下で、有効な Google Ads の広告グループ、広告、キーワードを作成する場合にも適用されます。それは次のオークションで直ちに配信されるためです。削除も同様に確認が必要です。生成の面では、hermoso_capabilities が実行前に各モデルの正確なクレジットコストを公開し、すべてのレンダリングは見積もり額を確保した後で実際のコストを精算するため、送信に失敗した場合は黙って課金されるのではなく返金されます。
Google Ads アカウントの接続
Google 広告は、Hermoso の設定 → コネクターで、Google 自身の OAuth フローを通して接続します。パスワードがモデルを通ることはありません。Google 広告の接続はブランド単位で共有されるため、ブランドのチーム全体が、一人ひとりが再認可することなく、1つの接続で作業できます。
クリエイティブの部分
キャンペーン管理は、運用するものがあって初めて役立ちます。同じサーバーが、Meta、Google、LinkedIn の広告ライブラリをまたいで、市場で何が成果を上げているかを調べ、お客様の実際の商品を基にした完成画像・動画クリエイティブを100以上のモデルでレンダリングし、アセットをアップロードします。そのため、「何を配信すべきか」と「それを作る」は、2つのツールではなく1つの会話になります。詳しくは、マーケティング MCP の概要、ツール一覧、または両方を運用している場合は Meta Ads MCP をご覧ください。
よくある質問
Google 広告の MCP サーバーはありますか?
はい。Hermoso の MCP サーバーは、あらゆる MCP クライアントから Google 広告を作成・管理できます。検索またはディスプレイの木構造を作るには create_google_ads_campaign、create_google_ads_ad_group、create_google_ads_ad、add_google_ads_keywords を使います。Performance Max には create_google_ads_performance_max_campaign、設定には set_google_ads_budget、set_google_ads_bidding、set_google_ads_targeting、キーワードプランナーのリサーチには google_ads_keyword_ideas、レポートには list_google_ads_campaigns と google_ads_report を使います。ショッピング キャンペーンの背後にある商品フィードは Merchant Center の読み取りで確認でき、有効化には確認が必要な set_google_ads_status を使います。
AI エージェントは Google 広告キャンペーンを作成できますか?
はい。木構造全体を、一時的なリソース ID を使った1回のアトミックな操作で作成します。キャンペーン、広告グループ、レスポンシブ検索広告またはディスプレイ広告、キーワードがまとめて作成されます。広告が拒否された場合は、予算も作成されないため、孤立したオブジェクトの後片付けは不要です。ドライランモードでは、何も作成せずにライブ API に対して木構造を検証します。
Performance Max キャンペーンを作成できますか?
はい。create_google_ads_performance_max_campaign は、予算、キャンペーン、ターゲティング、アセットグループ、すべてのアセットリンクを1回のアトミックな操作で作成します。Google がそれらを一緒に要求するためです。キャンペーンは一時停止の状態で作成され、エージェントが報告する前に読み直されます。Google のアセットの最低要件は、送信前に適用されます。見出し3〜15個、長い見出し1〜5個、説明文2〜5個、ビジネス名、ロゴ、マーケティング用画像、正方形のマーケティング用画像を最低1つずつ。PMax はコンバージョンのみに入札するため、有効なコンバージョン アクションがないアカウントでは、最適化できないキャンペーンを作らずに、構築を拒否します。ショッピング フィード(小売)の PMax も同様に動作します。merchantCenterId を渡すと、キャンペーンが Merchant Center のカタログを宣伝し、feedLabel で1つのフィードに絞り込めます。読み取り結果には、Google が実際に保存した Merchant Center アカウントとフィードラベルが表示されます。
Google Merchant Center と連携できますか?
はい。同じ Google の接続を通じて、読み取りと書き込みの両方に対応しています。エージェントは、お客様のアカウントから見える Merchant Center アカウントを一覧表示し、フィードの商品(ショッピングや小売の Performance Max キャンペーンが実際に配信しているカタログ)を読み取り、Google が出しているアカウント全体の問題を読み取れます。商品が表示されない理由がわかるのは、ここだけです。不承認の商品にはインプレッションがなく、Google 広告のレポートに表示するものがないからです。Google は、API が応答する前に、Hermoso の Cloud プロジェクトを Merchant Center アカウントに一度登録することを求めており、そのための機能があります。書き込みにも対応しています。create_merchant_data_source、毎日変わる価格と在庫状況の変更のための upsert_merchant_product と update_merchant_product、確認必須の delete_merchant_product と delete_merchant_data_source。Google は商品の書き込みを API データソースにしか受け付けないため、Hermoso は書き込み可能なフィードを自動的に見つけ、アカウントに複数ある場合は名前を挙げて拒否します。
キーワードリサーチもできますか?
はい。google_ads_keyword_ideas は Google のキーワードプランナーを呼び出し、キーワード、ランディングページの URL、サイト全体のいずれかを起点に、実際の月間検索ボリューム、競合性、掲載位置の上位の入札額の範囲を返します。エージェントは、その結果をそのまま add_google_ads_keywords に渡すか、Google スプレッドシートに書き出せます。
Google 広告の予算の支出を開始してしまうことはありますか?
明示的な確認がある場合にのみ可能です。set_google_ads_status が実際の費用を発生させるスイッチです。すでに有効な親の下に有効な子を作成すると、次のオークションで直ちに配信されるため、親が稼働中であれば、同じ確認が create_google_ads_ad_group、create_google_ads_ad、add_google_ads_keywords も保護します。除外キーワードは支出を制限するだけなので、ゲートの対象にはなりません。
レポートは実行できますか?
はい。google_ads_report は任意の GAQL を受け付けるので、エージェントは必要な切り口を自由に要求できます。GAQL は SQL ではないことに注意してください。サブクエリがなく、IN はリテラルのリストしか取れないため、WHERE id IN (SELECT …) は無効です。結果は Google スプレッドシートまたはドキュメントに直接書き出せます。
どの入札戦略やターゲティングを設定できますか?
6種類の入札戦略、キャンペーンのスケジュール、地域と言語のターゲティングに対応しています。地域ターゲットを名前で解決するには find_google_ads_locations を使います。予算は set_google_ads_budget で設定し、キーワードは除外設定とキーワードごとの CPC に対応しています。
エージェントは私の Google アカウントのパスワードを取得しますか?
いいえ。Hermoso の設定 → コネクターで、Google 自身の OAuth フローを通して Google 広告を接続し、結果のトークンは Hermoso が保持します。エージェントは Hermoso のツールだけを呼び出します。Google 広告の接続はブランド単位で共有されるため、チーム全体が1つの接続で作業できます。
クリエイティブも作成できますか?
はい。同じサーバーが、競合の広告を調べ、コンセプトを設計し、100以上のモデルで実際の商品を合成した完成画像・動画クリエイティブをレンダリングし、upload_google_ads_asset でアセットをアップロードできます。そのため、リサーチ、クリエイティブ、キャンペーンの構築が1つの会話で行えます。
Google 広告を一度接続すれば、エージェントが市場をリサーチし、広告を書き、木構造を構築し、結果を報告できます。支出の前には必ず確認ゲートがあります。
無料で始める → MCP のドキュメントを読む →