mcpField
G
Googleplayconsolemcp

Googleplayconsolemcp

本地服务
github.com开发工具724 周前更新

关于 Googleplayconsolemcp

Googleplayconsolemcp 是用于管理 Google Play 发布流程和 Android Vitals 的 Python MCP 服务,面向 Android 应用团队,涵盖构建上传、测试人员管理、分阶段发布和质量指标查询。

主要功能

  1. 01管理发布轨道和版本
  2. 02上传 APK 与 AAB 构建
  3. 03管理测试轨道人员
  4. 04查看崩溃与 ANR 指标
  5. 05检查电池相关 Vitals

适用场景

  1. 01在不同轨道发布或晋级构建
  2. 02分阶段推进、暂停或完成发布
  3. 03更新内部或封闭测试人员组
  4. 04查看崩溃、ANR 和电池指标

MCP 相关

它向 MCP 客户端提供 Google Play Console 发布、构建、测试人员和 Android Vitals 操作工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"GooglePlayConsoleMcp": {
"command": "uvx",
"args": [
"google-play-mcp"
],
"env": {
"GOOGLE_APPLICATION_CREDENTIALS": "<GOOGLE_APPLICATION_CREDENTIALS>"
}
}
}
}
启动命令uvx google-play-mcp
需要配置的环境变量
GOOGLE_APPLICATION_CREDENTIALS密钥Absolute path to the Google Cloud service account JSON key file

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypigoogle-play-mcp0.5.0

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Google Play Console MCP

Google Play Console MCP server

GooglePlayConsoleMcp MCP server MCP Badge License: MIT

一个 Python 模型上下文协议 服务,可让 AI 助手(Claude 等)直接管理 Google Play Store 的完整发布生命周期——从上传构建产物,到管理测试人员、分阶段发布和 Android Vitals。


快速开始

选项 A — uvx(推荐,无需安装)

运行一次即可。Claude 会在每次会话中自动启动和停止服务,你无需再进行任何操作。

claude mcp add google-play-mcp \
  -e GOOGLE_APPLICATION_CREDENTIALS=/path/to/service-account.json \
  -- uvx google-play-mcp

需要 uv——可使用 brew install uv 或 curl -Lsf https://astral.sh/uv/install.sh | sh 安装

选项 B — pip install

如果你更喜欢永久安装:

pip install google-play-mcp

claude mcp add google-play-mcp \
  -e GOOGLE_APPLICATION_CREDENTIALS=/path/to/service-account.json \
  -- google-play-mcp
选项 C — HTTP(本地服务)

仅当你想通过 HTTP 传输而非 stdio 进行连接时才需要:

# Terminal 1 — start the server
GOOGLE_APPLICATION_CREDENTIALS=/path/to/service-account.json \
  uvx google-play-mcp --transport http --port 8080

# Terminal 2 — register with Claude
claude mcp add --transport http google-play-mcp http://localhost:8080

**stdio 的工作方式:**使用选项 A 和 B 时,无需手动启动服务。 Claude 会在会话开启时于后台启动进程,并在会话结束时将其关闭。无需维护。


功能

轨道与发布
工具描述
list_tracks列出所有轨道(内部、alpha、beta、production)、发布版本及国家/地区可用性
get_track_info获取特定轨道的详细状态、发布比例和发布说明
create_release在任意轨道创建或替换发布版本,并设置发布比例、发布说明和目标国家/地区
update_release更新发布比例、暂停、恢复或完成现有发布
promote_release在轨道之间提升发布版本(例如 internal → alpha → beta → production)
构建产物管理
工具描述
list_artifacts列出所有 APK 和 AAB,以及对应的版本代码和 SHA 哈希值
upload_artifact上传 APK 或 AAB,并一步在某个轨道上创建发布版本
upload_to_internal_sharing将构建上传至 Internal App Sharing,并获取可分享的下载 URL
测试人员管理
工具描述
get_testers获取内部/封闭测试的测试人员邮箱地址和 Google 群组
update_testers替换内部或封闭测试轨道的测试人员列表
Android Vitals
工具描述
get_crash_rate按版本代码统计每日崩溃率和用户感知崩溃率
get_anr_rate按版本代码统计每日 ANR 率和用户感知 ANR 率
get_vitals_summary综合展示崩溃与 ANR 概览,并提供不良行为阈值指标
get_wakelock_rate按版本代码统计每日后台唤醒锁卡住率(电池健康状况)
get_wakeup_rate按版本代码统计每日过度唤醒率(电池健康状况)

