Skip to main content
Glama
kevin-namba

google-ads-mcp

by kevin-namba

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
GOOGLE_ADS_CLIENT_IDYesOAuth client ID.
GOOGLE_ADS_READ_ONLYNoSet to true to not expose write tools.
GOOGLE_ADS_API_VERSIONNoGoogle Ads API version.v25
GOOGLE_ADS_CUSTOMER_IDNoDefault customer ID. Can be overridden by each tool's customer_id argument.
GOOGLE_ADS_CLIENT_SECRETYesOAuth client secret.
GOOGLE_ADS_REFRESH_TOKENYesOAuth refresh token.
GOOGLE_ADS_DEVELOPER_TOKENYesGoogle Ads developer token.
GOOGLE_ADS_LOGIN_CUSTOMER_IDNoMCC ID used when operating child accounts through an MCC.

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
google_ads_list_accessible_customersA

連携した Google アカウントが直接アクセスできる顧客 ID を一覧する。**読み取り専用。**名前は返らないので、google_ads_account_info で確かめる。

google_ads_account_infoA

顧客アカウントの名前・通貨・タイムゾーン・MCC かどうかを返す。**読み取り専用。**疎通確認と、予算を触る前の通貨確認に使う。

google_ads_reportA

Google 広告の実績(費用・表示・クリック・CV・CV 値)を取得する。読み取り専用。costMicros は 100 万で割ると通貨 1 単位(通貨に依らず一律)。conversions は小数になりうる。int64 の項目は proto3 JSON の規則で文字列として返る。CTR / CPC は返り値から自分で計算すること。

google_ads_list_objectsA

キャンペーン / 広告グループ / 広告を一覧する。**読み取り専用。**配信状態は ENABLED / PAUSED(ACTIVE ではない)。日予算はキャンペーンにしか無い。REMOVED は除外する。

google_ads_searchA

任意の GAQL(Google Ads Query Language)を googleAds:searchStream で実行する。**読み取り専用。**型付きツールで取れない項目(検索語句・キーワード別実績・アセット・地域別など)に使う。フィールド名は snake_case(例: SELECT campaign.name, metrics.clicks FROM campaign WHERE segments.date DURING LAST_30_DAYS)。返り値のキーは camelCase、int64 は文字列。

google_ads_keywordsA

Keyword Planner でキーワードの月間平均検索ボリューム・競合性・入札レンジを取る。**読み取り専用。**入札額はマイクロ単位(1,000,000 = 通貨 1 単位)。関連キーワードの候補も返る。

google_ads_create_budgetA

キャンペーン予算を作る。Google 広告では予算がキャンペーンとは別のリソースなので、キャンペーンより先にこれを作る。金額は通貨 1 単位(円なら円)で渡す——マイクロ換算はサーバー側で行う。

google_ads_create_campaignA

キャンペーンを作る(検索 / P-MAX)。既定は PAUSED(作成と配信開始は別の操作にする)。budget_resource_name は google_ads_create_budget の戻り値。検索では検索パートナー・ディスプレイへの配信を既定で切ってある。P-MAX に手動入札は無く、広告グループも広告も無い(代わりに google_ads_create_asset_group でアセットグループを作る。無いと配信できない)。

google_ads_create_ad_groupA

検索キャンペーンに広告グループを作る。日予算は持てない——Google 広告の予算はキャンペーンにしかない。既定は PAUSED。

google_ads_add_keywordsA

広告グループにキーワードを追加する。negative=true で除外キーワードになる(あとから通常のキーワードには変えられないので、間違えたら消して作り直すことになる)。

google_ads_create_responsive_search_adA

レスポンシブ検索広告を作る。見出しは 3〜15 本(各 30 文字以内)、説明文は 2〜4 本(各 90 文字以内)。字数は全角を 2 と数えるので、日本語では上限が半分(見出し 15 / 説明文 45)。既定は PAUSED。

google_ads_create_asset_groupA

P-MAX のアセットグループを作る(P-MAX に広告グループも広告も無い)。テキスト・画像・アセットグループ・リンクを1 回の mutate で作る(Google の要求)。画像はローカルのファイルパスか http(s) の URLで指定する(1 枚 5120 KB まで)。必須: 見出し 3〜15(30字)/ 長い見出し 1〜5(90字)/ 説明 2〜5(90字)/ ビジネス名 1(25字)/ 横長画像 1〜20(1.91:1)/ 正方形画像 1〜20(1:1)/ ロゴ 1〜5(1:1)。字数は全角を 2 と数えるので、日本語では上限が半分。1 つでも足りないと Google がリクエスト全体を拒否するので、先に validate_only=true で検算するとよい。既定は PAUSED。

google_ads_update_statusA

キャンペーン / 広告グループ / 広告の配信を開始(ENABLED)・停止(PAUSED)する。配信中は ENABLED(ACTIVE ではない)。ENABLED にすると課金が始まりうる。広告(kind=ad)の ID は「広告グループID~広告ID」の複合キー。削除は google_ads_remove。

google_ads_update_budgetA

キャンペーン予算の日予算を変える。宛先はキャンペーンではなく予算リソース(google_ads_list_objects が返す campaignBudget.id)。金額は通貨 1 単位(円なら円)。

google_ads_removeA

キャンペーン / 広告グループ / 広告を削除する。**元に戻せない。**止めたいだけなら google_ads_update_status で PAUSED にする。広告(kind=ad)の ID は「広告グループID~広告ID」の複合キー。

google_ads_mutateA

型付きツールで足りない書き込みを通す最後の手段(googleAds:mutate)。validate_only=true にすると Google 側で検算だけ行い何も変更しないので、複雑な操作は先にこれで通してから本番に送ること。

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.9/5.0

Scored across 16 tools

Disambiguation4/5

Each tool targets a distinct resource and action (budget, campaign, ad group, keywords, asset group, status, report). Minor overlap exists between google_ads_search, google_ads_report, and google_ads_list_objects (all reads), and google_ads_mutate overlaps with the typed create/update tools, but the descriptions clearly position search and mutate as escape hatches for what typed tools can't do.

Naming Consistency4/5

All tools share a consistent google_ads_ prefix and mostly follow a verb_noun pattern (create_budget, create_campaign, update_status, list_objects, add_keywords). A few are noun-only deviations (account_info, report, keywords, search, mutate) but the overall convention is predictable and readable.

Tool Count4/5

16 tools is at the upper edge but justified given Google Ads' complexity across budgets, campaigns, ad groups, ads, keywords, asset groups, reporting, and mutations. Each tool maps to a distinct operation, with search and mutate serving as deliberate catch-alls rather than filler.

Completeness4/5

The surface covers the core lifecycle: create budget/campaign/ad group/keywords/RSA/asset group, update status and budget, remove, plus reporting and arbitrary GAQL reads. Gaps exist (no typed update for ad/ad group content beyond status, no conversion-tracking management), but the google_ads_mutate and google_ads_search escape hatches let agents work around these.

Maintenance

ActivityMaintained
ResponsivenessNo issues