Skip to main content
Glama
devinwang

google-play-developer-mcp

by devinwang

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
accounts_listA

List every Play Console account registered with the MCP server (names + key-file paths, no secrets).

accounts_currentA

Show which account is currently active. All subsequent API calls target this account.

accounts_addA

Register 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_removeB

Remove an account from the local registry. Does NOT delete the key file.

accounts_switchB

Make an existing registered account the active one.

accounts_updateB

Change the key-file path or description of an existing account.

auth_statusA

Verify that the active account can acquire a Google OAuth token. Returns the service-account email plus whether a token was obtained.

apps_listB

List every Android app the active service account can access. Uses the Play Developer Reporting API's apps.search.

apps_getA

Open a fresh edit and return the details resource (contact email/phone/website + default language) for one app.

edits_insertA

Open a new edit session for an app. Returns the edit id plus its expiry. Subsequent edits.* tool calls must pass this id.

edits_getA

Fetch an existing edit — useful to check expiry before work.

edits_validateA

Validate an edit without committing. Catches schema/media errors before you publish.

edits_commitB

Commit and publish all changes in the edit. Pass changesNotSentForReview=true to skip automatic review submission.

edits_deleteB

Abandon an edit. All pending changes are discarded.

details_getA

Get app-level details (contact email/phone/website + default language).

details_updateB

Overwrite app-level details. Full replacement — unspecified fields are cleared.

details_patchB

Partial update — only the provided fields change.

country_availability_getB

Fetch per-country availability for a given track within an edit.

listings_listB

List every locale listing within an edit.

listings_getC

Get one locale's listing.

listings_updateB

Full replacement update of a locale listing. Fields: title (30), shortDescription (80), fullDescription (4000), video (YouTube URL).

listings_patchC

Partial update — unspecified fields preserved.

listings_deleteC

Delete the listing for one locale.

listings_delete_allA

Delete ALL locale listings in this edit. Irreversible within the edit.

images_listB

List uploaded images for a specific type and locale.

images_uploadB

Upload a new image. file is a local filesystem path. MIME is auto-detected from extension (png/jpg).

images_deleteC

Delete a single image by id.

images_delete_allB

Delete every image of a given type in one locale.

bundles_listC

List all AAB uploads in the current edit.

bundles_uploadA

Upload a new App Bundle (.aab). Returns versionCode and sha256. Commit the edit separately to publish to a track.

apks_listB

List all APK uploads in the edit.

apks_uploadA

Upload a new APK. Prefer AAB via bundles_upload.

apks_add_externally_hostedA

Register an APK that is hosted outside Google Play (enterprise-only, requires allowlist).

deobfuscation_files_uploadC

Upload a ProGuard mapping file for a specific version code. Use deobfuscationFileType='proguard' or 'nativeCode'.

expansion_files_getB

Get expansion file metadata for a version code.

expansion_files_uploadC

Upload expansion file contents (OBB).

expansion_files_updateC

Full update of expansion file metadata.

expansion_files_patchC

Partial update of expansion file metadata.

tracks_listA

List every track visible in this edit (includes default internal/alpha/beta/production + any custom closed-testing tracks).

tracks_getB

Get one track — includes all releases currently staged.

tracks_updateA

Full 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.

tracks_patchC

Partial update of track state.

tracks_createA

Create a brand-new custom closed-testing track. The new id is set on the server. Type can only be closedTesting.

testers_getB

Get the current tester allowlist for a track.

testers_updateB

Full replacement of the tester allowlist.

testers_patchC

Partial update of the tester allowlist.

onetime_products_listC

List all one-time products.

onetime_products_getB

Get a single one-time product.

onetime_products_createB

Create a one-time product. Pass the full OneTimeProduct body.

onetime_products_updateC

Update a one-time product (patch semantics, with updateMask).

onetime_products_deleteC

Delete a one-time product.

onetime_products_batch_getB

Fetch up to 100 one-time products in one call.

onetime_products_batch_updateC

Update up to 100 one-time products in one call.

onetime_products_batch_deleteC

Delete up to 100 one-time products in one call.

onetime_product_purchase_options_batch_updateC

Update or create up to 100 purchase options for a one-time product.

onetime_product_purchase_options_batch_update_statesC

Activate or deactivate up to 100 purchase options in one call.

