Skip to main content
Glama
willhou

AdMob MCP Server

by willhou

AdMob MCP 服务器

一个本地 Model Context Protocol 服务器,将 Claude 连接到 Google AdMob API,为您提供一个访问广告收入数据的对话式界面。

Deploy with Vercel

使用此服务器的两种方式:

  • 本地 stdio(单机版 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 模式使用 Web 应用 类型(有关 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)

  • 将 MCP 服务器注册到 Claude Code

若要使用更新后的作用域重新授权(例如在添加另一个 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.ai 中都能使用 AdMob 工具,而不仅仅是在笔记本电脑上的 Claude Code 中使用,请使用此方法。

  1. Fork 此仓库。

  2. 点击上方的 Deploy with Vercel。

  3. 在 Vercel Storage 选项卡中配置 Upstash Redis —— 它会自动注入我们代码使用的 KV_* 环境变量。(Vercel 已弃用独立的“Vercel KV”;Upstash 是相同的后端。)

  4. 创建一个 Google Cloud OAuth 客户端(Web 应用)。授权重定向 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,点击授权,并完成 Google 登录。这将授权 服务器 代表您读取 AdMob 数据。

  7. 在 Claude.ai → 设置 → 连接器 → 添加自定义连接器:粘贴 https://<your-deploy>.vercel.app/api/mcp 作为 URL,将 OAuth 客户端 ID 和密钥留空,点击 添加,然后点击 连接。浏览器会打开 /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 — 用于连接器 OAuth 流程的 KV 存储(授权码 + 访问令牌)。

  • src/http-auth.ts — 用于 HTTP 端点的计时安全承载检查(与 CONNECTOR_TOKEN 同步,与 KV 颁发的访问令牌异步)。

  • src/admob-client.ts, src/helpers.ts — REST 客户端和报告格式化工具。

  • api/mcp.ts — Vercel 函数:HTTP MCP 端点(可流式传输 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 — RFC 8414 / RFC 9728 元数据,以便 Claude.ai 可以发现 OAuth 端点。

  • setup.sh — 交互式设置脚本 ([L]ocal / [V]ercel / [B]oth)。

  • docs/VERCEL.md — Forker 部署指南。

  • 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.
    16 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
    D
    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
    27 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