Skip to main content

Google Play Console MCP Server — manage production releases from your AI assistant.

Project description

Google Play Console MCP

A Python Model Context Protocol server that lets AI assistants (Claude, etc.) manage your Google Play Store production releases directly.


Quick start

stdio — one command, no install:

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

HTTP — run as a local server:

# 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

Requires uv — install with brew install uv or curl -Lsf https://astral.sh/uv/install.sh | sh


Features

Tool Description
promote_to_production Promote a build from internal track to production with a custom rollout %
check_review_status Check production release status (draft / inProgress / halted / completed)
update_rollout_percentage Increase or complete an existing staged rollout
get_production_release_info Fetch current rollout %, version codes, and release notes
get_crash_rate Fetch user-perceived crash rate via the Play Developer Reporting API

Prerequisites

  1. uvinstall guide
  2. A Google Cloud service account with the JSON key downloaded.
  3. The service account added to Google Play Console with the correct permissions (see below).
  4. These APIs enabled in your Google Cloud project:

Required Play Console permissions

Tool Minimum permission required
promote_to_production Release to production, exclude devices, and use app signing by Google Play
update_rollout_percentage Release to production, exclude devices, and use app signing by Google Play
check_review_status View app information and download bulk reports (read-only)
get_production_release_info View app information and download bulk reports (read-only)
get_crash_rate View app information and download bulk reports (read-only)

Important: Release Manager does not grant Reporting API access. You must also enable View app information and download bulk reports (read-only) — both at account level and per-app level — for get_crash_rate to work.


Claude Desktop integration

Add to ~/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"
      }
    }
  }
}

Restart Claude Desktop after saving.


Service account setup

  1. Go to IAM & Admin → Service Accounts in your GCP project.
  2. Create a service account (or use an existing one) and download a JSON key.
  3. In Google Play ConsoleSetup → API access:
    • Link your Google Cloud project.
    • Find the service account → Manage Play Console permissions.
    • Under Account permissions, enable View app information and download bulk reports (read-only).
    • Under App permissions for each app, enable:
      • View app information and download bulk reports (read-only)
      • Release to production… (if you need write access)
    • Click ApplyInvite user.

Permissions must be granted at both account level and per-app level. Account-level alone is not sufficient for the Reporting API.


Tool reference

promote_to_production

package_name       : str        — e.g. "com.example.myapp"
version_codes      : list[int]  — e.g. [1042]
rollout_percentage : float      — 1–100 (use 100 for immediate full release)
release_name       : str        — optional, e.g. "2.4.1"
release_notes_en   : str        — optional English release notes

check_review_status

package_name : str

Returns each production release with its status and rollout percentage.

update_rollout_percentage

package_name       : str
rollout_percentage : float      — new %, 0 < value <= 100
version_codes      : list[int]  — optional; targets the first inProgress release if omitted

get_production_release_info

package_name : str

Returns the active release's rollout percentage, version codes, and release notes.

Note: Raw install/update event counts are not available via the public API. Use Play Console → Statistics, BigQuery exports, or Firebase Analytics.

get_crash_rate

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

Returns daily crashRate, userPerceivedCrashRate, and distinctUsers per version code.


Troubleshooting

403 Forbidden on get_crash_rate

403 Client Error: Forbidden for url: https://playdeveloperreporting.googleapis.com/...

This error has two common causes — check both:

1. Google Play Developer Reporting API not enabled

Enable it in your Google Cloud project: console.cloud.google.com/apis/library/playdeveloperreporting.googleapis.com

2. Service account lacks per-app Reporting API access

  1. Play Console → Setup → API access → find the service account → Manage Play Console permissions.
  2. Under App permissions, select the app and enable View app information and download bulk reports (read-only).
  3. Save and wait a few minutes for the change to propagate.

Marketplaces

Registry Link
PyPI pip install google-play-mcp
Smithery search google-play-mcp
Official MCP Registry io.github.AgiMaulana/google-play-mcp

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

google_play_mcp-0.2.1.tar.gz (9.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

google_play_mcp-0.2.1-py3-none-any.whl (9.7 kB view details)

Uploaded Python 3

File details

Details for the file google_play_mcp-0.2.1.tar.gz.

File metadata

  • Download URL: google_play_mcp-0.2.1.tar.gz
  • Upload date:
  • Size: 9.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for google_play_mcp-0.2.1.tar.gz
Algorithm Hash digest
SHA256 282061b607ec6a79e32ac8668967e731829ead1b2bdc365afd1ba69959ffd8d2
MD5 edd8ecc142a9a3b2fa2d6dcce2e214d8
BLAKE2b-256 aa9e6723f03fbc44189c061d1940048c9d6c87bc6aa0f7ceb921e8ad71bfa9d2

See more details on using hashes here.

File details

Details for the file google_play_mcp-0.2.1-py3-none-any.whl.

File metadata

File hashes

Hashes for google_play_mcp-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 a2f1a17bdad483ee39c1548040ead78230d6a227cfa6bb71ed1dd9f108eb4b06
MD5 31880c031864176bdfd64b7c6a10a56b
BLAKE2b-256 13ac4a0e1f46f6ff7950d53e014543e72c1df3e3ee3991c39af16b133b6e1e8a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page