Token导航 LogoToken导航TokenDH.com
Google Play Console logo
开发工具未说明官方级别未说明来源级核验

Google Play Console

MCP Server

一个提供Google Play控制台分析和报告数据访问的MCP服务器,允许查询应用指标、崩溃报告、ANR数据和性能洞察。

工具数

11

提示词数

0

GitHub Stars

0

资源数

0
TypeScriptClaude开发工具Claude DesktopClaudeCursorWindsurf

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

TylerThompson

提供方

TylerThompson

最后核验

2026/5/17 20:19

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

Google Play控制台MCP服务器

MCP(模型上下文协议)服务器,提供对Google Play控制台分析和报告数据的访问。此服务器允许您直接从您的Google Play Console帐户查询应用程序指标、崩溃报告、ANR数据和性能见解。

特性

  • 应用程序概述:基于生命体征的用户覆盖范围(distinctUsers)、崩溃/ANR率和估计的受影响用户,以及审查得出的评级(Play不会通过这些API公开安装/获取计数;该工具返回 notes 解释一下)
  • 游戏开发者报告:崩溃率和ANR率、错误计数/问题/报告和性能指标(唤醒、渲染/启动缓慢、唤醒、LMK)
  • 安卓发布商API:通过完全访问 android_publisher_invoke (跟踪、列表、捆绑包、应用内产品、订阅、评论、购买、订单等——请参阅 android_publisher_help 和那个 官方REST参考)
  • 应用搜索:查找链接到您的Play Console帐户的应用程序
  • 设置验证:使用确认凭据和API访问 verify_setup

先决条件

  1. Google Play主机帐户:您需要使用至少一个已发布应用程序访问Google Play Console帐户
  2. 服务账号:在Google云控制台中创建服务帐户,访问Google Play开发者API
  3. API访问:在Google Cloud项目中启用Google Play开发者API和Play开发者报告API

设置

1.创建服务帐户

  1. 谷歌云控制台
  2. 选择您的项目或创建一个新项目
  3. 转到“IAM和管理员”→ “服务帐户”
  4. 点击“创建服务帐户”
  5. 为其命名(例如,“游戏控制台api”)
  6. 授予其“扮演开发人员管理员”角色或适当的权限
  7. 点击“完成”

2.生成服务帐户密钥

  1. 在列表中查找您的服务帐户
  2. 点击三个点→ “管理密钥”
  3. 点击“添加密钥”→ “创建新密钥”
  4. 选择“JSON”格式
  5. 下载密钥文件并确保其安全

3.授予API访问权限

  1. 谷歌游戏控制台
  2. 选择您的应用程序
  3. 转到“设置”→ “API访问”
  4. 点击“创建服务帐户”
  5. 按照说明链接您的服务帐户
  6. 授予必要的权限(至少:“查看应用程序信息”)

4.安装MCP服务器

cd /path/to/your/mcp-servers
git clone git@github.com:TylerThompson/google-play-console-mcp.git
cd mcp-google-play-console
npm install
npm run build

5.自动生成MCP配置

运行安装脚本并选择您的客户端/编辑器(Cursor、Claude Code、Claude Desktop、Windsurf或Antigravity)。它只为该客户端生成一个配置文件。

./setup.sh

脚本写入有效的 mcpServers 使用您的凭据和本地登录 dist/index.js 路径。

对于CI/CD入职脚本,您可以非交互式地运行安装程序:

./setup.sh --non-interactive \
  --client cursor \
  --firebase-config "/path/to/service-account.json" \
  --package-name "com.example.yourapp" \
  --force

你也可以通过 --client-email, --private-key,以及 --project-id 直接代替 --firebase-config.

用法

此服务器使用 MCP over stdio (产卵 node 随着编译 dist/index.js).任何支持该标准的客户端 mcpServers 挡块--command, args,可选 env--可以运行它。

在配置客户端之前:npm install && npm run build 并使用 绝对路径dist/index.jsargs (除非你的客户记录了一个可靠的工作目录)。

MCP客户端配置位置

