Model Context Protocol(MCP)は、大規模言語モデル(LLM)が外部のデータやアプリケーションと安全にやり取りできるようにするオープン標準です。Google 広告 MCP サーバーは、Google Ads API への標準化されたブリッジを提供します。これにより、AI エージェントは自然言語を使用してキャンペーン データを分析して取得できます。
コミュニティ リソースとサポート
GitHub リポジトリ: google-ads-mcp リポジトリで、デモや例を確認したり、バグを報告したり、機能を提案したりできます。
バグ報告や機能リクエストには、[問題] タブを使用します。
コミュニティ: Google 広告コミュニティの Discord の
#ads-api-ai-toolsチャンネルに参加します。
技術的概要
この MCP サーバーを実装することで、Google Ads API の認証、リソースの取得、データの解析用のカスタム「グルーコード」を作成する必要がなくなります。サーバーは、LLM が自律的に検出して呼び出すことができる特定のツールを公開します。
主な仕様
- プロトコル: MCP(Model Context Protocol)
- モード: 読み取り専用(現在のリリース)
- 言語: Python
- トランスポート: 標準入出力(
stdio) - 認証: OAuth 2.0 またはサービス アカウント
インタラクション ループの仕組み
- リクエスト: ユーザーが「今週のキャンペーンのパフォーマンスはどうですか?」などのクエリを送信します。
- 検出: LLM が利用可能なツールを検査し、
google-ads-mcp検索機能を特定します。 - 実行: MCP サーバーは、基盤となる Python ロジックを実行して Google Ads API をクエリします。
- コンテキストの挿入: 構造化された結果が LLM のコンテキスト ウィンドウに返されます。
- 回答: LLM はデータを統合して、人が読める形式の回答を生成します。
始める
Google 広告 MCP サーバーを設定して使用する手順は次のとおりです。
前提条件
構成を行う前に、Google 広告デベロッパー コンソールから次の認証情報を取得しておきます。
- 開発者トークン: 一意の 22 文字のアクセス文字列。
- プロジェクト ID: Google Cloud プロジェクト ID。
- OAuth 認証情報: OAuth2 クライアント ID とクライアント シークレットのペア、またはアプリケーションのデフォルト認証情報のセット。
構成
サーバーを MCP 互換ホストに統合するには、ホストの MCP 構成ファイル(settings.json など)に次のエントリを追加します。この構成の正確な場所とファイル名については、ホストのドキュメントをご覧ください。
JSON
{
"mcpServers": {
"google-ads-mcp": {
"command": "pipx",
"args": [
"run",
"--spec",
"git+https://github.com/googleads/google-ads-mcp.git",
"google-ads-mcp"
],
"env": {
"GOOGLE_PROJECT_ID": "YOUR_PROJECT_ID",
"GOOGLE_ADS_DEVELOPER_TOKEN": "YOUR_DEVELOPER_TOKEN"
}
}
}
}
Google Cloud へのデプロイ
この MCP サーバーは、ローカルでホストする代わりに、Google Cloud Run や他のクラウドベースのインフラストラクチャでホストできます。これは、サーバーを複数のエージェント間で共有する場合や、ウェブサービスとして実行する場合に便利です。
前提条件
- Google Cloud プロジェクト
gcloudコマンドライン ツールがインストールされ、認証され、アクティブなプロジェクトが構成されていること。gcloud config set project YOUR_PROJECT_ID
Docker イメージをビルドして push する
Cloud Build を使用すると、Docker をローカルにインストールしなくても、イメージをビルドして Artifact Registry に push できます。
Artifact Registry にリポジトリを作成します。
gcloud artifacts repositories create mcp-servers --repository-format=docker --location=us-central1イメージをビルドして送信します。
gcloud builds submit --tag us-central1-docker.pkg.dev/YOUR_PROJECT_ID/mcp-servers/google-ads-mcp:latest .この手順は、デプロイされたサーバーを最新バージョンに更新するたびに実行する必要があります。
Google Cloud Run にデプロイする
必要な環境変数を設定してください。
GOOGLE_PROJECT_ID: Google Cloud プロジェクト ID。GOOGLE_ADS_DEVELOPER_TOKEN: MCP サーバーで使用する開発者トークン。GOOGLE_ADS_MCP_OAUTH_CLIENT_ID: MCP サーバーで使用する OAuth クライアント ID。GOOGLE_ADS_MCP_OAUTH_CLIENT_SECRET: MCP サーバーで使用する OAuth クライアント シークレット。GOOGLE_ADS_MCP_BASE_URL: MCP サーバーにアクセスできるベース URL。これは、最初のデプロイ後に Google Cloud Run によって自動的に割り当てられます。環境変数はデプロイ後に更新できます。FASTMCP_HOST: FastMCP がすべての IP アドレスからの接続を受け入れるようにするには、これを 0.0.0.0 に設定します。
gcloud run deploy google-ads-mcp \
--image us-central1-docker.pkg.dev/YOUR_PROJECT_ID/mcp-servers/google-ads-mcp:latest \
--platform managed \
--region us-central1 \
--allow-unauthenticated \
--set-env-vars="GOOGLE_PROJECT_ID=YOUR_PROJECT_ID,GOOGLE_ADS_DEVELOPER_TOKEN=YOUR_DEVELOPER_TOKEN,GOOGLE_ADS_MCP_OAUTH_CLIENT_ID=YOUR_CLIENT_ID,GOOGLE_ADS_MCP_OAUTH_CLIENT_SECRET=YOUR_CLIENT_SECRET,GOOGLE_ADS_MCP_BASE_URL=YOUR_BASE_URL,FASTMCP_HOST=0.0.0.0"
MCP クライアントを構成する
デプロイ後、Cloud Run URL を使用するように MCP クライアント構成(~/.gemini/settings.json など)を更新します。
{
"mcpServers": {
"google-ads-mcp": {
"httpUrl": "https://your-cloud-run-url.a.run.app/mcp"
}
}
}
コア機能(ツール)
サーバーは、アカウントの検出とパフォーマンス レポート用に設計されたツールを公開します。
list_accessible_customers: 認証済みユーザーがアクセスできる Google 広告のお客様 ID とアカウント名のリストを返します。search: Google 広告クエリ言語(GAQL)リクエストを実行して、リソース指標、予算、ステータスを取得します。get_resource_metadata: Google Ads API リソースタイプ(「キャンペーン」など)に関するメタデータを取得します。これは、データの構造とクエリに使用できるフィールドを理解するのに役立ちます。
始めるためのプロンプトの例
サーバーにできることを尋ねる:
What can the google-ads-mcp server do?
お客様について尋ねます:
What customers do I have access to?
キャンペーンについて質問する:
How many active campaigns do I have?
How is my campaign performance this week?
Give me a report of the top spending campaigns split by device category over the
last 7 days for account 1234567890