Skip to main content
Glama
willhou

AdMob MCP Server

by willhou

AdMob MCP サーバー

Claude を Google AdMob API に接続し、広告収益データへの会話型インターフェースを提供するローカルの Model Context Protocol サーバーです。

Deploy with Vercel

このサーバーを使用するには2つの方法があります:

  • ローカル stdio (1台のPCで Claude Code を使用): ./setup.sh を実行し、L を選択します。

  • Vercel + Claude.ai コネクタ (マルチデバイス): 上記のバッジをクリックし、docs/VERCEL.md に従います。または ./setup.sh を実行し、V を選択します。

前提条件

  • Node.js 18以上

  • AdMob API が有効な Google Cloud プロジェクト

  • OAuth 2.0 クライアント認証情報 — ローカルモードの場合は デスクトップアプリ タイプ、Vercel モードの場合は ウェブアプリケーション タイプ (Vercel 固有の設定については docs/VERCEL.md を参照してください)。

Related MCP server: Google Ads MCP Server

セットアップ

1. Google OAuth 認証情報の取得

  1. Google API コンソール にアクセスします

  2. プロジェクトを作成または選択します

  3. API ライブラリで AdMob API を有効にします

  4. 認証情報 > 認証情報を作成 > OAuth クライアント ID に進みます

  5. デスクトップアプリ を選択し、名前を付けて 作成 をクリックします

  6. JSON をダウンロード をクリックしてクライアントシークレットファイルをダウンロードします

  7. ダウンロードしたファイルをこのプロジェクトの secrets/ フォルダにコピーします

2. インストールと設定

cd admob-mcp
./setup.sh

セットアップスクリプトは以下の処理を行います:

  • Google OAuth JSON を検索し、secrets/client_secret.json にリネームします

  • 依存関係のインストールとビルドを行います

  • Google OAuth 認証のためにブラウザを開きます (トークンは secrets/token.json に保存されます)

  • Claude Code に MCP サーバーを登録します

更新されたスコープで再認証する場合 (例: 別の Google MCP を追加した後など):

./setup.sh --reauth

注: Google Cloud プロジェクトの OAuth 同意画面が公開されていない場合 (「テスト」ステータスのままの場合)、認証エラーが発生します。これを修正するには、アプリを公開するか、Google Cloud コンソール の OAuth 同意画面 > オーディエンス で Google アカウントをテストユーザーとして追加してください。

手動設定

setup.sh を使用したくない場合は、Claude Code の MCP 設定に以下を追加してください:

{
  "mcpServers": {
    "admob": {
      "type": "stdio",
      "command": "node",
      "args": ["/absolute/path/to/admob-mcp/dist/src/index.js"],
      "env": {
        "ADMOB_CREDENTIALS_PATH": "/absolute/path/to/admob-mcp/secrets/client_secret.json"
      }
    }
  }
}

コネクタ設定 (Vercel)

ラップトップ上の Claude Code だけでなく、すべてのデバイスの Claude.ai で AdMob ツールを利用したい場合はこちらを使用してください。

  1. リポジトリをフォークします。

  2. 上記の Deploy with Vercel をクリックします。

  3. Vercel Storage タブで Upstash Redis をプロビジョニングします。これにより、コードで使用する KV_* 環境変数が自動的に注入されます。(Vercel はスタンドアロンの「Vercel KV」を非推奨にしましたが、Upstash は同じバックエンドです。)

  4. Google Cloud OAuth クライアント (ウェブアプリ) を作成します。承認済みリダイレクト URI = https://<your-deploy>.vercel.app/api/oauth/callback。

  5. Vercel で環境変数を設定します: GOOGLE_CLIENT_ID, GOOGLE_CLIENT_SECRET, OAUTH_REDIRECT_URI, CONNECTOR_TOKEN (openssl rand -hex 32 で生成)。余分な空白に注意してください。

  6. https://<your-deploy>.vercel.app/api/setup にアクセスし、CONNECTOR_TOKEN を貼り付けて「Authorize」をクリックし、Google サインインを完了します。これにより、サーバー があなたに代わって AdMob データを読み取る権限が与えられます。

  7. Claude.ai の 設定 → コネクタ → カスタムコネクタを追加 に進み、URL に https://<your-deploy>.vercel.app/api/mcp を貼り付けます。OAuth クライアント ID とシークレットは空のままにし、追加 をクリックしてから 接続 をクリックします。ブラウザタブが /oauth/authorize で開くので、同じ CONNECTOR_TOKEN を一度貼り付けます。残りは Claude.ai が処理します。

2つの OAuth フローは同じ CONNECTOR_TOKEN によって制御されます:Google ↔ サーバー (ステップ 6) および Claude.ai ↔ サーバー (ステップ 7)。トラブルシューティングを含む完全なガイド: docs/VERCEL.md。

使用方法

自然言語で AdMob データについて Claude に質問するだけです。初回使用時、Claude は自動的に list_accounts を呼び出して AdMob アカウントを検出し、どのアカウントを使用するか尋ねます。その後は、適切なツールを使用して質問に回答します。

ツール

コア API ツール

ツール

説明

list_accounts

AdMob パブリッシャーアカウントを一覧表示

get_account

特定のアカウントの詳細を取得

list_ad_units

ページネーション付きで広告ユニットを一覧表示

list_apps

ページネーション付きでアプリを一覧表示