客户端在哪里添加服务器
光标项目: .cursor/mcp.json · 用户: ~/.cursor/mcp.json (macOS/Linux)或 %USERPROFILE%\.cursor\mcp.json (Windows)。游标将两者合并;项目条目会覆盖同名的用户条目。
克劳德代码项目(git友好): .mcp.json 在repo根目录中· 用户/本地: ~/.claude.json.支持 ${VAR}${VAR:-default}.mcp.json--看 克劳德代码MCP。你也可以跑步 claude mcp add --transport stdio -- node /path/to/dist/index.js 并通过以下方式传递秘密 --env 旗帜。
克劳德桌面macOS: ~/Library/Application Support/Claude/claude_desktop_config.json · 窗户: %APPDATA%\Claude\claude_desktop_config.json · Linux: ~/.config/Claude/claude_desktop_config.json
帆板运动~/.codeium/windsurf/mcp_config.json (macOS/Linux)或 %USERPROFILE%\.codeium\windsurf\mcp_config.json (Windows),或 命令面板 → “Windsurf:配置MCP服务器”。
谷歌反重力~/.gemini/antigravity/mcp_config.json (macOS/Linux)或 %UserProfile%\.gemini\antigravity\mcp_config.json (Windows)。打开Antigravity一次,使文件夹存在。看 反重力MCP.

使用相同 mcpServers 以上所有内容的JSON形状:将生成的对象合并到文件的现有对象中 mcpServers 如果你已经有其他服务器。

编辑配置后: 完全重新启动应用程序(退出,而不仅仅是关闭窗口),以便重新加载MCP。

示例 mcpServers 条目(由生成 setup.sh)

{
  "mcpServers": {
    "google-play-console": {
      "command": "node",
      "args": ["/absolute/path/to/google-play-console-mcp/dist/index.js"],
      "env": {
        "GOOGLE_PLAY_CLIENT_EMAIL": "your-service-account@your-project.iam.gserviceaccount.com",
        "GOOGLE_PLAY_PRIVATE_KEY": "-----BEGIN PRIVATE KEY-----\n...\n-----END PRIVATE KEY-----\n",
        "GOOGLE_PLAY_PROJECT_ID": "your-project-id",
        "GOOGLE_PLAY_PACKAGE_NAME": "com.example.yourapp"
      }
    }
  }
}

可用工具

get_app_overview

生命体征和评论快照:碰撞/ANR率,受影响用户(来自 distinctUsers),来自生命体征的活跃用户风格汇总,来自 reviews.list,加 notes (此处无法从Google API获取安装计数)。

参数:

  • packageName (可选):应用程序的包名称
  • timeRange (可选):度量的时间范围(“7d”、“30d”、“90d”)

get_crash_metrics

获取应用程序的崩溃率指标,包括详细的细分。

参数:

  • packageName (可选):应用程序的包名称
  • versionCode (可选):按特定应用程序版本代码筛选
  • apiLevel (可选):按Android API级别过滤
  • deviceModel (可选):按设备型号筛选
  • country (可选):按国家代码筛选
  • timeRange (可选):度量的时间范围(“1d”、“7d”、“30d”)

get_anr_metrics

获取应用程序的ANR(应用程序未响应)率指标。

参数:get_crash_metrics

get_error_counts

获取应用程序的错误计数指标。

参数:get_crash_metrics

get_error_issues

搜索并列出应用程序的错误问题。

参数:

  • get_crash_metrics
  • pageSize (可选):要返回的结果数(默认值:20)
  • pageToken (可选):下一页的分页标记

get_error_reports

获取特定错误问题的详细错误报告。

参数:

  • packageName (可选):应用程序的包名称
  • issueId (必填):用于获取报告的错误问题的ID
  • 与相同的过滤器 get_crash_metrics
  • pageSize (可选):要返回的结果数(默认值:20)
  • pageToken (可选):下一页的分页标记

get_performance_metrics

获取性能指标(过度唤醒、渲染缓慢、启动缓慢等)。

