Google Play Developer MCP
MCP server for Google Play: full Android Publisher API v3 and Play Developer Reporting API.
Connector by devinwang · GitHub account verified by the MCP Registry
Install
Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.
npx agentmarket install connector/devinwang-google-play-developer-mcp
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this server can do and what it asks for, from its tool list, install config and code. Checked Oct 25, 2026.
- Tools
- 64 read · 68 write · 14 delete · 11 not yet classified
- Secrets
- None asked for
- Install scripts
- None found
- Runs as
- Node.js package
Tools by what they do 157
Read from the source code; the running server may list different tools.
Read 64 · Look things up without changing anything.
accounts_currentaccounts_listapks_listapp_recovery_listapps_getapps_listauth_statusbundles_listcountry_availability_getdetails_getdevice_tier_configs_getdevice_tier_configs_list
Show 52 more tools
expansion_files_getexternal_transactions_getgenerated_apks_listimages_listlistings_getlistings_listmonetization_convert_region_pricesonetime_product_offers_batch_getonetime_product_offers_getonetime_product_offers_listonetime_products_batch_getonetime_products_getonetime_products_listpurchases_products_v2_getpurchases_subscriptions_v2_getpurchases_voided_listreports_anomalies_listreports_anr_rate_getreports_anr_rate_queryreports_apps_fetch_release_filter_optionsreports_apps_searchreports_bitmap_memory_getreports_bitmap_memory_queryreports_crash_rate_getreports_crash_rate_queryreports_errors_counts_getreports_errors_counts_queryreports_errors_issues_searchreports_errors_reports_searchreports_excessive_wakeup_rate_getreports_excessive_wakeup_rate_queryreports_lmk_rate_getreports_lmk_rate_queryreports_slow_rendering_rate_getreports_slow_rendering_rate_queryreviews_getreviews_listsubscription_base_plans_activatesubscription_base_plans_batch_update_statessubscription_base_plans_deactivatesubscription_offers_batch_getsubscription_offers_getsubscription_offers_listsubscriptions_batch_getsubscriptions_getsubscriptions_listsystem_apks_variants_getsystem_apks_variants_listtesters_gettracks_gettracks_listusers_list
Write 68 · Create, change, send or run things.
accounts_addaccounts_switchaccounts_updateapks_add_externally_hostedapks_uploadapp_recovery_add_targetingapp_recovery_cancelapp_recovery_createapp_recovery_deploybundles_uploaddeobfuscation_files_uploaddetails_patch
Show 56 more tools
details_updatedevice_tier_configs_createedits_commitedits_deleteedits_getedits_insertedits_validateexpansion_files_patchexpansion_files_updateexpansion_files_uploadexternal_transactions_createexternal_transactions_refundgenerated_apks_downloadgrants_creategrants_updateimages_uploadinternal_app_sharing_upload_apkinternal_app_sharing_upload_bundlelistings_patchlistings_updateonetime_product_offers_batch_updateonetime_product_offers_batch_update_statesonetime_product_purchase_options_batch_updateonetime_product_purchase_options_batch_update_statesonetime_products_batch_updateonetime_products_createonetime_products_updateorders_batch_getorders_getorders_listorders_refundorders_review_refundpurchases_subscriptions_v2_cancelreports_anon_rss_swap_memory_getreports_anon_rss_swap_memory_queryreports_slow_start_rate_getreports_slow_start_rate_queryreports_stuck_background_wake_lock_rate_getreports_stuck_background_wake_lock_rate_querysubscription_offers_batch_updatesubscription_offers_batch_update_statessubscription_offers_createsubscription_offers_updatesubscriptions_archivesubscriptions_batch_updatesubscriptions_createsubscriptions_updatesystem_apks_variants_createsystem_apks_variants_downloadtesters_patchtesters_updatetracks_createtracks_patchtracks_updateusers_createusers_update
Delete 14 · Delete, drop, revoke or wipe things.
accounts_removegrants_deleteimages_deleteimages_delete_alllistings_deletelistings_delete_allonetime_product_offers_batch_deleteonetime_product_purchase_options_batch_deleteonetime_products_batch_deleteonetime_products_deletepurchases_subscriptions_v2_revokesubscription_offers_delete
Show 2 more tools
subscriptions_deleteusers_delete
Not yet classified 11 · We could not tell from the name and description.
purchases_products_acknowledgepurchases_products_consumepurchases_subscriptions_acknowledgepurchases_subscriptions_v2_deferreviews_replysubscription_base_plans_batch_migrate_pricessubscription_base_plans_batch_updatesubscription_base_plans_deletesubscription_base_plans_migrate_pricessubscription_offers_activatesubscription_offers_deactivate
Network hosts it talks to 2
github.com· found in codegoogleapis.com· found in code
Files it touches
- Your home directory (~)
Tools (157)
Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].
accounts_addRegister a new Play Console account. Provide a local filesystem path to a Google Cloud service-account JSON key. The key stays on disk — the MCP only records its path.
accounts_currentShow which account is currently active. All subsequent API calls target this account.
accounts_listList every Play Console account registered with the MCP server (names + key-file paths, no secrets).
accounts_removeRemove an account from the local registry. Does NOT delete the key file.
accounts_switchMake an existing registered account the active one.
accounts_updateChange the key-file path or description of an existing account.
apks_add_externally_hostedRegister an APK that is hosted outside Google Play (enterprise-only, requires allowlist).
apks_listList all APK uploads in the edit.
apks_uploadUpload a new APK. Prefer AAB via `bundles_upload`.
app_recovery_add_targetingAdd targeting (country/locale/version) to an in-progress recovery action.
app_recovery_cancelCancel an in-flight app recovery action.
app_recovery_createCreate an app recovery action.
app_recovery_deployDeploy an app recovery action to users.
app_recovery_listList app recovery actions for a versionCode.
apps_getOpen a fresh edit and return the details resource (contact email/phone/website + default language) for one app.
Show 142 more tools
apps_listList every Android app the active service account can access. Uses the Play Developer Reporting API's apps.search.
auth_statusVerify that the active account can acquire a Google OAuth token. Returns the service-account email plus whether a token was obtained.
bundles_listList all AAB uploads in the current edit.
bundles_uploadUpload a new App Bundle (.aab). Returns versionCode and sha256. Commit the edit separately to publish to a track.
country_availability_getFetch per-country availability for a given track within an edit.
deobfuscation_files_uploadUpload a ProGuard mapping file for a specific version code. Use deobfuscationFileType='proguard' or 'nativeCode'.
details_getGet app-level details (contact email/phone/website + default language).
details_patchPartial update — only the provided fields change.
details_updateOverwrite app-level details. Full replacement — unspecified fields are cleared.
device_tier_configs_createCreate a new device-tier config.
device_tier_configs_getGet a device-tier config by id.
device_tier_configs_listList all device-tier configs for an app.
edits_commitCommit and publish all changes in the edit. Pass changesNotSentForReview=true to skip automatic review submission.
edits_deleteAbandon an edit. All pending changes are discarded.
edits_getFetch an existing edit — useful to check expiry before work.
edits_insertOpen a new edit session for an app. Returns the edit id plus its expiry. Subsequent edits.* tool calls must pass this id.
edits_validateValidate an edit without committing. Catches schema/media errors before you publish.
expansion_files_getGet expansion file metadata for a version code.
expansion_files_patchPartial update of expansion file metadata.
expansion_files_updateFull update of expansion file metadata.
expansion_files_uploadUpload expansion file contents (OBB).
external_transactions_createRegister a new external transaction (Alternative Billing).
external_transactions_getGet an external transaction (Alternative Billing).
external_transactions_refundReport a refund on an external transaction.
generated_apks_downloadDownload a specific generated APK. `downloadId` is the id from `generated_apks_list`. Returns the binary as a base64 string.
generated_apks_listList generated (split + standalone) APKs for a given bundle versionCode.
grants_createGrant a user access to one app. `parent` is developers/{dev}/users/{user}. Grant body contains packageName + appLevelPermissions.
grants_deleteRevoke a grant.
grants_updatePatch a grant (change appLevelPermissions).
images_deleteDelete a single image by id.
images_delete_allDelete every image of a given type in one locale.
images_listList uploaded images for a specific type and locale.
images_uploadUpload a new image. `file` is a local filesystem path. MIME is auto-detected from extension (png/jpg).
internal_app_sharing_upload_apkUpload an APK for internal app sharing. Returns a link you can distribute internally.
internal_app_sharing_upload_bundleUpload an AAB for internal app sharing.
listings_deleteDelete the listing for one locale.
listings_delete_allDelete ALL locale listings in this edit. Irreversible within the edit.
listings_getGet one locale's listing.
listings_listList every locale listing within an edit.
listings_patchPartial update — unspecified fields preserved.
listings_updateFull replacement update of a locale listing. Fields: title (30), shortDescription (80), fullDescription (4000), video (YouTube URL).
monetization_convert_region_pricesUtility: convert a price in one region to comparable prices in every other region. Use before setting prices on a base plan.
onetime_product_offers_batch_deleteDelete up to 100 offers.
onetime_product_offers_batch_getBatch-get up to 100 offers.
onetime_product_offers_batch_updateBatch-update up to 100 offers (creates or updates).
onetime_product_offers_batch_update_statesActivate/deactivate/cancel up to 100 offers.
onetime_product_offers_getGet one offer on a purchase option.
onetime_product_offers_listList offers attached to a purchase option. `purchaseOptionId` is required — use '-' to list across all options.
onetime_product_purchase_options_batch_deleteDelete up to 100 purchase options.
onetime_product_purchase_options_batch_updateUpdate or create up to 100 purchase options for a one-time product.
onetime_product_purchase_options_batch_update_statesActivate or deactivate up to 100 purchase options in one call.
onetime_products_batch_deleteDelete up to 100 one-time products in one call.
onetime_products_batch_getFetch up to 100 one-time products in one call.
onetime_products_batch_updateUpdate up to 100 one-time products in one call.
onetime_products_createCreate a one-time product. Pass the full OneTimeProduct body.
onetime_products_deleteDelete a one-time product.
onetime_products_getGet a single one-time product.
onetime_products_listList all one-time products.
onetime_products_updateUpdate a one-time product (patch semantics, with updateMask).
orders_batch_getGet up to 100 orders in one call.
orders_getGet one order by order id.
orders_listList orders within a time window. Returns OrderId, productId, purchase state, quantity, offerPhaseDetails.
orders_refundRefund an order. Pass `revoke=true` to also cancel the entitlement (subscription) or consumable.
orders_review_refundRespond to a pending refund review (collaborative chargeback, 2026-07). Call within 24 hours of a PendingRefundReviewNotification. Supply `refundPreference` and optional usage evidence so Play can dispute the chargeback.
purchases_products_acknowledgeAcknowledge a one-time product purchase. Unacknowledged purchases are refunded by Play after 3 days.
purchases_products_consumeConsume a consumable one-time product so the user can buy it again. Consuming also acknowledges the purchase.
purchases_products_v2_getGet current state of a one-time product purchase. Supports multiple purchase options + offers (replaces legacy purchases.products).
purchases_subscriptions_acknowledgeAcknowledge a subscription purchase. 2025-11+ accepts optional `externalAccountId` for account-linking. (v1 endpoint retained for compatibility.)
purchases_subscriptions_v2_cancelCancel a subscription (2025-09+). `cancellationType`: USER_REQUESTED, DEVELOPER_REQUESTED, or SYSTEM_INITIATED.
purchases_subscriptions_v2_deferDefer billing for a subscription (2026-01 supports subscriptions with add-ons too). Pass DeferralInfo with expectedExpiryTime + desiredExpiryTime.
purchases_subscriptions_v2_getGet full state of a subscription purchase (SubscriptionPurchaseV2). Includes OfferPhase (2026), outOfAppPurchaseContext, latestSuccessfulOrderId, priceChangeState, priceStepUpConsentDetails.
purchases_subscriptions_v2_revokeRevoke a subscription (refund + terminate access). 2025-05 added `itemBasedRefund` option for per-item refunds.
purchases_voided_listList voided purchases (refunded/charged-back). Supports filtering by time range + voided source.
reports_anomalies_listList detected anomalies across metric sets for an app.
reports_anon_rss_swap_memory_getGet anonymous RSS + swap memory usage metric-set metadata. Format: apps/{packageName}/anonRssAndSwapMemoryUsageMetricSet
reports_anon_rss_swap_memory_queryQuery anonymous RSS + swap memory usage timeline.
reports_anr_rate_getGet ANR-rate metric-set metadata.
reports_anr_rate_queryQuery ANR-rate timeline.
reports_apps_fetch_release_filter_optionsList the release-filter dimensions available for an app (version codes, track, staged rollout).
reports_apps_searchList every app the service account can access.
reports_bitmap_memory_getGet bitmap memory usage metric-set metadata. Format: apps/{packageName}/bitmapMemoryUsageMetricSet
reports_bitmap_memory_queryQuery bitmap memory usage timeline.
reports_crash_rate_getGet crash-rate metric-set metadata (available dimensions, metrics, freshness).
reports_crash_rate_queryQuery crash-rate timeline with dimensions, metrics, filter.
reports_errors_counts_getGet error-counts metric-set metadata.
reports_errors_counts_queryQuery aggregated error-count timelines.
reports_errors_issues_searchSearch grouped error issues (ErrorIssue).
reports_errors_reports_searchSearch raw error reports (ErrorReport) within an issue or time window.
reports_excessive_wakeup_rate_getGet excessive-wake-up-rate metadata.
reports_excessive_wakeup_rate_queryQuery excessive-wake-up-rate timeline.
reports_lmk_rate_getGet Low-Memory-Killer (LMK) rate metadata.
reports_lmk_rate_queryQuery LMK-rate timeline.
reports_slow_rendering_rate_getGet slow-rendering-rate metadata.
reports_slow_rendering_rate_queryQuery slow-rendering-rate timeline.
reports_slow_start_rate_getGet slow-start-rate metadata.
reports_slow_start_rate_queryQuery slow-start-rate timeline.
reports_stuck_background_wake_lock_rate_getGet stuck-background-wake-lock-rate metadata.
reports_stuck_background_wake_lock_rate_queryQuery stuck-background-wake-lock-rate timeline.
reviews_getGet a single review by id.
reviews_listList reviews from the last 7 days. Use token from the previous page for pagination. Optional filters: language, translationLanguage, device.
reviews_replyPost a public reply to a review. Replies can be edited by calling this again.
subscription_base_plans_activateActivate a base plan — starts making it available for purchase.
subscription_base_plans_batch_migrate_pricesMigrate prices on up to 100 base plans in one call.
subscription_base_plans_batch_updateUpsert up to 100 base plans.
subscription_base_plans_batch_update_statesActivate/deactivate up to 100 base plans.
subscription_base_plans_deactivateDeactivate a base plan — no new purchases; existing subscribers unaffected.
subscription_base_plans_deleteDelete a base plan (must be inactive).
subscription_base_plans_migrate_pricesApply a price change to existing subscribers of a base plan in specific regions.
subscription_offers_activateActivate an offer — starts making it available for purchase.
subscription_offers_batch_getBatch-get up to 100 offers.
subscription_offers_batch_updateUpsert up to 100 offers.
subscription_offers_batch_update_statesActivate/deactivate up to 100 offers.
subscription_offers_createCreate an offer on a base plan (free trial, intro pricing, etc.).
subscription_offers_deactivateDeactivate an offer.
subscription_offers_deleteDelete an offer.
subscription_offers_getGet a single offer.
subscription_offers_listList offers for a base plan. `basePlanId` supports '-' wildcard to list across all.
subscription_offers_updatePatch-update an offer.
subscriptions_archiveArchive a subscription. Archived subscriptions are hidden from new purchases but existing subscribers keep access.
subscriptions_batch_getGet up to 100 subscriptions in one call.
subscriptions_batch_updateUpdate up to 100 subscriptions in one call.
subscriptions_createCreate a subscription.
subscriptions_deleteDelete a subscription. Only works on subscriptions with no active base plans/offers.
subscriptions_getGet a single subscription.
subscriptions_listList all subscriptions.
subscriptions_updatePatch-update a subscription. Pass `updateMask` to limit the fields updated.
system_apks_variants_createCreate a new system APK variant for a versionCode.
system_apks_variants_downloadDownload a built system APK variant. Returns base64.
system_apks_variants_getGet a system APK variant.
system_apks_variants_listList system APK variants created for a given versionCode.
testers_getGet the current tester allowlist for a track.
testers_patchPartial update of the tester allowlist.
testers_updateFull replacement of the tester allowlist.
tracks_createCreate a brand-new custom closed-testing track. The new id is set on the server. Type can only be closedTesting.
tracks_getGet one track — includes all releases currently staged.
tracks_listList every track visible in this edit (includes default internal/alpha/beta/production + any custom closed-testing tracks).
tracks_patchPartial update of track state.
tracks_updateFull replacement of track state. `releases` is an array of release objects — versionCodes, status (draft|inProgress|halted|completed), userFraction (0-1 for staged rollout), inAppUpdatePriority (0-5), countryTargeting, and releaseNotes.
users_createAdd a new team member to the developer account. Pass the user resource with email + roles + optional expirationTime.
users_deleteRemove a user from the developer account.
users_listList all users on a developer account. `parent` is the developer account id in the form `developers/{developerId}` (find it in the Play Console URL).
users_updatePatch-update a team member (roles, access level).
Signals
- Stars
- 8
- Forks
- 4
- Open issues
- 0
- Last commit
- Oct 21, 2026 (8 days ago)
- Last release
- Oct 21, 2026 (8 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- Registry name
io.github.devinwang/google-play-developer-mcp- Version
- 0.2.0
- Auth
- No auth
- Packages
- npm google-play-developer-mcp
- License
- MIT
- First seen
- Oct 24, 2026
- Last checked
- Oct 25, 2026
More from devinwang
- 0.549score
Cloak Browser MCP
devinwang
Playwright-compatible MCP server on CloakBrowser stealth Chromium: 86 tools, humanized input.
ConnectorAFreshness: ALocal★ 2↓ 62/wkClaude Code +5 - 0.525score
App Store Connect MCP
devinwang
MCP server for Apple's App Store Connect API: 1316 tools generated from the official OpenAPI spec.
ConnectorAFreshness: ALocal★ 3Claude Code +5
Cite this page
Google Play Developer MCP. Agent Mart. https://agentmart.dev/connectors/devinwang-google-play-developer-mcp (last updated 2026-10-25)