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
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:
| Points | Adoption-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.
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
Each tool and what it can reach — statically extracted from the published source.
download_generated_apkingests untrusted inputdownload_system_apk_variantingests untrusted inputlist_generated_apksingests untrusted inputupload_internal_app_sharing_apkingests untrusted inputupload_internal_app_sharing_bundleingests untrusted inputacknowledge_product_purchaseno sensitive capabilityactivate_base_planno sensitive capabilityactivate_purchase_option_offerno sensitive capabilityactivate_subscription_offerno sensitive capabilityadd_app_recovery_targetingno sensitive capabilitybatch_delete_in_app_productsno sensitive capabilitybatch_delete_one_time_productsno sensitive capabilitybatch_delete_purchase_option_offersno sensitive capabilitybatch_delete_purchase_optionsno sensitive capabilitybatch_deployno sensitive capabilitybatch_get_in_app_productsno sensitive capabilitybatch_get_one_time_productsno sensitive capabilitybatch_get_ordersno sensitive capabilitybatch_get_purchase_option_offersno sensitive capabilitybatch_get_subscription_offersno sensitive capabilitybatch_get_subscriptionsno sensitive capabilitybatch_migrate_base_plan_pricesno sensitive capabilitybatch_update_base_plan_statesno sensitive capabilitybatch_update_one_time_productsno sensitive capabilitybatch_update_purchase_option_offer_statesno sensitive capabilitybatch_update_purchase_option_offersno sensitive capabilitybatch_update_purchase_option_statesno sensitive capabilitybatch_update_subscription_offer_statesno sensitive capabilitybatch_update_subscription_offersno sensitive capabilitybatch_update_subscriptionsno sensitive capabilitycancel_app_recoveryno sensitive capabilitycancel_purchase_option_offerno sensitive capabilitycancel_subscription_purchaseno sensitive capabilityconsume_product_purchaseno sensitive capabilitycreate_app_recoveryno sensitive capabilitycreate_device_tier_configno sensitive capabilitycreate_external_transactionno sensitive capabilitycreate_grantno sensitive capabilitycreate_in_app_productno sensitive capabilitycreate_subscriptionno sensitive capabilitycreate_subscription_offerno sensitive capabilitycreate_system_apk_variantno sensitive capabilitycreate_userno sensitive capabilitydeactivate_base_planno sensitive capabilitydeactivate_purchase_option_offerno sensitive capabilitydeactivate_subscription_offerno sensitive capabilitydefer_subscription_purchaseno sensitive capabilitydelete_all_imagesno sensitive capabilitydelete_base_planno sensitive capabilitydelete_grantno sensitive capabilitydelete_imageno sensitive capabilitydelete_in_app_productno sensitive capabilitydelete_one_time_productno sensitive capabilitydelete_subscriptionno sensitive capabilitydelete_subscription_offerno sensitive capabilitydelete_userno sensitive capabilitydeploy_appno sensitive capabilitydeploy_app_multilangno sensitive capabilitydeploy_app_recoveryno sensitive capabilityget_app_detailsno sensitive capabilityget_device_tier_configno sensitive capabilityget_expansion_fileno sensitive capabilityget_external_transactionno sensitive capabilityget_in_app_productno sensitive capabilityget_listingno sensitive capabilityget_one_time_productno sensitive capabilityget_orderno sensitive capabilityget_product_purchaseno sensitive capabilityget_product_purchase_v2no sensitive capabilityget_releasesno sensitive capabilityget_reviewno sensitive capabilityget_reviewsno sensitive capabilityget_subscriptionno sensitive capabilityget_subscription_offerno sensitive capabilityget_subscription_statusno sensitive capabilityget_system_apk_variantno sensitive capabilityget_testersno sensitive capabilityhalt_releaseno sensitive capabilitylist_all_listingsno sensitive capabilitylist_apksno sensitive capabilitylist_app_recoveriesno sensitive capabilitylist_bundlesno sensitive capabilitylist_device_tier_configsno sensitive capabilitylist_imagesno sensitive capabilitylist_in_app_productsno sensitive capabilitylist_one_time_productsno sensitive capabilitylist_purchase_option_offersno sensitive capabilitylist_subscription_offersno sensitive capabilitylist_subscriptionsno sensitive capabilitylist_system_apk_variantsno sensitive capabilitylist_usersno sensitive capabilitylist_voided_purchasesno sensitive capabilitymigrate_base_plan_pricesno sensitive capabilitypatch_in_app_productno sensitive capabilitypatch_one_time_productno sensitive capabilitypatch_subscriptionno sensitive capabilitypatch_subscription_offerno sensitive capabilitypromote_releaseno sensitive capabilityrefund_external_transactionno sensitive capabilityrefund_orderno sensitive capabilityreply_to_reviewno sensitive capabilityrevoke_subscription_purchaseno sensitive capabilityset_data_safetyno sensitive capabilityupdate_grantno sensitive capabilityupdate_in_app_productno sensitive capabilityupdate_listingno sensitive capabilityupdate_rolloutno sensitive capabilityupdate_testersno sensitive capabilityupdate_userno sensitive capabilityupload_apkno sensitive capabilityupload_bundleno sensitive capabilityupload_deobfuscation_fileno sensitive capabilityupload_expansion_fileno sensitive capabilityupload_imageno sensitive capabilityvalidate_listing_textno sensitive capabilityvalidate_package_nameno sensitive capabilityvalidate_trackno sensitive capabilityScan 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.
| Version | Score | Findings | Engine | Scanned |
|---|---|---|---|---|
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 |
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.
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
Hotel booking MCP server — 300K+ properties, real confirmation numbers, loyalty programs. Builders monetize every booking via Stripe Connect. The first MCP server that completes real hotel reservations inside AI conversations.
Manage AdGuard Home through AI assistants
Read-only Azure DevOps for MCP clients using only your existing browser session — no PAT, no Azure CLI. Browse work items, pull requests, comments, attachments and Artifacts feeds across every project, repo and feed you can access.
MCP server for Adobe Experience Manager Assets integration development
Servidor MCP para el tiempo oficial de España (API pública OpenData de AEMET). Predicción, observación y avisos como herramientas MCP tipadas.
A standalone MCP stdio bridge for Affinity by Canva's local MCP SSE server.