generate_network_report

ディメンション、指標、フィルタ、並べ替えを完全に制御してカスタムネットワークレポートを生成

generate_mediation_report

ディメンション、指標、フィルタ、並べ替えを完全に制御してカスタムメディエーションレポートを生成

レポートツール

ツール

プロンプト例

revenue_trend

「過去30日間の収益傾向を表示して」

ad_unit_performance

「パフォーマンスが低い広告ユニットはどれ?」

country_breakdown

「国別の収益内訳を表示して」

format_comparison

「広告フォーマット間のパフォーマンスを比較して」

platform_comparison

「iOS と Android のパフォーマンスはどう?」

fill_rate_analysis

「フィルレートはどのくらい?どこで収益を逃している?」

mediation_ad_source_performance

「どのメディエーション広告ソースのパフォーマンスが良い?」

wow_revenue

「週ごとの収益の変化を表示して」

top_apps

「収益の高いアプリはどれ?」

ecpm_trend

「広告ユニットごとの eCPM の推移を表示して」

収益最適化ツール

ツール

プロンプト例

revenue_drop_diagnosis

「今週収益が下がったんだけど、何が起きた?」

serving_restriction_impact

「プライバシー制限によってどれくらい収益を失っている?」

app_version_impact

「最新のアプリ更新は広告収益に影響した?」

sdk_version_check

「古い SDK バージョンのユーザーは eCPM が低い?」

month_over_month

「今月と先月を比較してどう?」

high_impression_low_ctr

「どの広告プレースメントを最適化すべき?」

os_version_performance

「特定の OS バージョンが広告収益を下げている?」

mediation_group_analysis

「どのメディエーショングループを最適化する必要がある?」

country_ecpm_opportunity

「国別に eCPM を改善できる場所はどこ?」

format_by_country

「どの国でどの広告フォーマットが最も効果的?」

revenue_pacing

「先月の収益ペースに追いついている?」

best_worst_days

「今月、最も良かった日と悪かった日は?」

weekday_vs_weekend

「平日と週末、どちらの収益が高い?」

platform_format_matrix

「プラットフォームごとにどのフォーマットが最も効果的?」

revenue_concentration

「収益はどれくらい分散している?」

ad_source_trend

「メディエーションソースの傾向はどう?」

app_deep_dive

「トップアプリの詳細な内訳を教えて」

anomaly_detection

「過去30日間で異常な日があれば教えて」

ad_source_instance_comparison

「各メディエーションソース内の広告インスタンスを比較して」

yoy_comparison

「今月と昨年の同月を比較してどう?」

プロジェクト構造

  • src/index.ts — stdio エントリポイント (Claude Code)。

  • src/tools.ts — 36個のツール定義すべて; registerTools(server, getClient)。

  • src/auth.ts — Google OAuth ヘルパー (getAuthenticatedClient, authorizeViaLocalServer)。

  • src/token-store.ts — TokenStore インターフェース + FileTokenStore (ローカル) + KvTokenStore (Vercel KV)。

  • src/oauth-store.ts — コネクタ OAuth フロー用の KV ベースのストレージ (認証コード + アクセストークン)。

  • src/http-auth.ts — HTTP エンドポイント用のタイミング安全なベアラーチェック (CONNECTOR_TOKEN との同期、KV 発行アクセストークンとの非同期)。

  • src/admob-client.ts, src/helpers.ts — REST クライアントおよびレポートフォーマットユーティリティ。

  • api/mcp.ts — Vercel 関数: HTTP MCP エンドポイント (Streamable HTTP, ベアラー保護, 401時に WWW-Authenticate を出力)。

  • api/setup.ts — Vercel 関数: Google ↔ サーバー OAuth フローを開始するフォーム。

  • api/oauth/callback.ts — Vercel 関数: Google のリダイレクト URI; KV にトークンを保存。

  • api/oauth/authorize.ts, api/oauth/token.ts, api/oauth/register.ts — PKCE および動的クライアント登録を使用した Claude.ai ↔ サーバー OAuth 2.1 フローを実装する Vercel 関数。

  • api/well-known/oauth-authorization-server.ts, api/well-known/oauth-protected-resource.ts — Claude.ai が OAuth エンドポイントを検出するための RFC 8414 / RFC 9728 メタデータ。

  • setup.sh — インタラクティブなセットアップスクリプト ([L]ocal / [V]ercel / [B]oth)。

  • docs/VERCEL.md — フォーク用デプロイガイド。

  • AGENTS.md — プロジェクトの標準ノート (CLAUDE.md はこれへのシンボリックリンク)。

開発

npm run build     # Compile TypeScript
npm run start     # Run the server directly (stdio)

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Connects Google AdSense to MCP clients like Claude and Cursor, enabling earnings summaries, detailed reports, site status checks, and more via natural language.
    14 npm
    5
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables natural language access to Google Ads campaigns, accounts, and performance metrics via Claude, with tools for managing ad groups, keywords, budgets, and visualizing data.
    1
    -
  • A
    license
    A
    quality
    C
    maintenance
    Enables querying mobile ad revenue from Google AdMob and Huawei Petal Ads through natural language, with read-only tools for account, app, ad unit, and revenue reports.
    11
    36 npm
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Connects Claude Desktop to your Google Ads account, allowing you to analyze and manage campaigns, ad groups, and keywords using natural language.
    MIT