play-console-mcp
Provides tools for managing Google Play Console: reading and replying to Play Store reviews, managing release tracks and staged rollouts, and querying crash/ANR vitals via the Google Play Developer API and Play Developer Reporting API.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@play-console-mcpPromote the current beta release to production as a 10% staged rollout."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
play-console-mcp
MCP server for the Google Play Console that exposes the official Google Play Developer API and Play Developer Reporting API as tools for AI agents.
Its focus is managing user feedback and Android app releases — reading and replying to Play Store reviews, inspecting release tracks, promoting a build from beta to production, steering a staged rollout, and checking crash/ANR vitals before and after a release.
What it deliberately does not do: no app bundle (AAB/APK) uploads, no store listing or metadata edits, no in-app product or subscription management, and no Android device management (that is the unrelated Android Management API). Writes are limited to review replies and release track updates.
Install
claude mcp add play-console -- npx -y @orellbuehler/play-console-mcp \
--env GOOGLE_SERVICE_ACCOUNT_KEY_PATH=/path/to/service-account.json \
--env GOOGLE_PLAY_PACKAGE_NAME=com.example.appRelated MCP server: Google Play Console
Getting a service account key
In the Google Play Console, go to Setup → API access.
Create a new Google Cloud project or link an existing one.
Under Service accounts, click Create new service account and follow the link to the Google Cloud console.
Create the service account, then create a JSON key for it and download the file.
Back in the Play Console, click Manage Play Console permissions for that service account and grant it access to your app(s) with at least:
View app information and download bulk reports (required by every tool)
Reply to reviews (for
reply_to_review)Release apps to testing tracks and/or Release to production (for
promote_release,update_rollout,halt_rollout)
Point
GOOGLE_SERVICE_ACCOUNT_KEY_PATHat the downloaded JSON file.
Permission changes can take a few minutes to propagate. Until they do, calls fail with
The caller does not have permission.
Configuration
Variable | Required | Description |
| one of | Path to the downloaded service account JSON key |
| one of | The service account JSON key inline, as a raw JSON string |
| no | Default app package name, so tools can omit |
Usage with Claude Code
{
"mcpServers": {
"play-console": {
"command": "npx",
"args": ["-y", "@orellbuehler/play-console-mcp"],
"env": {
"GOOGLE_SERVICE_ACCOUNT_KEY_PATH": "/path/to/service-account.json",
"GOOGLE_PLAY_PACKAGE_NAME": "com.example.app"
}
}
}
}Example prompts
"What are people complaining about in this week's Play Store reviews?"
"Reply to the 1-star review from Ada apologising for the crash and saying a fix ships this week."
"Which tracks have releases right now, and what version code is in production?"
"Promote the current beta release to production as a 10% staged rollout."
"The crash rate spiked — halt the production rollout."
"Compare the crash rate for version code 415 against 414 over the last two weeks."
"Show me the top crash issues by affected users and the stack trace for the worst one."
Tools
Reviews
Tool | Description |
| List recent reviews with rating, text, device, app version and any existing reply |
| Get a single review and its full comment thread by review ID |
| Post or edit the public developer reply to a review (max 350 characters) |
Releases
Tool | Description |
| List all tracks with their releases (version codes, status, rollout fraction, notes) |
| Get a single track and its releases |
| Promote the active release of one track to another, optionally as a staged rollout |
| Change the staged rollout percentage, or complete it by passing |
| Halt an in-progress staged rollout, keeping its current fraction |
Every write tool accepts validate_only: true for a dry run — the change is validated against the
API and then discarded instead of being committed.
Vitals
Tool | Description |
| Crash rate and user-perceived crash rate over time, optionally by dimension |
| ANR rate and user-perceived ANR rate over time |
| Absolute error report counts and affected users, e.g. broken down by issue |
| Grouped crash/ANR issues with cause, location, counts and Play Console link |
| Individual error reports including the raw stack trace |
Notes & caveats
Reviews are limited by Google, not by this server. The API only returns reviews created or modified in the last 7 days, only reviews that contain written text, and only for production releases. Replies are capped at 350 characters and the user is only notified about the first reply to a review.
Quotas: review reads are limited to roughly 200 requests/hour and replies to 2,000/day per developer account.
Release writes use the Play edits workflow. Each write tool opens an edit, applies the change, and commits it in a single call; failed calls delete the edit again. Promoting replaces the destination track's release list, which is what the Play Console does too.
Vitals data lags. Android vitals metrics are aggregated daily in
America/Los_Angelesand are typically about a day behind. Slices with too few users are omitted by Google.Ratings over time are not available through the Reporting API; per-review star ratings come from
list_reviews.
Development
npm install
npm run build # tsc -p tsconfig.build.json -> dist/
npm test # vitest run
npm run lint # eslint src
npm run typecheck # tsc --noEmit
npm run format # prettier --write .Smoke-test the built server against a real app:
GOOGLE_SERVICE_ACCOUNT_KEY_PATH=/path/to/service-account.json \
GOOGLE_PLAY_PACKAGE_NAME=com.example.app \
npx @modelcontextprotocol/inspector node dist/index.jsCI / Releasing
CI runs format:check, lint, typecheck, test and build on Node 20 and 22. Publishing happens
on GitHub release via npm trusted publishing (OIDC, no tokens):
npm version patch
git push --follow-tags
gh release create "v$(node -p "require('./package.json').version")" --generate-notesLicense
MIT © Orell Bühler
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Alicense-qualityDmaintenanceIntegrates Google Play Store management tools with AI assistants to handle app listings, releases, and user reviews. It enables users to manage Play Console tasks like updating store information and retrieving performance statistics through natural language.5410MIT
- AlicenseAqualityBmaintenanceManage the full Google Play Store release lifecycle directly — from uploading artifacts to managing testers, rollouts, and Android Vitals.166MIT
- Flicense-qualityCmaintenanceEnables automated ingestion of App Store/Play Store reviews, synthesis of themes and actions, and publishing to Google Docs and Gmail drafts via Google Workspace MCP.
- AlicenseCqualityCmaintenanceEnables publishing Android apps to Samsung Galaxy Store and Huawei AppGallery directly from AI agents, with tools for uploading binaries, updating listings, submitting apps, and verifying Samsung IAP receipts.11MIT
Related MCP Connectors
Live App Store & Google Play data for AI agents: app discovery, ASO keywords, reviews.
SEO research, audits, backlinks, GSC, and content workflow tools for AI agents.
Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/OrellBuehler/play-console-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server