servers / play-store-mcp
play-store-mcp
communitystdiolocaldestructive capablehealthy
An MCP (Model Context Protocol) server that connects to the Google Play Developer API
01Tools · 117
How to read this: tool names here are observed from a live tools/list handshake. The Risk label is a heuristic inferred from the tool name (write/destructive verbs), not from executing the tool — a conservative guess, not a verified capability. We never escalate risk from a description. Found one that's wrong? Tell us — we fix on report.
| Tool | Risk | Side effects | Approval |
|---|---|---|---|
| deploy_app_multilang Deploy an APK or AAB file with multi-language release notes. | write | true | unknown |
| get_releases Get release status for all tracks of an app. | read | false | unknown |
| get_reviews Get recent reviews for an app. | read | false | unknown |
| deploy_app Deploy an APK or AAB file to a Play Store track. | write | true | unknown |
| halt_release Halt a staged rollout.
Use this to stop a release that is currently rolling out.
The release will be marked as halted and users will stop receiving updates. | unknown | unknown | unknown |
| reply_to_review Reply to a user review. | write | true | unknown |
| promote_release Promote a release from one track to another. | unknown | unknown | unknown |
| get_app_details Get app details including title, description, and developer info. | read | false | unknown |
| list_subscriptions List all subscription products for an app. | read | false | unknown |
| acknowledge_product_purchase Acknowledge an in-app product purchase.
Purchases not acknowledged within 3 days are automatically refunded. | unknown | unknown | unknown |
| update_rollout Update the rollout percentage for a staged release.
Use this to increase or decrease the percentage of users receiving an update.
Set to 100 to complete the rollout. | write | true | unknown |
| get_review Get a single user review by its ID. | read | false | unknown |
| get_product_purchase Get the status of an in-app product purchase. | read | false | unknown |
| get_subscription_status Get the status of a subscription purchase. | read | false | unknown |
| consume_product_purchase Consume an in-app product purchase (for consumable products).
Marks the product as consumed so the user can purchase it again. | unknown | unknown | unknown |
| revoke_subscription_purchase Revoke (refund) a subscription purchase. | destructive | true | true |
| create_in_app_product Create a new in-app product in the catalog.
Disabled in read-only mode. | write | true | unknown |
| batch_get_in_app_products Get details for multiple in-app products at once. | read | false | unknown |
| list_voided_purchases List voided purchases (refunds, chargebacks). | read | false | unknown |
| refund_order Refund an order, optionally revoking the user's entitlement. | destructive | true | true |
| cancel_subscription_purchase Cancel a subscription purchase. | destructive | true | true |
| list_in_app_products List all in-app products for an app. | read | false | unknown |
| patch_in_app_product Partially update an existing in-app product.
Disabled in read-only mode. | write | true | unknown |
| get_one_time_product Get details of a specific one-time product. | read | false | unknown |
| delete_one_time_product Delete a one-time product from the catalog.
Disabled in read-only mode. | destructive | true | true |
| defer_subscription_purchase Defer a subscription purchase's next renewal. | unknown | unknown | unknown |
| get_in_app_product Get details of a specific in-app product. | read | false | unknown |
| delete_in_app_product Delete an in-app product from the catalog.
Disabled in read-only mode. | destructive | true | true |
| list_one_time_products List all one-time products for an app. | read | false | unknown |
| get_product_purchase_v2 Get the status of an in-app product purchase using the v2 API.
Unlike get_product_purchase, this identifies the purchase by token alone
(no product ID) and returns line items and acknowledgement state. | read | false | unknown |
| update_in_app_product Update (replace) an existing in-app product.
Disabled in read-only mode. | write | true | unknown |
| batch_delete_in_app_products Delete multiple in-app products in a single operation.
Disabled in read-only mode. | destructive | true | true |
| batch_get_one_time_products Get details for multiple one-time products at once. | read | false | unknown |
| batch_delete_one_time_products Delete multiple one-time products in a single operation.
Disabled in read-only mode. | destructive | true | true |
| patch_one_time_product Create or update a one-time product (patch is create-or-update).
Disabled in read-only mode. | write | true | unknown |
| batch_delete_purchase_options Delete multiple purchase options from a one-time product in a single operation.
Disabled in read-only mode. | destructive | true | true |
| activate_purchase_option_offer Activate a one-time product offer, making it available to eligible buyers.
Disabled in read-only mode. | read | false | unknown |
| batch_update_one_time_products Update multiple one-time products in a single operation.
Disabled in read-only mode. | write | true | unknown |
| batch_update_purchase_option_states Activate or deactivate multiple purchase options in a single operation.
Disabled in read-only mode. | write | true | unknown |
| deactivate_purchase_option_offer Deactivate a one-time product offer, making it unavailable to new buyers.
Disabled in read-only mode. | destructive | true | true |
| list_purchase_option_offers List all offers for a one-time product purchase option. | read | false | unknown |
| cancel_purchase_option_offer Cancel a one-time product offer (e.g. a pre-order offer).
Disabled in read-only mode. | destructive | true | true |
| get_subscription Get details of a specific subscription product. | read | false | unknown |
| batch_get_subscriptions Get details for multiple subscription products at once. | read | false | unknown |
| delete_base_plan Delete a subscription base plan.
Only inactive base plans with no active subscribers can be deleted.
Disabled in read-only mode. | destructive | true | true |
| batch_get_purchase_option_offers Get details for multiple one-time product offers at once. | read | false | unknown |
| batch_update_purchase_option_offers Create or update multiple one-time product offers in a single operation.
Disabled in read-only mode. | write | true | unknown |
| create_subscription Create a new subscription product in the catalog.
Disabled in read-only mode. | write | true | unknown |
| batch_update_subscriptions Update multiple subscription products in a single operation.
Disabled in read-only mode. | write | true | unknown |
| batch_update_purchase_option_offer_states Activate, deactivate or cancel multiple one-time product offers in a single operation.
Disabled in read-only mode. | write | true | unknown |
| patch_subscription Partially update an existing subscription product.
Disabled in read-only mode. | write | true | unknown |
| activate_base_plan Activate a subscription base plan, making it available to new subscribers.
Disabled in read-only mode. | read | false | unknown |
| batch_migrate_base_plan_prices Migrate prices for multiple base plans in a single operation.
Disabled in read-only mode. | read | false | unknown |
| batch_delete_purchase_option_offers Delete multiple one-time product offers in a single operation.
Disabled in read-only mode. | destructive | true | true |
| delete_subscription Delete a subscription product from the catalog.
Disabled in read-only mode. | destructive | true | true |
| deactivate_base_plan Deactivate a subscription base plan, making it unavailable to new subscribers.
Existing subscribers keep their subscription. Disabled in read-only mode. | destructive | true | true |
| migrate_base_plan_prices Migrate subscribers to the current base plan prices.
Disabled in read-only mode. | read | false | unknown |
| list_subscription_offers List all offers for a subscription base plan. | read | false | unknown |
| patch_subscription_offer Partially update an existing subscription offer.
Disabled in read-only mode. | write | true | unknown |
| deactivate_subscription_offer Deactivate a subscription offer, making it unavailable to new subscribers.
Disabled in read-only mode. | destructive | true | true |
| batch_update_base_plan_states Activate or deactivate multiple base plans in a single operation.
Disabled in read-only mode. | write | true | unknown |
| get_subscription_offer Get details of a specific subscription offer. | read | false | unknown |
| create_subscription_offer Create a new subscription offer.
Disabled in read-only mode. | write | true | unknown |
| activate_subscription_offer Activate a subscription offer, making it available to eligible subscribers.
Disabled in read-only mode. | read | false | unknown |
| delete_subscription_offer Delete a subscription offer.
Only inactive offers with no active subscribers can be deleted.
Disabled in read-only mode. | destructive | true | true |
| batch_get_subscription_offers Get details for multiple subscription offers in a single operation. | read | false | unknown |
| batch_update_subscription_offer_states Activate or deactivate multiple subscription offers in a single operation.
Disabled in read-only mode. | write | true | unknown |
| batch_update_subscription_offers Update multiple subscription offers in a single operation.
Disabled in read-only mode. | write | true | unknown |
| get_listing Get store listing for a specific language. | read | false | unknown |
| list_all_listings List all store listings for all languages. | read | false | unknown |
| update_listing Update store listing for a specific language. | write | true | unknown |
| get_testers Get testers for a specific testing track. | read | false | unknown |
| get_order Get detailed order/transaction information. | write | true | unknown |
| refund_external_transaction Refund an external (alternative billing) transaction. | destructive | true | true |
| update_testers Update testers for a specific testing track. | write | true | unknown |
| batch_get_orders Get detailed information for multiple orders at once. | read | false | unknown |
| create_external_transaction Create an external (alternative billing) transaction. | write | true | unknown |
| get_external_transaction Get an external (alternative billing) transaction. | read | false | unknown |
| get_device_tier_config Get a device tier config. | read | false | unknown |
| create_device_tier_config Create a new device tier config.
Disabled in read-only mode. | write | true | unknown |
| create_user Grant a user access to a developer account.
Disabled in read-only mode. | write | true | unknown |
| list_device_tier_configs List all device tier configs for an app. | read | false | unknown |
| list_users List users with access to a developer account. | read | false | unknown |
| update_user Update a user's account access.
Disabled in read-only mode. | write | true | unknown |
| delete_user Remove a user's access to a developer account.
Disabled in read-only mode. | destructive | true | true |
| create_grant Grant a user app-level access.
Disabled in read-only mode. | write | true | unknown |
| delete_grant Remove a user's app-level access.
Disabled in read-only mode. | destructive | true | true |
| update_grant Update a user's app-level access.
Disabled in read-only mode. | write | true | unknown |
| set_data_safety Write the data safety labels declaration of an app.
Disabled in read-only mode. | write | true | unknown |
| list_app_recoveries List all app recovery actions for an app version. | read | false | unknown |
| deploy_app_recovery Deploy an app recovery action to users.
Disabled in read-only mode. | write | true | unknown |
| download_generated_apk Download a single generated APK to a local file. | unknown | unknown | unknown |
| create_system_apk_variant Create a system APK variant from an uploaded app bundle.
Disabled in read-only mode. | write | true | unknown |
| create_app_recovery Create a draft app recovery action.
Disabled in read-only mode. | write | true | unknown |
| cancel_app_recovery Cancel an app recovery action.
Disabled in read-only mode. | destructive | true | true |
| list_system_apk_variants List previously created system APK variants for an app bundle version. | read | false | unknown |
| add_app_recovery_targeting Add targeting to an app recovery action.
Disabled in read-only mode. | write | true | unknown |
| list_generated_apks List the APKs Google Play generated from an app bundle version.
Returns one entry per downloadable generated APK (split, standalone,
universal, asset pack slice, or recovery), each with a download ID that can
be passed to `download_generated_apk`. | read | false | unknown |
| get_system_apk_variant Get a previously created system APK variant. | read | false | unknown |
| download_system_apk_variant Download a previously created system APK variant to a local file. | unknown | unknown | unknown |
| upload_apk Upload an APK to a new edit and commit it.
Disabled in read-only mode. | write | true | unknown |
| get_expansion_file Get APK expansion file information.
Expansion files are used for large apps (especially games) that exceed
the 100MB APK size limit. | read | false | unknown |
| upload_bundle Upload an Android App Bundle (.aab) to a new edit and commit it.
Disabled in read-only mode. | write | true | unknown |
| upload_image Upload a store-listing image (PNG or JPEG) to a new edit and commit it.
Disabled in read-only mode. | write | true | unknown |
| list_apks List the APKs currently uploaded for an app. | read | false | unknown |
| list_bundles List the Android App Bundles currently uploaded for an app. | read | false | unknown |
| upload_expansion_file Upload an APK expansion file (OBB) to a new edit and commit it.
Disabled in read-only mode. | write | true | unknown |
| upload_deobfuscation_file Upload a deobfuscation (ProGuard mapping or native symbols) file.
Disabled in read-only mode. | write | true | unknown |
| list_images List the store-listing images for a language and image type. | read | false | unknown |
| delete_image Delete a single store-listing image by ID and commit the edit.
Disabled in read-only mode. | destructive | true | true |
| delete_all_images Delete all store-listing images for a language and image type; commit the edit.
Disabled in read-only mode. | destructive | true | true |
| batch_deploy Deploy an app to multiple tracks in a single operation.
This is useful for deploying to internal and alpha tracks simultaneously,
or for promoting to multiple testing tracks at once. | write | true | unknown |
| validate_package_name Validate package name format before using it in other operations. | unknown | unknown | unknown |
| upload_internal_app_sharing_apk Upload an APK to internal app sharing.
Disabled in read-only mode. | write | true | unknown |
| validate_track Validate track name before using it in deployment operations. | unknown | unknown | unknown |
| upload_internal_app_sharing_bundle Upload an app bundle (.aab) to internal app sharing.
Disabled in read-only mode. | write | true | unknown |
| validate_listing_text Validate store listing text lengths before updating. | unknown | unknown | unknown |
02Install & source
uvx play-store-mcp
uvx- repohttps://github.com/lusky3/play-store-mcp
- homepagehttps://lusky3.github.io/play-store-mcp/
- licenseMIT
- adoption19 stars · 9 forks
03Access granted
Manage cloud infra · writeProcess payments · destructive
The access this server can exercise, inferred from its verified tools — not a declared OAuth scope.
05Provenance & freshness
sourcesGitHub repo search [p4]
last_checked2026-08-23 14:32Z
next_check2026-08-24 07:47Z
cadenceevery 17h
verifiedtools_list:passed handshake:passed metadata:passed metadata:passed
index_statusindex — 9 unique facts >= 5
06Badge
Add the “as seen on MCPExplorer” badge to your README.
[](https://mcpexplorer.com/servers/play-store-mcp)
Next step
This is one server. A loadout combines the right servers, governance, and proven plays for a whole job — assembled deliberately, not tool-dumped.
Explore loadouts →