关于 Google AdSense
Google AdSense 是一个只读 MCP 服务,通过 AdSense Management API v2 提供账户、广告资源、政策和报告数据。它面向需要查询 AdSense 信息的 Agent,并返回结构化 JSON。
主要功能
- 01只读访问 AdSense 数据
- 02查询账户、付款和提醒
- 03查看站点与广告资源
- 04读取政策问题和广告代码
- 05生成已保存或自定义报告
- 06分页列出资源
适用场景
- 01检查账户状态及收入付款
- 02查看广告单元和广告代码
- 03排查站点政策问题
- 04按日期和国家生成收益报告
MCP 相关
该 MCP 服务通过 stdio 向客户端提供 AdSense Management API v2 的只读工具,并使用只读 OAuth scope。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
npx -y @sirmacke/adsense-mcpADSENSE_ACCESS_TOKEN密钥Optional short-lived OAuth access token.ADSENSE_CLIENT_IDOAuth desktop client ID. Required when not using an access token.ADSENSE_CLIENT_SECRET密钥OAuth desktop client secret. Required when not using an access token.ADSENSE_REFRESH_TOKEN密钥OAuth refresh token. Required when not using an access token.ADSENSE_ACCOUNTOptional AdSense account resource name. The first accessible account is used when omitted.本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
26收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| pageSize | integer | 否 | 要返回的资源数量上限。 |
| pageToken | string | 否 | 用于获取下一页的上一次响应中的令牌。 |
详细介绍
AdSense MCP
一个 MCP 服务,提供对 AdSense Management API v2 的只读访问:账号、付款、提醒、政策问题、网站、广告资源、广告代码,以及已保存或临时生成的报告。
该服务使用只读 OAuth 范围 https://www.googleapis.com/auth/adsense.readonly。它不会写入 AdSense 账号。
安装
发布后,可通过 MCP 客户端使用 npx -y @sirmacke/adsense-mcp 运行。配置 ADSENSE_ACCESS_TOKEN,或同时配置 ADSENSE_CLIENT_ID、ADSENSE_CLIENT_SECRET 和 ADSENSE_REFRESH_TOKEN。
安全
OAuth 访问令牌、刷新令牌和客户端密钥均为凭据。请勿将其放入此代码库、问题跟踪器、Shell 历史记录或与他人共享的 MCP 配置中。如果凭据泄露,请立即在 Google Cloud 中撤销;请参阅 SECURITY.md。
设置
- 在 Google Cloud 中启用 AdSense Management API,并创建 OAuth Desktop 客户端。
- 获取已获准使用
https://www.googleapis.com/auth/adsense.readonly范围的刷新令牌。请妥善保密。 - 将
.env.example复制到安全的环境配置中,并填写ADSENSE_ACCESS_TOKEN,或填写 OAuth 客户端 ID、密钥和刷新令牌。 - 安装并构建:
npm install
npm run build
一次性 OAuth 授权(无需 gcloud)
从 Google Cloud 下载 OAuth Desktop 客户端 JSON,然后运行:
$env:ADSENSE_OAUTH_CLIENT_FILE = "C:\secure\adsense-client.json"
$env:ADSENSE_TOKEN_FILE = "C:\secure\adsense-oauth.json"
npm run authorize
该命令会在 localhost 回调中打开 Google 授权页面,并且只将客户端 ID、客户端密钥和刷新令牌保存到私有令牌文件中。将这些值复制到 MCP 配置的 ADSENSE_CLIENT_ID、ADSENSE_CLIENT_SECRET 和 ADSENSE_REFRESH_TOKEN 字段中。请勿让 External 授权页面一直处于 Testing 状态:其刷新令牌会在七天后过期。
Claude Desktop
当前版本的 Claude Desktop 使用扩展。运行 npm run package,然后前往“设置”→“扩展”→“高级设置”→“安装扩展”,安装 build/adsense-mcp.mcpb。系统会安全地提示输入 OAuth 值。若安装版本支持传统配置,请改为添加:
{
"mcpServers": {
"adsense": {
"command": "node",
"args": ["/absolute/path/to/adsense-mcp/dist/index.js"],
"env": {
"ADSENSE_CLIENT_ID": "...",
"ADSENSE_CLIENT_SECRET": "...",
"ADSENSE_REFRESH_TOKEN": "..."
}
}
}
}
Codex
在 Codex MCP 配置中添加等效的服务定义,并使用相同的命令、参数和环境变量。该服务使用标准 MCP stdio 传输,可在两个客户端中运行。
工具
账号和账号状态
adsense_list_accountsadsense_get_accountadsense_list_child_accountsadsense_list_paymentsadsense_list_alertsadsense_get_ad_blocking_recovery_tagadsense_list_policy_issuesadsense_get_policy_issueadsense_list_sitesadsense_get_site
广告资源
adsense_list_ad_clientsadsense_get_ad_clientadsense_get_ad_client_ad_codeadsense_list_ad_unitsadsense_get_ad_unitadsense_get_ad_unit_ad_codeadsense_list_linked_custom_channelsadsense_list_url_channelsadsense_get_url_channeladsense_list_custom_channelsadsense_get_custom_channeladsense_list_linked_ad_units
报告
adsense_list_saved_reportsadsense_get_saved_reportadsense_generate_saved_reportadsense_generate_report
如果未提供 account,账户级工具会查找已配置的账户或首个可访问的账户。分页列表工具接受 pageSize 和 pageToken;传入返回的 nextPageToken 即可继续。特定资源的工具接受相应列表工具返回的规范名称。
adsense_list_payments 会返回已支付和未支付的收入,包括格式化金额;对于已支付的收入,还会返回入账日期。AdSense API 不会公开银行或付款方式的详细信息。
报告请求示例:metrics: ["ESTIMATED_EARNINGS", "PAGE_VIEWS", "CLICKS"]、dimensions: ["DATE", "COUNTRY_NAME"]、dateRange: "LAST_7_DAYS"、orderBy: ["-ESTIMATED_EARNINGS"]。
服务会返回结构化 JSON。由于 Agent 可以在需要 CSV 时将结构化响应转换为 CSV,因此特意省略了 API 中重复的 CSV 报告方法。
验证
npm test
npm run build
在线验证还需要上述 OAuth 值和一个 AdSense 账户。所有公开的端点均接受 AdSense 只读 OAuth 作用域。
发布
发布版本会同时发布到 npm 和官方 MCP Registry。注册表会存储来自 server.json 的发现元数据;可安装的服务本身则通过 npm 分发。
- 在
package.json、package-lock.json、server.json(包括其中的 npm 包条目)、mcpb/manifest.json以及src/index.ts中的 MCP 服务版本中,统一更新版本号。 - 运行
npm test和npm pack --dry-run,验证构建结果和发布包的内容。 - 将发布提交提交并推送到 GitHub。
- 使用
npm publish --access public发布公开的 scoped package。 - 如有必要,使用
mcp-publisher login github完成身份验证,然后运行mcp-publisher publish,发布版本匹配的server.json。
请先发布到 npm,再发布到 MCP Registry,因为注册表验证要求引用的公开包版本已存在。已发布的版本不可修改,因此如需更正,必须发布新版本。
许可证
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。