参数:

  • packageName (可选):应用程序的包名称
  • metricType (必填):要检索的性能指标类型

- “过度觉醒” - “渲染速度缓慢” - “慢启动率” - “stuck background wakelockrate” - “lmkrate”

  • 与相同的过滤器 get_crash_metrics

search_apps

在您的Google Play Console帐户中搜索应用程序。

参数:

  • query (必填):搜索查询以查找应用程序
  • pageSize (可选):要返回的结果数(默认值:10)

verify_setup

验证您的服务帐户和应用程序访问的设置和权限。

已执行的检查:

  • Play Console应用程序访问(getApp 通话成功)
  • 播放开发者报告API访问(getCrashRateMetrics 通话成功)

参数:

  • packageName (可选):应用程序的包名称(默认使用配置的包)

android_publisher_help

返回使用说明 android_publisher_invoke:允许的API根、路径示例和指向 Android发布商API v3 REST参考.

android_publisher_invoke

呼叫任何 谷歌蜜蜂 androidpublisher 使用点符号的v3方法(edits.tracks.list, inappproducts.get, monetization.subscriptions.list等等)。传递方法参数 requestParams二进制上传需要 media.body 此工具不支持。

参数:

  • operation (必填):例如。 edits.insert, edits.bundles.list, reviews.reply
  • requestParams (可选):与API期望的字段相同(packageName, editId, track, requestBody, token, …)
  • packageName (可选):填充 requestParams.packageName 当省略时;否则,将使用配置的默认包

为您的服务帐户授予 播放控制台权限 这与你所说的相匹配(查看与管理发布、财务数据等)。看 权限设置.md.

你可以问的问题(丰富的答案)

用简单的语言询问您的MCP连接助手。它应该选择正确的工具,在需要时进行链式调用(例如 edits.insertedits.tracks.listedits.delete 只读草稿),并解释 notes 和API错误。

稳定性、错误和性能(报告API工具)

  • *“给我一个过去30天我的应用程序的健康概述——崩溃、ANR、评级,以及我应该从笔记字段知道的任何事情。”* → get_app_overview
  • *“过去7天我们的崩溃率是多少,大约有多少用户受到影响?”* → get_crash_metrics (以及概述 distinctUsers-基于上下文)
  • *“ANR是否正在恶化?显示过去30天的ANR指标。”* → get_anr_metrics
  • *“列出上周最常见的播放错误问题,并总结模式。”* → get_error_issues (然后用 get_error_reports 在A issueId)
  • *“提取错误问题X的详细堆栈跟踪/报告。”* → get_error_reports 说完这个 issueId
  • *“本周平台错误报告的噪音有多大?”* → get_error_counts
  • *“我们看到的是缓慢的冷启动还是过度的清醒?”* → get_performance_metrics 为了 slowstartrate, excessivewakeuprate等等。
  • *“比较美国版本代码420和430的碰撞信号。”* → get_crash_metricsversionCodecountry 过滤器

商店存在、发布和工件(Android Publisher)

使用 android_publisher_help 如果模型需要路径示例,那么 android_publisher_invoke.

  • *“存在哪些曲目,生产中推出了哪些曲目(版本,推出百分比)?”* → edits.insert 然后 edits.tracks.listedits.tracks.gettrack: "production" (使用以下命令放弃编辑 edits.delete 如果你只想读一读)
  • *“此编辑附加了哪些应用程序捆绑包或APK?”* → edits.bundles.list, edits.apks.list
  • *“我们的默认上市标题和简短描述是什么?”* → edits.listings.list / edits.listings.getlanguage
  • *“这条赛道在哪些国家有?”* → edits.countryavailability.gettrack
  • *“列出此应用程序的设备层配置。”* → applications.deviceTierConfigs.list

货币化和目录

  • *“列出该包的所有应用内产品(SKU)。”* → inappproducts.list (分页 tokenrequestParams 如果需要)
  • *“显示SKU的详细信息 premium_unlock.”* → inappproducts.getsku
  • *“列出订阅产品并检查特定订阅的基本计划和优惠。”* → monetization.subscriptions.list那么 monetization.subscriptions.getproductId (使用 android_publisher_help 和那个 REST文档 为了 basePlans / offers 子资源)

