Google Ads MCPの書き込み範囲|create_assetとラベル操作で変更できるもの・できないもの

Googleが公開しているGoogle Ads MCP server(以下、Google Ads MCP)に、アカウントへ書き込めるツールが初めて加わりました。2026年11月2日(協定世界時)リリースのv0.0.6で、アセットの作成、YouTubeへの動画のアップロード、ラベルの作成と付け外しを行う4つのツールが追加されています。一方でGoogleの開発者ガイドは「読み取り専用」と記載したままで、Google Ads MCPの書き込みで何を変えられるのかが分かりにくい状態です。
この記事では、AIエージェントにどこまで任せるかという運用ルールではなく、v0.0.6の公式実装が持つ書き込み能力の技術的な境界に絞って整理します。公式のリポジトリと開発者向け文書で確認した内容を中心に、報道でしか確認できない内容は分けて書きます。本記事は2026年11月12日時点の公開情報をもとに執筆しています。サーバーを起動して書き込む操作は行っておらず、挙動の説明はタグv0.0.6のソースコードと公式文書にもとづきます。
この記事の要点
- 追加されたもの:2026年11月2日(協定世界時)リリースのv0.0.6で、create_asset・upload_video_asset・manage_labels・manage_label_associationsの4ツール
- 変更できる範囲:アセットの新規作成、YouTubeへの動画登録、ラベルの作成・更新・削除と付け外しまで
- できない操作:キャンペーン・広告グループ・広告の作成と編集、予算・入札・ステータスの変更、キーワードの追加、アセットの紐づけ
- 2段階の確認:validate_onlyとチェックサムはパラメータの一致を確かめる仕組みで、人の承認をサーバーが確かめるものではない
- 既定の状態:同梱のtools_config.yamlでは書き込みが有効。labelsとassetsをfalseにすれば読み取り専用に戻せる
Google Ads MCPの書き込み対応で増えた4つのツール
Google Ads MCPで書き込みができるのは、v0.0.6で追加されたcreate_asset、upload_video_asset、manage_labels、manage_label_associationsの4つのツールです。Google Ads MCPとは、AIエージェントがMCP(AIのアプリが外部のツールを呼び出すための共通規格)を通じてGoogle広告のアカウントを扱えるようにする、Googleのオープンソースのサーバーです。v0.0.5までのタグ付きの版は、アカウントを読む3つのツールだけを提供していました。
v0.0.6のリリース記録と開発者ガイドの食い違い
GitHubのリリース記録(v0.0.6)によると、公開日時は2026年11月2日15時48分(協定世界時)で、日本時間では11月3日の未明です。変更点は、提案と確定の流れによるアセットとラベルの管理の実装と、バージョン番号の更新の2件です。PyPIのgoogle-ads-mcpにも同日に0.0.6が公開され、2026年11月12日時点の最新版です。
一方、GoogleのGoogle 広告 MCP サーバー: デベロッパー向け統合ガイド(最終更新日2026年10月30日)は、モードを「読み取り専用(現在のリリース)」とし、新しいアセットの作成はできないと書いています。公式ブログでの告知は確認できず、PPC Land(2026年11月9日)も見当たらないと報じています。ガイドの記載とリリースされた実装が食い違っているため、判断にはリポジトリ側の情報を優先してください。
4つのツールの変更対象と変更しない対象
ソースコード上、4つのツールが呼び出すGoogle Ads APIのサービスは、アセット、YouTube動画のアップロード、ラベル、ラベルの関連付けを扱うものだけです。入力、変わるもの、変わらないものを分けると次の表のようになります。
| ツール | 主な入力 | アカウント上で変わるもの | 変わらないもの・対象外 |
|---|---|---|---|
| create_asset | アセットの種類(テキスト・画像・YouTube動画・サイトリンク・コールアウト・構造化スニペットほか)、本文、最終URL、name | アセットが1件新しく作られる | 既存アセットの編集と削除、アカウント・キャンペーン・広告グループへの紐づけ |
| upload_video_asset | 動画ファイルのパス、タイトル、説明文、公開設定、チャンネルID | YouTubeに動画が登録される(既定は限定公開) | 動画アセットの作成、広告への組み込み |
| manage_labels | 操作(作成・更新・削除)、ラベル名、背景色、説明、ラベルID | ラベル本体が作成・更新・削除される | ラベルを付けた対象の設定 |
| manage_label_associations | 操作(付与・解除)、対象の種類とID、ラベルID | キャンペーン・アカウント・広告グループ・広告グループの条件へのラベルの付け外し | 広告へのラベル付け、対象の設定と配信状態 |
4つのツールはいずれも、配信中のキャンペーンや広告の設定値を直接は書き換えません。変わるのはアカウント内の素材と、管理用の目印であるラベルだけです。
書き込み対応でもできない操作
書き込みに対応しても、キャンペーンや予算を編集できるわけではありません。ソースコードを読んだ範囲では、次の操作に使うAPIのサービスはどこからも呼び出されておらず、このサーバーからは実行できません。
v0.0.6では実行できない主な操作
- 構成の変更:キャンペーン・広告グループ・広告の作成と編集
- 配信の制御:予算・入札単価・入札戦略の変更、キャンペーンや広告の一時停止と再開
- キーワード:キーワードと除外キーワードの追加・削除
- アセットの紐づけ:作成したアセットをアカウント・キャンペーン・広告グループへ結び付ける操作
- 既存アセット:作成済みのアセットの編集と削除
これらの操作は、Google広告の管理画面か、APIを直接呼び出す別のプログラムで行います。今後の版で範囲が広がるかは確認できた範囲では示されていないため、版が上がるたびにREADMEのツール一覧を見直してください。
create_assetとupload_video_assetで変更できる範囲
create_assetとupload_video_assetで変更できるのは、アカウントの中に新しい素材を増やすところまでです。作った素材を配信で使い始める操作は含まれないため、アセットの作成と配信への反映は分けて考える必要があります。
create_assetが作るのはアカウント内の素材まで
create_assetは、Google Ads APIのAssetServiceにアセットの作成を1件送るツールです。専用の引数があるのはテキスト、画像、YouTube動画、サイトリンク、コールアウト、構造化スニペットの6種類で、ほかの種類はextra_paramsにAPIの項目を直接書きます。画像はPNG、JPEG、GIFに対応し、サーバー側では20MBを上限に読み込みます。
画像をファイルのパスで渡せるのは、クライアントとサーバーを同じパソコンで動かすローカルのstdio接続のときだけで、Cloud RunなどのリモートのHTTP接続ではbase64の文字列で渡します。作成後は作られたアセットのIDを返すだけで、どこにも紐づけません。
配信に使うには紐づけが別に必要
Googleの開発者ガイド「Asset creation and usage」(最終更新日2026年10月30日)によると、アセットはアカウント内の対象に紐づけることで配信に使えるようになります。紐づけにはCustomerAssetやCampaignAsset、AdGroupAssetなどの別のリソースを使いますが、v0.0.6にはこれらを作るツールがありません。create_assetで作ったサイトリンクやコールアウトは、紐づけるまでは配信に使われない素材です。
業界メディアの報道でも、作ったサイトリンクがアセットライブラリに表示され、キャンペーンには紐づいていなかったという試行例が紹介されています。また、APIのAssetOperationのリファレンスでは操作は作成と更新だけで削除はなく、v0.0.6のcreate_assetも作成しか行わないため、試しに作ったアセットは残り続けます。検証用のものは、nameに用途と作成日を入れておくと見分けやすくなります。
upload_video_assetはYouTubeへの動画登録まで
upload_video_assetは、手元の動画ファイルをGoogle Ads API経由でYouTubeにアップロードするツールで、動画アセットそのものは作りません。公開設定の既定は限定公開で、公開はブランドチャンネルでのみ使えると説明されています。チャンネルIDを指定しなければ、広告アカウントに紐づくGoogle管理のチャンネルにアップロードされます。
アップロード後は、searchツールでyou_tube_video_uploadを照会して動画IDと処理状況を確かめ、そのIDをcreate_assetに渡して動画アセットを作ります。広告への組み込みは別の操作になり、このツールはローカルのstdio接続でしか使えません。
Performance Maxで使う画像アセットの入稿サイズや、審査で差し戻されやすい点については、以下の記事で詳しく解説しています。
manage_labelsとmanage_label_associationsで変更できる範囲
manage_labelsとmanage_label_associationsで変更できるのは、ラベル本体と、ラベルを付けた先との関連付けだけです。v0.0.6の書き込みツールで、既存のものを壊す更新をしうる注釈(destructiveHint)が付くのはこの2つだけです。
ラベル本体の作成・更新・削除
manage_labelsは、LabelServiceに作成、更新、削除の3種類の操作を送ります。作成ではラベル名が必須で、背景色(#FF0000のような16進数の色)と説明を任意で付けられます。更新ではラベルIDを指定し、名前、背景色、説明のうち渡した項目だけが書き換わります。
削除もラベルIDを指定するだけの操作なので、ラベルを集計や運用の目印にしているアカウントでは影響が大きくなります。MCPの仕様(スキーマ)でも注釈はあくまでヒントで、挙動を正確に表す保証はないとされているため、削除と更新は人が中身を確かめてから確定してください。
ラベルを付け外しできる4種類の対象
manage_label_associationsで付け外しできる対象は、キャンペーン(CAMPAIGN)、アカウント(CUSTOMER)、広告グループ(AD_GROUP)、広告グループの条件(AD_GROUP_CRITERION)の4種類です。広告グループの条件はキーワードなどを指し、「広告グループID~条件ID」の形で指定します。ラベルを付けても、対象のキャンペーンやキーワードの設定そのものは変わりません。
APIには広告にラベルを付けるAdGroupAdLabelServiceもありますが、v0.0.6の対象外です。ラベルを条件に対象を選ぶスクリプトや自動ルールがある場合は、ラベルの付け外しがそれらの対象範囲を変えることに注意してください。特定のラベルが付いたキャンペーンを止めるスクリプトがあれば、ラベルを1つ付けるだけで次の実行から停止の対象になります。
ラベル操作の前に確かめたい使われ方
- スクリプト:ラベル名で対象を絞り込むGoogle広告スクリプトがあるか
- 自動ルール:ラベルを条件の一部にした自動ルールがあるか
- レポート:ラベル別の集計を定例レポートや社内の区分に使っているか
- 共有の範囲:代理店と広告主など、複数の担当がラベルの意味を決めて使っているか
Google広告の運用をプロに任せたい方へ
ハーマンドットはGoogle広告を含む主要7媒体の広告運用を代行しています。アカウントは貴社所有のまま、AIと運用者が成果から逆算して改善します。現状アカウントの無料診断も受け付けています。
validate_onlyとチェックサムが確かめる範囲
validate_onlyとチェックサムの2段階が確かめているのは、確定時のパラメータが提案時と同じかどうかであり、人が承認したかどうかではありません。READMEはこれを「Propose & Confirm」と呼び、4つの書き込みツールすべてに適用しています。
提案と確定の2段階で動く仕組み
書き込みツールはvalidate_onlyを省略すると既定のtrueで動き、変更を確定せずに、人が読める形の変更内容(change_items)と64文字のチェックサムを返します。確定するには、同じパラメータとチェックサムを付けてvalidate_onlyをfalseにし、もう一度呼び出します。チェックサムが無いか一致しなければ、変更の前に拒否されます。
提案時には、対応していればAPI側のvalidate_onlyによる事前検証も行われます。APIのリファレンスでは、validate_onlyがtrueのリクエストは検証だけで実行されず、エラーだけが返るとされています。ただしupload_video_assetはAPIの事前検証を呼ばず、拡張子やファイルの有無といったサーバー内の確認だけで提案を返します。
チェックサムは人の承認の証明にならない
v0.0.6のpropose_and_confirm.pyでは、チェックサムは顧客IDと操作内容から計算するSHA-256の値で、秘密の鍵も有効期限も使われていません。提案の記録もサーバーに残らないため、チェックサムが示すのは確定時の内容が提案時と同じという一点だけです。動画では、ファイルの大きさと更新日時も計算に含めて差し替えに気づけるようにしています。
提案の応答には、変更内容をユーザーに示して確認を待つようにという指示文が入りますが、これはAIのモデルへの指示であり、人が承認したかをサーバーは確かめられません。承認の確認はMCPクライアントの設定や社内の手順で用意する必要があり、確定の呼び出しの前に人の許可を求められるかを、使うクライアントで確かめておきます。
認証と入力の検証と承認を分けて考える
安全性を考えるときは、認証、入力の検証、内容の一致の確認、人の承認を別々の仕組みとして見ます。v0.0.6のutils.pyには、Google広告のOAuthのスコープは1種類で、読み取りと書き込みのどちらを出すかはtools_config.yamlで決まるという趣旨のコメントがあります。認証の段階で読み取りだけに限る方法はありません。
| 仕組み | 確かめていること | 担う場所 | 確かめられないこと |
|---|---|---|---|
| OAuth認証 | 接続したGoogleアカウントでAPIを呼べるか | Google・MCPサーバー | 読み取りだけに限ること(スコープは1種類) |
| tools_config.yaml | どのツールをAIに見せるか | MCPサーバーの設定 | 見せたツールをどう使うか |
| APIのvalidate_only | 操作がAPIの検証を通るか | Google Ads API | 内容が意図どおりか(動画のアップロードは対象外) |
| チェックサム | 確定時の内容が提案時と同じか | MCPサーバー | 人が承認したか、いつ提案されたか |
| 人の承認 | 変更してよいか | MCPクライアントの設定・社内の手順 | サーバー側には記録が残らない |
サーバーが担うのはツールの出し分けとチェックサムまでで、人の承認はクライアントと社内の手順の側に残ります。どれかが欠ければ、意図しない書き込みを止める層がその分減ります。
AIエージェントにどこまで任せ、どこを人の承認に残すかという運用ルールの考え方は、以下の記事で詳しく解説しています。
tools_config.yamlで書き込みを止める設定
v0.0.6は同梱の設定のままだと書き込みツールが有効で、読み取り専用に戻すにはtools_config.yamlでlabelsとassetsをfalseにします。READMEも、厳密な読み取り専用にはこの2つをfalseにするよう案内しています。
既定の設定では書き込みツールが有効
同梱のtools_config.yamlには、customers、search、metadataに加えてlabels: trueとassets: trueの2行があります。設定ファイルは、環境変数GOOGLE_ADS_MCP_TOOLS_CONFIGで指定したファイル、作業ディレクトリのtools_config.yaml、同梱のファイルの順に探されるため、何もしなければ書き込みツールが有効です。
見落としやすいのは、開発者ガイドの設定例が版を固定せず、リポジトリのmainブランチから起動する書き方になっている点です。ガイドどおりに接続した環境でも、書き込みツールを含む版が動いている可能性があります。反対に、namespacesを列挙した独自の設定ファイルを置いている場合は、config.pyの実装上、labelsとassetsの行が無ければ2つとも無効です。
読み取り専用に戻す書き方とバージョンの固定
読み取り専用にするには、tools_config.yamlのnamespacesでlabelsとassetsをfalseにします。enabled_toolsでツールを個別に有効にすれば、ラベル操作を止めたままアセットの作成だけを残すこともできます。環境変数で指定したファイルが無い場合や書式に誤りがある場合は、サーバーが起動しません。
一方、作業ディレクトリに置く方法では、置き場所がずれると同梱の設定が使われます。起動時の作業ディレクトリは意識しにくいため、環境変数で場所を明示する方が確実です。READMEが示すpipx runの–specで版も固定すれば、更新でツールが増えても気づかないまま切り替わることを防げます。
読み取り専用で使うときの設定の要点
- 名前空間:namespacesでlabels: false・assets: falseにする
- 置き場所:GOOGLE_ADS_MCP_TOOLS_CONFIGで設定ファイルの場所を明示する
- 版の固定:pipx runの–specでgoogle-ads-mcp==0.0.6のように指定する
- 権限:接続するGoogleアカウントのアクセス権を用途に合わせて絞る
Google広告ヘルプ「Google 広告アカウントのアクセス権の概要」では、読み取り専用の権限はキャンペーンの閲覧やレポートが中心で、編集は標準以上の権限でできると整理されています。書き込みを使わない用途なら、接続するGoogleアカウントの権限も最小限にしておきます。
代理店や社内の担当者に付与している広告アカウントの権限を棚卸しする手順については、以下の記事で詳しく解説しています。
導入前にバージョンと書き込み範囲を点検する手順
導入前には、起動する版、見えているツール名、設定ファイル、接続するアカウント、承認と記録の手順を確かめます。次の点検表を上から埋めれば、書き込みの範囲を読み違えたまま本番のアカウントにつなぐ事故を防げます。
| 点検項目 | 確認する場所 | 確認の目安 |
|---|---|---|
| 起動する版 | MCPクライアントの設定の–spec | mainブランチではなく、google-ads-mcp==0.0.6のように固定されているか |
| 設定ファイルの場所 | 環境変数GOOGLE_ADS_MCP_TOOLS_CONFIG | 指定があり、指定先にファイルが実在するか |
| 設定ファイルの中身 | tools_config.yamlのnamespaces | 書き込みを使わないなら、labelsとassetsがfalseか |
| 見えているツール | MCPクライアントのツール一覧 | assets_やlabels_で始まる名前の有無が意図どおりか |
| 接続方式 | 起動方法(stdioかHTTPか) | 動画のアップロードと画像のパス指定はstdioだけで使える |
| APIのアクセスレベル | Google Cloudプロジェクト | 開発者ガイドではエクスプローラ・ベーシック・標準のいずれかが必要 |
| 接続するアカウント | 顧客IDとGOOGLE_ADS_LOGIN_CUSTOMER_ID | 書き込みを試すのは検証用のアカウントからか |
| 承認と記録 | クライアントの許可設定・作業記録 | 確定の前に人がchange_itemsを見る手順と、ラベル操作の記録があるか |
起動している版と公開ツール名の確かめ方
最初に見るのは、MCPクライアントの設定にある起動コマンドです。–specがgit+で始まるリポジトリのURLならmainブランチの最新状態が、google-ads-mcp==0.0.6ならその版が使われます。次に、接続中のツール一覧で書き込み系のツールが表示されているかを確かめます。
v0.0.6のREADMEでは、ツールは名前空間を前に付けた名前で表示され、assets_create_assetやlabels_manage_labelsのように見えます。この名前が一覧にあれば書き込みは有効です。接頭辞は設定で変えられるため、手順書やスキルにツール名を書いている場合は実際の一覧と名前が一致しているかも確かめます。
書き込みを試すときの記録と変更の確認
書き込みを試すのは、配信に影響しない検証用のアカウントからが安全です。作ったアセットはAPIから削除できず、ラベルの操作はスクリプトや集計に波及するため、日時、ツール名、顧客ID、提案の内容、確定した人、返ってきたIDを1行ずつ記録します。
変更の確認には、読み取り用のsearchツールでchange_eventを照会する方法があります。change_eventのリファレンスによると、直近30日の変更が対象で、変更の経路(client_type)や変更したユーザーのメールアドレスが分かり、反映に最大3分の遅れが出ることがあります。ただし対象の種類にASSETはあってもラベルに関する種類は含まれていないため、ラベル操作は自前の記録で追います。以下の記入例の日時やIDは、説明のための仮の数値例です。
| 記録項目 | 記入例(説明のための仮の数値例) |
|---|---|
| 日時 | 11月13日10時05分に提案、10時12分に確定 |
| ツール名 | assets_create_asset |
| 顧客ID | 123-456-7890(検証用アカウント) |
| 提案の内容 | コールアウト「送料無料」、name「test_callout_1113」 |
| 確定した人 | 運用担当A(change_itemsを画面で確認) |
| 返ってきたID | ツールの応答に表示されたアセットIDを転記 |
| 変更の確認 | change_eventでclient_typeがGOOGLE_ADS_APIの行を照合 |
社内で点検と記録を続けるのが難しい場合は、広告運用代行の担当者に、アカウントの設定確認や変更の記録を含めて任せる方法もあります。
自動で適用される変更を、承認のルールと変更履歴の監査で管理する考え方については、以下の記事で詳しく解説しています。
まとめ Google Ads MCPの書き込みは素材とラベルの操作まで
Google Ads MCPの書き込み対応はv0.0.6で4つのツールが加わったことで始まりましたが、変更できる範囲は素材とラベルに限られています。最後に要点を整理します。
- 書き込みの範囲は4つのツールに限られる。v0.0.6で変更できるのはアセットの新規作成、YouTubeへの動画登録、ラベルの作成・更新・削除と付け外しまでで、キャンペーン・予算・入札・キーワード・アセットの紐づけは対象外です。
- 2段階の確認は承認の代わりにならない。チェックサムは確定時の内容が提案時と同じことを確かめるだけなので、人の承認はMCPクライアントの設定と社内の手順で用意します。
- 既定では書き込みが有効になる。書き込みを使わない環境では、tools_config.yamlでlabelsとassetsをfalseにし、設定ファイルの場所を環境変数で、版をpipxの–specで固定します。
まずは無料で広告アカウント診断を
AIに広告アカウントを扱わせる仕組みは、版ごとに書き込みの範囲が変わり、公式の説明が追いつかないこともあります。どの変更を人が確認して反映したのかを説明できないと、配信の変化の原因を切り分けにくくなります。
ハーマンドットは、Google広告を含む主要7媒体の広告運用を代行しています。アカウントは貴社所有のまま閲覧権限を付与し、自社開発のAI運用基盤による判定や提案は必ず運用者がレビューしてから反映します。無料診断では、ムダ配信の特定や媒体配分の見直し案を確認できます。
無料アカウント診断は閲覧権限の共有だけで受けられ、契約は不要です。