onetime_product_purchase_options_batch_deleteC

Delete up to 100 purchase options.

onetime_product_offers_listB

List offers attached to a purchase option. purchaseOptionId is required — use '-' to list across all options.

onetime_product_offers_getB

Get one offer on a purchase option.

onetime_product_offers_batch_getC

Batch-get up to 100 offers.

onetime_product_offers_batch_updateB

Batch-update up to 100 offers (creates or updates).

onetime_product_offers_batch_update_statesC

Activate/deactivate/cancel up to 100 offers.

onetime_product_offers_batch_deleteC

Delete up to 100 offers.

subscriptions_listC

List all subscriptions.

subscriptions_getC

Get a single subscription.

subscriptions_createC

Create a subscription.

subscriptions_updateB

Patch-update a subscription. Pass updateMask to limit the fields updated.

subscriptions_deleteA

Delete a subscription. Only works on subscriptions with no active base plans/offers.

subscriptions_archiveA

Archive a subscription. Archived subscriptions are hidden from new purchases but existing subscribers keep access.

subscriptions_batch_getB

Get up to 100 subscriptions in one call.

subscriptions_batch_updateC

Update up to 100 subscriptions in one call.

subscription_base_plans_activateC

Activate a base plan — starts making it available for purchase.

subscription_base_plans_deactivateA

Deactivate a base plan — no new purchases; existing subscribers unaffected.

subscription_base_plans_deleteA

Delete a base plan (must be inactive).

subscription_base_plans_migrate_pricesC

Apply a price change to existing subscribers of a base plan in specific regions.

subscription_base_plans_batch_migrate_pricesB

Migrate prices on up to 100 base plans in one call.

subscription_base_plans_batch_updateC

Upsert up to 100 base plans.

subscription_base_plans_batch_update_statesC

Activate/deactivate up to 100 base plans.

subscription_offers_listA

List offers for a base plan. basePlanId supports '-' wildcard to list across all.

subscription_offers_getC

Get a single offer.

subscription_offers_createB

Create an offer on a base plan (free trial, intro pricing, etc.).

subscription_offers_updateC

Patch-update an offer.

subscription_offers_deleteD

Delete an offer.

subscription_offers_activateC

Activate an offer — starts making it available for purchase.

subscription_offers_deactivateC

Deactivate an offer.

subscription_offers_batch_getC

Batch-get up to 100 offers.

subscription_offers_batch_updateC

Upsert up to 100 offers.

subscription_offers_batch_update_statesC

Activate/deactivate up to 100 offers.

monetization_convert_region_pricesA

Utility: convert a price in one region to comparable prices in every other region. Use before setting prices on a base plan.

purchases_products_v2_getA

Get current state of a one-time product purchase. Supports multiple purchase options + offers (replaces legacy purchases.products).

purchases_subscriptions_v2_getB

Get full state of a subscription purchase (SubscriptionPurchaseV2). Includes OfferPhase (2026), outOfAppPurchaseContext, latestSuccessfulOrderId, priceChangeState, priceStepUpConsentDetails.

purchases_subscriptions_v2_revokeC

Revoke a subscription (refund + terminate access). 2025-05 added itemBasedRefund option for per-item refunds.

purchases_subscriptions_v2_cancelC

Cancel a subscription (2025-09+). cancellationType: USER_REQUESTED, DEVELOPER_REQUESTED, or SYSTEM_INITIATED.

purchases_subscriptions_v2_deferA

Defer billing for a subscription (2026-01 supports subscriptions with add-ons too). Pass DeferralInfo with expectedExpiryTime + desiredExpiryTime.

purchases_subscriptions_acknowledgeB

Acknowledge a subscription purchase. 2025-11+ accepts optional externalAccountId for account-linking. (v1 endpoint retained for compatibility.)

purchases_voided_listB

List voided purchases (refunded/charged-back). Supports filtering by time range + voided source.

orders_listC

List orders within a time window. Returns OrderId, productId, purchase state, quantity, offerPhaseDetails.

orders_getB

Get one order by order id.

orders_batch_getB

Get up to 100 orders in one call.

orders_refundB

Refund an order. Pass revoke=true to also cancel the entitlement (subscription) or consumable.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/devinwang/google-play-developer-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server