评论

  • *总结最近的评论:主题、明星分布和粗略情绪* → reviews.list 通过 android_publisher_invoke (概述工具已经聚合了一些评级统计数据,但列表给出了文本)
  • *“获取评论id的全文…”* → reviews.getreviewId

购买、订阅和订单(敏感)

只有您的服务帐户有权 金融/秩序 权限。

  • *“查找购买令牌的订阅状态…”* → purchases.subscriptionsv2.gettoken
  • *“列出最近作废的购买。”* → purchases.voidedpurchases.list 使用REST文档中的所需时间/查询参数

发现和设置

  • *“此帐户可以看到哪些Play应用程序?搜索‘Wisco’。”* → search_apps
  • *“我们的MCP设置对报告和此包有效吗?”* → verify_setup

仅凭此MCP无法回答的问题

  • *“精确游戏控制台安装/获取/收入仪表板”* --不以与统计UI相同的方式在开发人员报告+发布者上公开;使用Play Console或导出/BigQuery管道,然后将数据单独连接到您的助手。

示例工具调用(JSON)

概述和生命体征

{
  "tool": "get_app_overview",
  "arguments": {
    "timeRange": "30d"
  }
}

特定版本的崩溃

{
  "tool": "get_crash_metrics",
  "arguments": {
    "versionCode": "123",
    "timeRange": "7d"
  }
}

然后深入查看错误问题

{
  "tool": "get_error_issues",
  "arguments": {
    "timeRange": "7d",
    "pageSize": 10
  }
}
{
  "tool": "get_error_reports",
  "arguments": {
    "issueId": "abc123def456",
    "pageSize": 5
  }
}

生产轨迹(发布者API:创建编辑→ 列出曲目→ 删除编辑)

{
  "tool": "android_publisher_invoke",
  "arguments": {
    "operation": "edits.insert",
    "requestParams": {}
  }
}
{
  "tool": "android_publisher_invoke",
  "arguments": {
    "operation": "edits.tracks.get",
    "requestParams": {
      "editId": "",
      "track": "production"
    }
  }
}
{
  "tool": "android_publisher_invoke",
  "arguments": {
    "operation": "edits.delete",
    "requestParams": {
      "editId": ""
    }
  }
}

列出应用内产品

{
  "tool": "android_publisher_invoke",
  "arguments": {
    "operation": "inappproducts.list",
    "requestParams": {}
  }
}

故障排除

常见问题

  1. 身份验证错误:确保您的服务帐户具有正确的权限,并链接到您的Google Play控制台
  2. 找不到应用程序:验证包名称是否正确,以及您是否有权访问该应用程序
  3. 速率限制:Google Play API有速率限制。如果你击中了它们,请等待几分钟再重试
  4. 缺失数据:如果您的应用程序没有足够的用户或数据,则某些指标可能不可用

有关完整权限设置和验证指南,请参阅:

调试模式

在调试模式下运行服务器以查看详细日志:

DEBUG=* npm run dev

发展

建筑

npm run build

在发展中奔跑

npm run dev

测试

npm test

验证播放权限(不重写配置)

npm run verify:permissions -- /path/to/service-account.json com.example.app

许可证

MIT许可证-有关详细信息,请参阅许可证文件。

贡献

  1. 分叉存储库
  2. 创建要素分支
  3. 进行更改
  4. 如果适用,添加测试
  5. 提交拉取请求

支持

对于问题和疑问:

  • 检查上面的故障排除部分
  • 在GitHub存储库上提交问题
  • 查看Google Play开发者API文档

目录标签

目录标签

TypeScriptClaude开发工具应用分析本地部署崩溃报告性能监控GooglePlayAPI开发者工具

支持客户端

Claude DesktopClaudeCursorWindsurf

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

token

工具数量(toolCount,工具数)

11

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明token部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP