Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Description from the maker (original English)
MCP server for Google Play: full Android Publisher API v3 and Play Developer Reporting API.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"google-play-developer": {
"command": "npx",
"args": [
"-y",
"google-play-developer-mcp"
]
}
}
}Run this in your terminal
claude mcp add google-play-developer -- npx -y google-play-developer-mcpPaste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"google-play-developer": {
"command": "npx",
"args": [
"-y",
"google-play-developer-mcp"
]
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"google-play-developer": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"google-play-developer-mcp"
]
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.
Your choice stays on this device in a cookie; no account needed.
These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 6, 2026
The registry name was verified with the GitHub account devinwang, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
The registry does not list a required key, though some servers ask you to sign in on first use.
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed –, and the latest version (0.2.0) reached the registry 16 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js on your computer.
In the same category: Spec Driven Development, Remote Desktop Commander, Apify MCP Server
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Extract data from any website with thousands of scrapers, crawlers, and automations on Apify Store ⚡
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
The complete Model Context Protocol (MCP) server for Google Play.
157 tools. Full Android Publisher API v3 + Play Developer Reporting API v1beta1. No deprecated endpoints. Works with Claude, Cursor, VS Code Copilot, Gemini CLI, or any MCP client.
See also: app-store-connect-mcp — the same philosophy for Apple's App Store Connect.
Google Play Console has an API, but its surface is wide and moves fast. Existing community MCPs each cover a slice — one does store listings, another does releases, a third does reviews — and all lag behind Google's deprecations.
`google-play-developer-mcp` is the one that covers everything.
| Property | This server | Typical community MCP |
|---|---|---|
| Android Publisher API v3 | ✅ Full | Partial |
| Play Developer Reporting API | ✅ Full | ❌ Missing |
monetization.onetimeproducts (post-2025 catalog) | ✅ | Uses deprecated inappproducts |
purchases.subscriptionsv2 / productsv2 | ✅ | Often still on v1 |
| 2026 features (OfferPhase, cancel/defer, priceStepUp) | ✅ | ❌ |
| Multi-account | ✅ | Usually one |
| Credential safety | No keys in repo, strict .gitignore | Varies |
| Public release under semver | ✅ v1.0.0 | Mostly pre-1.0 |
If you drive Google Play Console with an AI assistant — release automation, review triage, subscription catalog management, crash triage — this gives the assistant a full toolbox in one install.
157 tools across 33 groups. Every non-deprecated endpoint in both APIs.
Android Publisher API v3
| Group | Tools | Covers |
|---|---|---|
accounts_* | 6 | Local registry — add / list / switch / remove / update multiple Play Console accounts |
auth_* | 1 | Verify the service account can acquire a token |
apps_* | 2 | List every app the service account can see, get app details |
edits_* | 5 | Managed-publishing transactions: insert, get, validate, commit, delete |
details_* | 3 | App-level contact email / phone / website, default language |
country_availability_* | 1 | Per-country availability within an edit |
listings_* | 6 | Per-locale title / short description / full description / video. Includes delete_all |
images_* | 4 | Icon, feature graphic, promo graphic, phone/tablet/TV/wear screenshots. List, upload, delete, delete-all |
bundles_* | 2 | Upload and list Android App Bundles (AAB) |
apks_* | 3 | Upload / list APKs + register externally-hosted APK (enterprise) |
deobfuscation_files_* | 1 | Upload ProGuard / native code mapping |
expansion_files_* | 4 | OBB — get / upload / update / patch |
tracks_* | 5 | internal, alpha, beta, production, plus custom closed-testing tracks. List, get, update, patch, create |
testers_* | 3 | Google Groups allowlists for internal / closed tracks |
onetime_products_* | 17 | ✨ New monetization catalog for non-subscription products. Three-level hierarchy: product → purchase option → offer. Complete CRUD + batch on all three levels |
subscriptions_* | 8 | Subscription catalog: list, create, update, delete, archive, batch-get, batch-update |
subscription_base_plans_* | 7 | Monthly/annual plans. Activate, deactivate, migrate prices, batch migrate, batch update + states |
subscription_offers_* | 10 | Free trials / introductory prices. Create, update, delete, activate, deactivate + batch flavours |
monetization_convert_region_prices | 1 | Compute comparable region prices from one input price |
purchases_products_v2_* | 1 | Verify one-time-product purchases (supports multiple purchase options + offers) |
purchases_products_* | 2 | Acknowledge / consume one-time purchases (productsv2 only exposes get) |
purchases_subscriptions_v2_* | 4 | Get, revoke, cancel, defer. Includes 2026 OfferPhase, outOfAppPurchaseContext, priceStepUp consent, item-based refund |
purchases_subscriptions_acknowledge | 1 | v1 acknowledge (retained — still the right call for acknowledging initial purchase) |
purchases_voided_list | 1 | Refund / chargeback feed |
orders_* | 5 | List, get, batch-get, refund, review refund (get + batch-get added 2025-05, review_refund added 2026-07 for collaborative chargebacks) |
external_transactions_* | 3 | Alternative Billing (Korea / EU) — get / create / refund |
reviews_* | 3 | List, get, reply |
users_* + grants_* | 7 | Team members & per-app grants |
device_tier_configs_* | 3 | Device-tier targeting for AAB |
app_recovery_* | 5 | Recovery actions: list, create, deploy, cancel, add targeting |
generated_apks_* | 2 | List and download generated APKs from an AAB |
system_apks_variants_* | 4 | System APK variants for preload scenarios |
internal_app_sharing_* | 2 | Upload APK or AAB for internal link sharing |
Play Developer Reporting API v1beta1
| Group | Tools | Covers |
|---|---|---|
reports_apps_* | 2 | search, fetch_release_filter_options |
reports_anomalies_list | 1 | Detected anomalies across all metric sets |
reports_crash_rate_* | 2 | Crash rate — metadata + time-series query |
reports_anr_rate_* | 2 | ANR rate |
reports_slow_start_rate_* | 2 | Slow start (cold launch) |
reports_slow_rendering_rate_* | 2 | Slow rendering (jank) |
reports_excessive_wakeup_rate_* | 2 | Battery — excessive wake-ups |
reports_stuck_background_wake_lock_rate_* | 2 | Battery — stuck wake locks |
reports_lmk_rate_* | 2 | Low-memory killer rate |
reports_anon_rss_swap_memory_* | 2 | Anonymous RSS + swap memory usage |
reports_bitmap_memory_* | 2 | Bitmap memory usage |
reports_errors_counts_* | 2 | Aggregate error counts |
reports_errors_issues_search | 1 | Grouped ErrorIssue search |
reports_errors_reports_search | 1 | Raw ErrorReport search |
npm install -g google-play-developer-mcp
Then in your MCP client config (e.g. ~/.config/claude/config.json, Cursor MCP config, or VS Code mcp.json):
{
"mcpServers": { "google-play-developer": { "command": "google-play-developer-mcp" } } }
Next, tell the server which Play Console account to use — see the setup guide below.
~/.config/google-play-developer-mcp/service-account.json.name@project-id.iam.gserviceaccount.com).PERMISSION_DENIED, this is usually why.Launch any MCP client that has the server configured, then run:
accounts_add --name my-app \
--keyFile /Users/you/.config/google-play-developer-mcp/service-account.json \ --description "My company's Play Console"
(Or manually create ~/.google-play-developer-mcp/accounts.json — see the file format below.)
auth_status
Should return { ok: true, email: "..." }.
apps_list
Lists the apps the service account can see.
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": { "google-play-developer": { "command": "google-play-developer-mcp" } } }
claude mcp add google-play-developer google-play-developer-mcp
Or edit ~/.claude.json:
{
"mcpServers": { "google-play-developer": { "command": "google-play-developer-mcp" } } }
Settings → MCP → Add new MCP server:
{
"google-play-developer": { "command": "google-play-developer-mcp" } }
.vscode/mcp.json:
{
"servers": { "google-play-developer": { "type": "stdio", "command": "google-play-developer-mcp" } } }
Any MCP-compliant client accepts the same command entry — point it at the globally installed google-play-developer-mcp binary (or at node /path/to/dist/index.js if running from source).
git clone https://github.com/devinwang/google-play-developer-mcp.git
cd google-play-developer-mcp npm install npm run build
Then in your MCP client config:
{
"mcpServers": { "google-play-developer": { "command": "node", "args": ["/absolute/path/to/google-play-developer-mcp/dist/index.js"] } } }
accounts_switch --name my-app
edits_insert --packageName com.example.app
bundles_upload --packageName com.example.app --editId EDIT_ID \ --file /path/to/app-release.aab
tracks_update --packageName com.example.app --editId EDIT_ID \ --track internal \ --
Only the beginning is shown; read the rest in the repo