Skip to main content
Glama
willhou

AdMob MCP Server

by willhou

AdMob MCP Server

Локальный сервер Model Context Protocol, который подключает Claude к Google AdMob API, предоставляя вам диалоговый интерфейс для работы с данными о доходах от рекламы.

Deploy with Vercel

Два способа использования этого сервера:

  • Локальный stdio (Claude Code на одном компьютере): запустите ./setup.sh и выберите L.

  • Vercel + Claude.ai Connector (несколько устройств): нажмите на кнопку выше, затем следуйте docs/VERCEL.md. Или запустите ./setup.sh и выберите V.

Предварительные требования

  • Node.js 18+

  • Проект в Google Cloud с включенным AdMob API

  • Учетные данные клиента OAuth 2.0 — тип Desktop app для локального режима, тип Web application для режима Vercel (см. docs/VERCEL.md для настройки под Vercel).

Related MCP server: Google Ads MCP Server

Настройка

1. Получение учетных данных Google OAuth

  1. Перейдите в Google API Console

  2. Создайте или выберите проект

  3. Включите AdMob API в библиотеке API

  4. Перейдите в Credentials > Create Credentials > OAuth client ID

  5. Выберите Desktop app, дайте ему имя и нажмите Create

  6. Нажмите Download JSON, чтобы загрузить файл с секретом клиента

  7. Скопируйте загруженный файл в папку secrets/ в этом проекте

2. Установка и настройка

cd admob-mcp
./setup.sh

Скрипт настройки выполнит следующие действия:

  • Найдет и переименует JSON-файл Google OAuth в secrets/client_secret.json

  • Установит зависимости и выполнит сборку

  • Откроет браузер для авторизации Google OAuth (токен будет сохранен в secrets/token.json)

  • Зарегистрирует MCP-сервер в Claude Code

Для повторной авторизации с обновленными областями доступа (например, после добавления другого Google MCP):

./setup.sh --reauth

Примечание: Если экран согласия OAuth вашего проекта Google Cloud не был опубликован (т.е. он все еще находится в статусе "Тестирование"), вы увидите ошибку авторизации. Чтобы исправить это, либо опубликуйте приложение, либо добавьте свою учетную запись Google в качестве тестового пользователя в разделе OAuth consent screen > Audience в Google Cloud Console.

Ручная настройка

Если вы предпочитаете не использовать 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)

Используйте этот способ, если хотите, чтобы инструменты AdMob были доступны в Claude.ai на любом устройстве, а не только в Claude Code на вашем ноутбуке.

  1. Сделайте форк репозитория.

  2. Нажмите Deploy with Vercel выше.

  3. Подготовьте Upstash Redis на вкладке Vercel Storage — он автоматически внедрит переменные окружения KV_*, которые использует наш код. (Vercel объявил устаревшим автономный "Vercel KV"; Upstash использует тот же бэкенд.)

  4. Создайте клиент Google Cloud OAuth (Web app). Авторизованный 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 → Settings → Connectors → Add custom connector: вставьте https://<your-deploy>.vercel.app/api/mcp в качестве URL, оставьте OAuth Client ID и Secret пустыми, нажмите Add, затем нажмите Connect. Откроется вкладка браузера по адресу /oauth/authorize — вставьте тот же CONNECTOR_TOKEN один раз. Claude.ai сделает все остальное.

Два потока OAuth защищены одним и тем же CONNECTOR_TOKEN: Google ↔ сервер (шаг 6) и Claude.ai ↔ сервер (шаг 7). Полное руководство, включая устранение неполадок: docs/VERCEL.md.

Использование

Просто задайте Claude вопрос о ваших данных AdMob на естественном языке. При первом использовании 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

"Влияют ли определенные версии ОС на мой доход от рекламы?"

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 — хранилище на базе KV для потока OAuth коннектора (коды авторизации + токены доступа).

  • src/http-auth.ts — проверка bearer-токена с защитой от тайминговых атак для HTTP-эндпоинтов (синхронизация с CONNECTOR_TOKEN, асинхронная проверка с токенами доступа, выданными KV).

  • src/admob-client.ts, src/helpers.ts — REST-клиент и утилиты форматирования отчетов.

  • api/mcp.ts — функция Vercel: HTTP MCP-эндпоинт (Streamable HTTP, защищен bearer-токеном, выдает WWW-Authenticate при 401).

  • api/setup.ts — функция Vercel: форма, которая инициирует поток OAuth Google ↔ сервер.

  • api/oauth/callback.ts — функция Vercel: URI перенаправления Google; сохраняет токены в KV.

  • api/oauth/authorize.ts, api/oauth/token.ts, api/oauth/register.ts — функции Vercel, реализующие поток OAuth 2.1 Claude.ai ↔ сервер с PKCE и динамической регистрацией клиента.

  • api/well-known/oauth-authorization-server.ts, api/well-known/oauth-protected-resource.ts — метаданные RFC 8414 / RFC 9728, чтобы Claude.ai мог обнаружить эндпоинты OAuth.

  • 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.
    23 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