AdSense数据连接服务器

一个连接Google AdSense与MCP客户端的服务器,提供收益概览、详细报告、站点状态监控等功能。

  • by AppsYogi-com
  • TypeScript
  • 本地部署
  • 5 星标
  • 更新于
在 GitHub 查看 AppsYogi-com/adsense-mcp-server

使用说明

AdSense MCP服务器

Google AdSense MCP服务器——将Google AdSense连接到Claude、Cursor和其他MCP客户端。

特性

  • 📊 收益摘要 --快速概述今天、昨天、过去7天和每月收入
  • 📈 详细报告 --生成包含维度(日期、地点、国家、广告单位)和指标的报告
  • 🔄 期间比较 --比较时间段之间的性能
  • 🌐 站点状态 --检查所有网站的审批状态
  • ⚠️ 警报和政策问题 --监控账户健康状况,及早发现违规行为
  • 💰 付款历史记录 --查看付款历史记录和待处理收益
  • 📦 广告单位 --列出广告单元并获取嵌入代码
  • 📤 CSV导出 --导出报告以供进一步分析
  • 💾 缓存 --SQLite缓存可实现更快的重复查询
  • 🔐 安全 --OAuth令牌存储在操作系统密钥链中,只读范围

快速开始

# Install globally
npm install -g @appsyogi/adsense-mcp-server

# Set up OAuth credentials
adsense-mcp init

# Verify setup
adsense-mcp doctor

# Start the server (for MCP clients)
adsense-mcp run

先决条件

1.创建Google Cloud OAuth凭据

您需要在Google Cloud Console中创建自己的OAuth凭据:

  1. 首选 谷歌云控制台
  2. 创建新项目或选择现有项目
  3. 启用 AdSense管理API:
    • 转到“API和服务”→ “图书馆”
    • 搜索“AdSense Management API”
    • 点击“启用”
  4. 创建OAuth凭据:
    • 转到“API和服务”→ “凭据”
    • 点击“创建凭据”→ “OAuth客户端ID”
    • 选择“桌面应用程序”
    • 命名它(例如,“AdSense MCP”)
    • 点击“创建”
  5. 复制 客户端ID 和 客户端密钥
  6. 添加测试用户(应用程序处于测试模式时需要):
    • 转到“API和服务”→ “OAuth同意屏幕”
    • 滚动到“测试用户”部分
    • 点击“添加用户”
    • 添加您将用于身份验证的Google帐户电子邮件
    • 点击“保存”

注: 虽然您的应用程序的发布状态为“测试”,但只有测试用户可以进行身份验证。您最多可以添加100个测试用户。

2.配置AdSense MCP

运行init命令并输入您的凭据:

adsense-mcp init

这将:

  • 提示输入您的客户端ID和客户端密码
  • 打开浏览器进行谷歌身份验证
  • 将刷新令牌安全地存储在操作系统密钥链中

安装

npx @appsyogi/adsense-mcp-server init

快速开始

1.初始化(OAuth设置)

npx adsense-mcp init

这将:

  • 打开浏览器进行谷歌登录
  • 请求以只读方式访问您的AdSense数据
  • 让您选择默认帐户(如果您有多个)
  • 安全地存储凭据

2.验证设置

npx adsense-mcp doctor

3.添加到您的MCP客户端

VS代码副本(~/.vscode/mcp.json)

{
    "servers": {
        "adsense": {
            "command": "npx",
            "args": ["@appsyogi/adsense-mcp-server", "run"],
            "type": "stdio"
        }
    }
}

克劳德桌面(~/Library/Application Support/Claude/claude_desktop_config.json)

{
    "mcpServers": {
        "adsense": {
            "command": "npx",
            "args": ["@appsyogi/adsense-mcp-server", "run"]
        }
    }
}

可用工具

