GooglePlayConsoleMcp

by agimaulana

125 downloads
Not rated
GitHub

About

Let AI assistants manage your Play Store releases

Details

Author
agimaulana
Downloads
125
Categories
Cloud Service, Other, Infrastructure
{
  "mcpServers": {
    "google-play": {
      "command": "uvx",
      "args": [
        "google-play-mcp"
      ],
      "env": {
        "GOOGLE_APPLICATION_CREDENTIALS": "/absolute/path/to/service-account.json"
      }
    }
  }
}

A PythonModel Context Protocolserver that lets AI assistants (Claude, etc.) manage the full Google Play Store release lifecycle directly — from uploading artifacts to managing testers, rollouts, and Android Vitals.

Option A —uvx(recommended, no install needed)

Run this once. Claude automatically starts and stops the server for every session — you never have to touch it again.

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

Requiresuv— install withbrew install uvorcurl -Lsf https://astral.sh/uv/install.sh | sh

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

Only needed if you want to connect via HTTP transport instead of 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

How stdio works:With Options A and B, there is no server to start manually. Claude launches the process in the background when a session opens and shuts it down when the session ends. Zero maintenance.
- uv
install guide
- AGoogle Cloud service accountwith the JSON key downloaded.
- The service account added toGoogle Play Consolewith the correct permissions (see below).
- These APIs enabled in your Google Cloud project:

- Google Play Android Developer API
-
Google Play Developer Reporting API

Important:Release Manager doesnotgrant Reporting API access. You must also enableView app information and download bulk reports (read-only)— both at account level and per-app level — for the Vitals tools to work.

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" } } } }

- Go toIAM & Admin → Service Accountsin your GCP project.
- Create a service account (or use an existing one) and download a JSON key.
- In
Google Play Console→Setup → API access:

- Link your Google Cloud project.
- Find the service account →Manage Play Console permissions.
- UnderAccount permissions, enableView app information and download bulk reports (read-only).
- UnderApp permissionsfor each app, enable:

- View app information and download bulk reports (read-only)
- Release to production…(if you need write access)

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

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

Returns all tracks with their releases, rollout percentages, statuses, and country availability.

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

Returns a human-readable summary plus releases with status, rollout %, version codes, and release notes.

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"]

Creates or replaces a release on the given track. Usestatus="inProgress"with arollout_percentagefor a staged production rollout, orstatus="completed"to release to all users immediately.

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 an existing release. Common use cases:

- Increase rollout:update_release(pkg, rollout_percentage=50)
- Complete rollout:update_release(pkg, rollout_percentage=100)
- Halt rollout:update_release(pkg, status="halted")
- Resume rollout:update_release(pkg, status="inProgress")

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

Copies a release from one track to another. Release notes and name are inherited from the source release unless explicitly overridden.

Returns all APKs and AABs sorted by version code (newest first) with SHA hashes.

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

Uploads an APK or AAB (auto-detected from extension) and creates a release on the given track in a single atomic operation. Returns the assigned version code.

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

Uploads a build to Internal App Sharing (bypasses track assignment) and returns a shareabledownloadUrl. Testers must have Internal App Sharing enabled in their Play Store settings. Ideal for quick one-off testing without affecting any release track.

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

Returns the list of tester email addresses and Google Groups for the track.

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

Warning:This is a full replacement. Testers not in the new list will lose access. Callget_testersfirst to retrieve the current list if you only want to add/remove individuals.

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

Returns dailycrashRate,userPerceivedCrashRate, anddistinctUsersper version code. Google's bad behavior threshold for user-perceived crash rate is~1.09%.

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

Returns dailyanrRate,userPerceivedAnrRate, anddistinctUsersper version code. Google's bad behavior threshold for user-perceived ANR rate is~0.47%.

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

Returns a combined crash + ANR summary aggregated per version code, with averages over the period andexceedsCrashThreshold/exceedsAnrThresholdflags. The latest version is highlighted aslatestVersionSummary.

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

Returns dailystuckBackgroundWakelockRateanddistinctUsersper version code. Relevant for 2026 Google Play battery health enforcement — apps with an excessive proportion of sessions holding a partial wake lock for more than 1 hour in the background may be penalized.

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

Returns dailyexcessiveWakeupRateanddistinctUsersper version code. Relevant for 2026 Google Play battery health enforcement — apps that wake the CPU too frequently (above platform thresholds) may be penalized.

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
- Play Console →Setup → API access→ find the service account →Manage Play Console permissions.
- UnderApp permissions, select the app and enableView app information and download bulk reports (read-only).
- Save and wait a few minutes for the change to propagate.

The service account must be linked to the same Google Play Console account that owns the app. Go to Play Console →Setup → API accessand verify the service account is listed and has been invited.

Interact with the App Store Connect API to manage apps, sales, and reports.

A local Python MCP server that exposes the Codemagic CI/CD REST API as Claude-callable tools.

Integrates with Google Play Store command-line tools, enabling AI assistants to manage apps via the Play Console API.

Kochava for Advertisers — Official MCP Server

MCP connector providing comprehensive access to Kochava's mobile measurement and attribution platform for advertisers. Includes analytics, attribution, campaign management, tracker creation, fraud detection, and reporting capabilities.

App Store stats, installs, keywords, revenue and descriptions. B2B intelligence for SDK analysis, ad tech stacks and more.

MCP server for the App Store Connect API — manage iOS app pricing, subscriptions, IAPs, TestFlight, App Store metadata, screenshots, in-app events, and review submissions from Claude.

Manage apps, builds, and artifacts on Bitrise, a Continuous Integration and Delivery (CI/CD) platform.

MCP server for managing Limelink dynamic links with platform-specific deep linking (iOS/Android), social previews, and UTM tracking

App Store Optimization for AI agents — keyword research, rank tracking, review mining, and competitor analysis for iOS and Android.

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.