前置条件

  1. uv — 安装指南
  2. 一个已下载 JSON 密钥的 Google Cloud 服务账号。
  3. 已将该服务账号添加到 Google Play Console 并授予相应权限(见下文)。
  4. 已在你的 Google Cloud 项目中启用以下 API:
所需的 Play Console 权限
工具所需的最低权限
upload_artifact、create_release、update_release、promote_release、update_testers发布到生产环境、排除设备并使用 Google Play 应用签名
upload_to_internal_sharing发布到测试轨道
list_tracks、get_track_info、list_artifacts、get_testers查看应用信息并下载批量报告(只读)
get_crash_rate、get_anr_rate、get_vitals_summary、get_wakelock_rate、get_wakeup_rate查看应用信息并下载批量报告(只读) + 启用 Reporting API

重要提示: Release Manager 不会授予 Reporting API 访问权限。你还必须同时在账号级别和 单个应用级别启用 查看应用信息并下载批量报告(只读),Vitals 工具才能正常工作。


Claude Desktop 集成

将以下内容添加到 ~/Library/Application Support/Claude/claude_desktop_config.json(macOS):

{
  "mcpServers": {
    "google-play": {
      "command": "uvx",
      "args": ["google-play-mcp"],
      "env": {
        "GOOGLE_APPLICATION_CREDENTIALS": "/absolute/path/to/service-account.json"
      }
    }
  }
}

保存后重启 Claude Desktop。


服务账号设置

  1. 在 GCP 项目中前往 IAM 与管理 → 服务账号。
  2. 创建一个服务账号(或使用现有账号),并下载 JSON 密钥。
  3. 在 Google Play Console → 设置 → API 访问权限中:
    • 关联 Google Cloud 项目。
    • 找到服务账号 → 管理 Play Console 权限。
    • 在账号权限下,启用查看应用信息并下载批量报告(只读)。
    • 在每个应用的应用权限下,启用:
      • 查看应用信息并下载批量报告(只读)
      • 发布到生产环境… (如果需要写入权限)
    • 点击应用 → 邀请用户。

必须同时在账号级别和单个应用级别授予权限。 仅授予账号级别权限不足以使用 Reporting API。


工具参考

list_tracks
package_name : str  — e.g. "com.example.myapp"

返回所有轨道及其发布版本、分阶段发布百分比、状态和国家/地区可用性。


get_track_info
package_name : str
track        : str  — "internal" | "alpha" | "beta" | "production" (default: "production")

返回易于阅读的摘要,以及包含状态、分阶段发布百分比、版本代码和版本说明的发布信息。


create_release
package_name       : str
track              : str        — "internal" | "alpha" | "beta" | "production"
version_codes      : list[int]  — e.g. [1042]
rollout_percentage : float      — default 10.0 (used when status is "inProgress")
status             : str        — "draft" (default) | "inProgress" | "halted" | "completed"
release_name       : str        — optional
release_notes      : dict       — optional, e.g. {"en-US": "Bug fixes", "fr-FR": "Corrections"}
country_codes      : list[str]  — optional ISO 3166-1 alpha-2 codes, e.g. ["US", "GB"]

在指定轨道上创建或替换发布版本。分阶段发布生产版本时,使用 status="inProgress" 和 rollout_percentage;如果要立即向所有用户发布,则使用 status="completed"。


update_release
package_name       : str
track              : str    — default "production"
rollout_percentage : float  — optional; pass 100 to complete the rollout
status             : str    — optional; "inProgress" | "halted" | "completed" | "draft"
version_codes      : list[int]  — optional filter; targets first matching release if omitted

更新现有发布版本。常见用例:

  • 提高发布比例: update_release(pkg, rollout_percentage=50)
  • 完成分阶段发布: update_release(pkg, rollout_percentage=100)
  • 暂停发布: update_release(pkg, status="halted")
  • 恢复发布: update_release(pkg, status="inProgress")

promote_release
package_name       : str
from_track         : str        — "internal" | "alpha" | "beta"
to_track           : str        — "alpha" | "beta" | "production"
version_codes      : list[int]
rollout_percentage : float      — default 10.0
release_name       : str        — optional override
release_notes      : dict       — optional override; inherits from source if omitted

将发布版本从一个轨道复制到另一个轨道。除非明确覆盖,否则会沿用源发布版本的说明和名称。


list_artifacts
package_name : str

按版本代码排序(最新版本在前)返回所有 APK 和 AAB,并附带 SHA 哈希值。


upload_artifact
package_name       : str
file_path          : str    — absolute local path to .apk or .aab
track              : str    — default "internal"
status             : str    — "draft" (default) | "inProgress" | "completed"
rollout_percentage : float  — default 10.0 (used when status is "inProgress")
release_name       : str    — optional
release_notes      : dict   — optional

上传 APK 或 AAB(根据扩展名自动检测),并通过单个原子操作在指定轨道上创建发布版本。返回分配的版本代码。


upload_to_internal_sharing
package_name : str
file_path    : str  — absolute local path to .apk or .aab

将构建版本上传到 Internal App Sharing(不分配轨道),并返回可分享的 downloadUrl。测试人员必须在其 Play Store 设置中启用 Internal App Sharing。适合快速进行一次性测试,且不会影响任何发布轨道。


get_testers
package_name : str
track        : str  — "internal" (default) | "alpha"

返回该轨道的测试人员电子邮件地址和 Google 群组列表。


update_testers
package_name  : str
track         : str         — "internal" (default) | "alpha"
emails        : list[str]   — optional; full replacement list of tester emails
google_groups : list[str]   — optional; full replacement list of Google Group emails

**警告:**此操作会完整替换列表。不在新列表中的测试人员将失去访问权限。 如果只想添加或移除个别人员,请先调用 get_testers 获取当前列表。


get_crash_rate
package_name : str
days         : int  — look-back window, 1–30 (default 7)
version_code : str  — optional single version code to filter

返回按版本代码统计的每日 crashRate、userPerceivedCrashRate 和 distinctUsers。 Google 对用户感知崩溃率的不良表现阈值为 ~1.09%。


get_anr_rate
package_name : str
days         : int  — look-back window, 1–30 (default 7)
version_code : str  — optional single version code to filter

返回按版本代码统计的每日 anrRate、userPerceivedAnrRate 和 distinctUsers。 Google 对用户感知 ANR 率的不良表现阈值为 ~0.47%。


get_vitals_summary
package_name : str
days         : int  — look-back window, 1–30 (default 7)

返回按版本代码汇总的崩溃和 ANR 综合摘要,包含该时间段内的平均值,以及 exceedsCrashThreshold / exceedsAnrThreshold 标记。最新版本会以 latestVersionSummary 突出显示。

get_wakelock_rate
package_name : str
days         : int  — look-back window, 1–30 (default 7)
version_code : str  — optional single version code to filter

返回按版本代码统计的每日 stuckBackgroundWakelockRate 和 distinctUsers。 这与 Google Play 2026 年的电池健康度监管相关——在后台会话中,有过高比例的会话持有部分唤醒锁超过 1 小时的应用可能会受到处罚。


get_wakeup_rate
package_name : str
days         : int  — look-back window, 1–30 (default 7)
version_code : str  — optional single version code to filter

返回按版本代码统计的每日 excessiveWakeupRate 和 distinctUsers。 这与 Google Play 2026 年的电池健康度监管相关——唤醒 CPU 过于频繁(超过平台阈值)的应用可能会受到处罚。


故障排除

Vitals 工具返回 403 Forbidden
403 Client Error: Forbidden for url: https://playdeveloperreporting.googleapis.com/...

此错误有两个常见原因,请分别检查:

1. 未启用 Google Play Developer Reporting API

在 Google Cloud 项目中启用: console.cloud.google.com/apis/library/playdeveloperreporting.googleapis.com

2. 服务账号缺少针对应用的 Reporting API 访问权限

  1. Play Console → Setup → API access → 找到服务账号 → Manage Play Console permissions。
  2. 在 App permissions 下,选择应用并启用 View app information and download bulk reports (read-only)。
  3. 保存并等待几分钟,让更改生效。
404 Package not found

服务账号必须关联到拥有该应用的同一个 Google Play Console 账号。 前往 Play Console → Setup → API access,确认服务账号已列出且已受邀。


市场平台

注册表链接
PyPIpip install google-play-mcp
Smithery搜索 google-play-mcp
Official MCP Registrygoogle-play-mcp

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。