工具 说明
adsense_list_accounts 列出您有权访问的所有AdSense帐户
adsense_earnings_summary 快速收益概览(今天、昨天、过去7天、本月)
adsense_generate_report 生成具有自定义维度和指标的详细报告
adsense_compare_periods 比较两个时间段的性能
adsense_list_sites 列出所有网站及其审批状态
adsense_list_alerts 获取帐户警报和警告
adsense_list_policy_issues 检查是否违反政策
adsense_list_payments 查看付款历史记录和待处理收益
adsense_list_ad_units 列出所有广告单元
adsense_get_ad_code 获取广告单元的HTML嵌入代码
adsense_export_csv 将报告数据导出为CSV

对话示例

查看收益

You: How's my AdSense doing today?

Claude: 📊 **AdSense Earnings Summary**

| Period | Earnings | Impressions | Clicks | CTR |
|--------|----------|-------------|--------|-----|
| Today | $8.45 | 3,200 | 28 | 0.88% |
| Yesterday | $15.67 | 6,200 | 52 | 0.84% |
| Last 7 Days | $98.45 | 42,000 | 380 | 0.90% |
| This Month | $345.67 | 150,000 | 1,350 | 0.90% |

You're tracking 16% ahead of last month at this point! 🎉

检查站点状态

You: Is my new site approved yet?

Claude: 📋 **Site Status**

| Site | Status | Notes |
|------|--------|-------|
| example.com | ✅ READY | Ads serving |
| blog.example.com | ⏳ GETTING_READY | Under review |
| newsite.com | ⚠️ NEEDS_ATTENTION | Insufficient content |

生成报告

You: Show me earnings by country for last week

Claude: [Generates report with COUNTRY_NAME dimension]

CLI命令

adsense-mcp init

设置OAuth身份验证并选择默认帐户。

# Interactive setup
npx adsense-mcp init

# Set specific default account
npx adsense-mcp init --account pub-1234567890123456

# Use service account (advanced)
npx adsense-mcp init --service-account /path/to/key.json

adsense-mcp doctor

验证您的设置并检查帐户运行状况。

npx adsense-mcp doctor

adsense-mcp run

启动MCP服务器(通常由您的MCP客户端调用)。

# Use default account
npx adsense-mcp run

# Use specific account
npx adsense-mcp run --account pub-9876543210987654

# Verbose logging
npx adsense-mcp run --verbose

多账户支持

如果您有多个AdSense帐户,您可以:

  1. 选择默认值 init
  2. 覆盖 --account 旗帜
  3. 使用 adsense_list_accounts 查看所有帐户的工具
  4. 通过 accountId 任何工具的参数

数据存储

所有数据都存储在本地 ~/.config/adsense-mcp/:

  • config.json -默认帐户和设置
  • tokens.json -OAuth刷新令牌(加密)
  • cache.sqlite -报告缓存以实现更快的响应

安全

  • 只读访问 -此服务器仅请求 adsense.readonly 范围
  • 安全令牌存储 -令牌使用操作系统密钥链加密(通过keytar)
  • 仅限本地 -所有数据都保留在您的机器上
  • 无遥测 -我们不收集任何使用数据

速率限制

AdSense API有严格的速率限制(每分钟100个请求)。此服务器:

  • 智能缓存响应(基于数据类型,5分钟-24小时)
  • 对重试实施指数回退
  • 跟踪请求率以避免达到限制

故障排除

“未找到令牌”错误

跑 npx adsense-mcp init 设置身份验证。

“超出速率限制”错误

请稍候,然后重试。服务器将自动重试并回退。

“找不到帐户”错误

请确保在安装过程中选择了有效的帐户。跑 npx adsense-mcp doctor 查看可用帐户。

发展

# Clone the repo
git clone https://github.com/AppsYogi-com/adsense-mcp-server.git
cd adsense-mcp-server

# Install dependencies
npm install

# Build
npm run build

# Run in dev mode
npm run dev

# Test locally
node dist/cli/index.js doctor

许可证

麻省理工学院

贡献

欢迎投稿!请打开问题或PR。

学分

内置: