Play Store MCP Server

play-store-mcp PyPI v0.6.1

Published by lusky3 — no publish provenance, so origin is unverified, but the source is public: the repository link below is self-declared yet readable, so you can inspect the code before adopting it.

MCP server for Google Play Developer API - deploy apps, manage releases, reviews, and more

Trust grade
A
96/100
Last scanned get badge →
Trust
A · 96/100
Adoption risk for you: the threat score, then adjusted down for blast radius, publisher verification and how much the scan could see. Deterministic; every point is auditable.
Capability
Moderate
Blast radius if it went rogue — what the server’s tools could reach. Independent of trust.
Coverage
Source
How much the scan could actually inspect. Shallow coverage is stated, never hidden.
Share this Trust Score
𝕏 Share LinkedIn Reddit
A Why this grade threat 100 − adoption risk = 96/100

The grade answers one question — how safe is this server for you to adopt — so it is computed in two auditable stages. Nothing below is an opinion or an LLM's guess; every line is a real term the deterministic engine applied, and the same input always yields the same number.

1. Threat score — 100 − 0 = 100. What the published surface and source actually contain:

The deterministic scan raised no scored threat in the surface it inspected — the threat score stayed at 100. Capability observations and advisory notes are recorded but never lower it.

2. Client adoption risk — 100 − 4 = 96. Three small, subtract-only factors that reflect your risk in adopting it — a clean scan proves less on a powerful, unverified or barely-inspectable package, so the grade says so plainly:

PointsAdoption-risk factor
−3 capability blast radius (moderate) — client exposure if the model is manipulated
−1 publisher verification (public source) — no provenance, but the source is public and inspectable

Capability observations and info notes are shown under Findings but never scored. Open any row's finding below for the file, line and evidence behind a deduction.

Findings 1

low Shell/command execution in packaging/dev tooling (tests/test_integration_credentials.py)MTC-SRC-002

In a packaging/dev/install script (shipped, but not the server runtime) (`tests/test_integration_credentials.py:42`): Spawning a shell/process is command-execution capability; with unsanitized tool input it is command injection / RCE. This is read from the code itself — not from the tool description — so a poisoned server cannot hide it behind honest-looking metadata.

Evidence: mcp-dl-") process = subprocess.Popen( # noqa: S603 ["play-store-mcp", "--transport", "streamable-http", "--

Fix: Review this call path: confirm it never receives unsanitized tool input, constrain it, or remove it. Treat a server whose code reaches these sinks as high-capability regardless of what its tools claim.

Location: server tests/test_integration_credentials.py

Tools 117

Each tool and what it can reach — statically extracted from the published source.

  • download_generated_apkingests untrusted input
  • download_system_apk_variantingests untrusted input
  • list_generated_apksingests untrusted input
  • upload_internal_app_sharing_apkingests untrusted input
  • upload_internal_app_sharing_bundleingests untrusted input
  • acknowledge_product_purchaseno sensitive capability
  • activate_base_planno sensitive capability
  • activate_purchase_option_offerno sensitive capability
  • activate_subscription_offerno sensitive capability
  • add_app_recovery_targetingno sensitive capability
Show 107 more tools ↓
  • batch_delete_in_app_productsno sensitive capability
  • batch_delete_one_time_productsno sensitive capability
  • batch_delete_purchase_option_offersno sensitive capability
  • batch_delete_purchase_optionsno sensitive capability
  • batch_deployno sensitive capability
  • batch_get_in_app_productsno sensitive capability
  • batch_get_one_time_productsno sensitive capability
  • batch_get_ordersno sensitive capability
  • batch_get_purchase_option_offersno sensitive capability
  • batch_get_subscription_offersno sensitive capability
  • batch_get_subscriptionsno sensitive capability
  • batch_migrate_base_plan_pricesno sensitive capability
  • batch_update_base_plan_statesno sensitive capability
  • batch_update_one_time_productsno sensitive capability
  • batch_update_purchase_option_offer_statesno sensitive capability
  • batch_update_purchase_option_offersno sensitive capability
  • batch_update_purchase_option_statesno sensitive capability
  • batch_update_subscription_offer_statesno sensitive capability
  • batch_update_subscription_offersno sensitive capability
  • batch_update_subscriptionsno sensitive capability
  • cancel_app_recoveryno sensitive capability
  • cancel_purchase_option_offerno sensitive capability
  • cancel_subscription_purchaseno sensitive capability
  • consume_product_purchaseno sensitive capability
  • create_app_recoveryno sensitive capability
  • create_device_tier_configno sensitive capability
  • create_external_transactionno sensitive capability
  • create_grantno sensitive capability
  • create_in_app_productno sensitive capability
  • create_subscriptionno sensitive capability
  • create_subscription_offerno sensitive capability
  • create_system_apk_variantno sensitive capability
  • create_userno sensitive capability
  • deactivate_base_planno sensitive capability
  • deactivate_purchase_option_offerno sensitive capability
  • deactivate_subscription_offerno sensitive capability
  • defer_subscription_purchaseno sensitive capability
  • delete_all_imagesno sensitive capability
  • delete_base_planno sensitive capability
  • delete_grantno sensitive capability
  • delete_imageno sensitive capability
  • delete_in_app_productno sensitive capability
  • delete_one_time_productno sensitive capability
  • delete_subscriptionno sensitive capability
  • delete_subscription_offerno sensitive capability
  • delete_userno sensitive capability
  • deploy_appno sensitive capability
  • deploy_app_multilangno sensitive capability
  • deploy_app_recoveryno sensitive capability
  • get_app_detailsno sensitive capability
  • get_device_tier_configno sensitive capability
  • get_expansion_fileno sensitive capability
  • get_external_transactionno sensitive capability
  • get_in_app_productno sensitive capability
  • get_listingno sensitive capability
  • get_one_time_productno sensitive capability
  • get_orderno sensitive capability
  • get_product_purchaseno sensitive capability
  • get_product_purchase_v2no sensitive capability
  • get_releasesno sensitive capability
  • get_reviewno sensitive capability
  • get_reviewsno sensitive capability
  • get_subscriptionno sensitive capability
  • get_subscription_offerno sensitive capability
  • get_subscription_statusno sensitive capability
  • get_system_apk_variantno sensitive capability
  • get_testersno sensitive capability
  • halt_releaseno sensitive capability
  • list_all_listingsno sensitive capability
  • list_apksno sensitive capability
  • list_app_recoveriesno sensitive capability
  • list_bundlesno sensitive capability
  • list_device_tier_configsno sensitive capability
  • list_imagesno sensitive capability
  • list_in_app_productsno sensitive capability
  • list_one_time_productsno sensitive capability
  • list_purchase_option_offersno sensitive capability
  • list_subscription_offersno sensitive capability
  • list_subscriptionsno sensitive capability
  • list_system_apk_variantsno sensitive capability
  • list_usersno sensitive capability
  • list_voided_purchasesno sensitive capability
  • migrate_base_plan_pricesno sensitive capability
  • patch_in_app_productno sensitive capability
  • patch_one_time_productno sensitive capability
  • patch_subscriptionno sensitive capability
  • patch_subscription_offerno sensitive capability
  • promote_releaseno sensitive capability
  • refund_external_transactionno sensitive capability
  • refund_orderno sensitive capability
  • reply_to_reviewno sensitive capability
  • revoke_subscription_purchaseno sensitive capability
  • set_data_safetyno sensitive capability
  • update_grantno sensitive capability
  • update_in_app_productno sensitive capability
  • update_listingno sensitive capability
  • update_rolloutno sensitive capability
  • update_testersno sensitive capability
  • update_userno sensitive capability
  • upload_apkno sensitive capability
  • upload_bundleno sensitive capability
  • upload_deobfuscation_fileno sensitive capability
  • upload_expansion_fileno sensitive capability
  • upload_imageno sensitive capability
  • validate_listing_textno sensitive capability
  • validate_package_nameno sensitive capability
  • validate_trackno sensitive capability

What this scan could not see

Versions 4

Scan history per published version. The engine is deterministic — the same version always yields the same score, so a changed score means the package itself changed.

VersionScoreFindingsEngineScanned
v0.6.1 latest A 96/100 1 1.13.0 2026-09-05
v0.5.1 A 96/100 1 1.13.0 2026-08-25
v0.5.0 A 96/100 1 1.12.1 2026-08-15
v0.3.0 A 99/100 1 1.12.1 2026-07-27

Embed this score

Show this server's live Trust Score in your README, docs or website. The badge is served straight from the registry and updates automatically after every rescan — no API key needed. It links back to this page, so anyone who sees the grade can also read the findings behind it instead of taking a number on faith.

MCP Trust Score: A · 96/100
Markdown (GitHub README)
[![MCP Trust Score](https://mcptrustchecker.com/registry/play-store-mcp/badge.svg)](https://mcptrustchecker.com/registry/play-store-mcp)
HTML
<a href="https://mcptrustchecker.com/registry/play-store-mcp"><img src="https://mcptrustchecker.com/registry/play-store-mcp/badge.svg" alt="MCP Trust Score" height="20"></a>
Prefer shields.io styling? Point it at https://mcptrustchecker.com/registry/play-store-mcp/badge.json via https://img.shields.io/endpoint?url=…

Verify this score yourself

The score above is reproducible: the same package version always yields the same result. Run it locally or over the free API — no account, no LLM, fully deterministic.

npx mcptrustchecker scan play-store-mcp --online --registry pypi

Use the free API → How scoring works

More in Developer Tools