MCP server for Google Play Store deployment and release management, enabling app deployments, promotions between tracks, and release status monitoring
Server has 3 well-named tools with explicit verb-noun patterns (deploy_app, promote_release, get_releases). Tool descriptions are present and actionable (70-95 chars). Input schemas are fully defined with JSON Schema types, enums, and constraints. However, OUTPUT schemas are completely undocumented, LLMs cannot determine what fields to expect from tool responses. Error handling is minimal (no recovery guidance, error classification, or actionable error messages shown). Parameter descriptions are clear but lack dependency hints and format constraints in some cases. No destructive operation safeguards or confirmation patterns visible. Parameter naming is consistent but could benefit from explicit type suffixes (e.g., 'versionCode' is clear, but 'track' could be better disambiguated). Overall, definition quality is above-average for community servers but below production grade due to missing output schemas and error handling.
Deploy a new version of an app to Play Store
Get current status of app releases and deployments for a specific package
Promote a release from one track to another (e.g., alpha to beta)
No output schemas documented. LLMs cannot determine what fields, types, or structure tool responses will have. This breaks downstream tool chaining and forces agents to guess at response shape.
Error handling provides no recovery guidance. Responses show success/failure messages but do not categorize errors as retryable vs user-fixable. No actionable error messages like 'Invalid versionCode: must be higher than current (1234)' visible in code.
deploy_app is a destructive operation (modifies Play Store release) with no confirmation step, dry-run option, or explicit destructive hint. Agents can accidentally deploy untested code to production.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | C | 60 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 46 | - | v1 |
promote_release modifies state without checking dependencies or providing validation. No error messaging shown for invalid transitions (e.g., beta→internal is not allowed). Agents may attempt invalid promotions.
Parameter 'versionCode' lacks constraint documentation in description. Should state 'must be greater than current version' but currently just says 'must be higher than current', no actionable format or range guidance.
Tool descriptions lack dependency hints. E.g., deploy_app description does not mention that 'If you only have the app name, call get_releases() first to find packageName variants.'