Google Play Console
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| GOOGLE_APPLICATION_CREDENTIALS | Yes | The absolute path to the Google Cloud service account JSON key file. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_tracksA | List all release tracks with their current releases. Returns tracks (internal, alpha, beta, production) with rollout percentages, statuses, and country availability. Args: package_name: Package name, e.g. com.example.myapp |
| get_track_infoA | Get detailed info for a specific release track. Returns releases with status, rollout %, version codes, release notes, and country availability. Args: package_name: Package name, e.g. com.example.myapp track: "internal", "alpha", "beta", or "production". Default "production". |
| create_releaseA | Create or replace a release on a track. NOTE: With Managed Publishing enabled, the edit is held pending approval. Call publish_managed_release to send live. Args: package_name: Package name, e.g. com.example.myapp track: "internal", "alpha", "beta", or "production". version_codes: Version codes to include, e.g. [1234]. rollout_percentage: Rollout % when status is "inProgress". Default 10%. status: "draft" (default), "inProgress" (staged), "halted", or "completed". release_name: Optional human-readable name. release_notes: Optional {lang: text} dict, e.g. {"en-US": "Bug fixes"}. country_codes: Optional ISO 3166-1 alpha-2 codes. Empty list removes restrictions. submit_for_review: If True, submits changes for Google Play review. Set to False to keep as draft without submitting for review. |
| update_releaseA | Update rollout percentage and/or status of an existing release. Examples: increase rollout (rollout_percentage=50), complete (=100), halt (status="halted"), resume (status="inProgress"). NOTE: With Managed Publishing enabled, changes are held pending approval. Call publish_managed_release to send live. Args: package_name: Package name, e.g. com.example.myapp track: Track to update. Default "production". rollout_percentage: New rollout % (0–100). Pass 100 to complete. status: "inProgress", "halted", "completed", or "draft". version_codes: Filter to release containing these codes. Default: first release found. submit_for_review: If True, submits changes for Google Play review. Set to False to keep as draft without submitting for review. |
| promote_releaseA | Promote a release from one track to another. Copies version codes from source to destination. Common: internal→alpha→beta→production. Release notes/name are inherited unless overridden. Args: package_name: Package name, e.g. com.example.myapp from_track: Source — "internal", "alpha", or "beta". to_track: Destination — "alpha", "beta", or "production". version_codes: Version codes to promote, e.g. [1234]. rollout_percentage: Rollout % at destination. Default 10%. Use 100 for full release. release_name: Optional name override. release_notes: Optional {lang: text} override, e.g. {"en-US": "New features"}. submit_for_review: If True, submits changes for Google Play review. Set to False to keep as draft without submitting for review. |
| publish_managed_releaseA | Send approved changes live when Managed Publishing is enabled. Call after changes committed via create_release/update_release/promote_release have been reviewed in Play Console. No-op if Managed Publishing is off. Args: package_name: Package name, e.g. com.example.myapp |
| list_artifactsA | List all APKs and AABs uploaded to the app. Returns version codes and SHA hashes. Useful for finding version codes available to assign to a track. Args: package_name: Package name, e.g. com.example.myapp |
| upload_artifactA | Upload an APK or AAB and create a release on the given track. File type auto-detected from extension (.apk/.aab). Upload and track assignment are atomic. Args: package_name: Package name, e.g. com.example.myapp file_path: Absolute local path to the APK or AAB. track: "internal" (default), "alpha", "beta", or "production". status: "draft" (default), "inProgress", or "completed". rollout_percentage: Rollout % when status is "inProgress". Default 10%. release_name: Optional human-readable name. release_notes: Optional {lang: text} dict, e.g. {"en-US": "Initial release"}. submit_for_review: If True, submits changes for Google Play review. Set to False to keep as draft without submitting for review. |
| upload_to_internal_sharingA | Upload APK or AAB to Internal App Sharing and get a shareable link. Shares a build via URL without assigning it to a track. Ideal for quick one-off testing. File type auto-detected from extension (.apk/.aab). Args: package_name: Package name, e.g. com.example.myapp file_path: Absolute local path to the APK or AAB. |
| get_testersB | Get tester emails and Google Groups for an internal or alpha track. Args: package_name: Package name, e.g. com.example.myapp track: "internal" (default) or "alpha". |
| update_testersA | Replace the tester list for an internal or alpha track. WARNING: Full replacement — omitted testers lose access. Call get_testers first to preserve existing testers. Args: package_name: Package name, e.g. com.example.myapp track: "internal" (default) or "alpha". emails: Tester email addresses. Empty list removes all individuals. google_groups: Google Group addresses. Empty list removes all groups. submit_for_review: If True, submits changes for Google Play review. Set to False to keep as draft without submitting for review. |
| get_crash_rateA | Fetch user-perceived crash rate from Android Vitals. Returns daily crashRate, userPerceivedCrashRate, and distinctUsers by version code. Bad behavior threshold: userPerceivedCrashRate > 1.09% may cause Play Store ranking penalties. Args: package_name: Package name, e.g. com.example.myapp days: Past days to include (default 7, max 30). version_code: Optional version code filter. |
| get_anr_rateA | Fetch ANR (Application Not Responding) rate from Android Vitals. Returns daily anrRate, userPerceivedAnrRate, and distinctUsers by version code. Bad behavior threshold: userPerceivedAnrRate > 0.47% may cause Play Store ranking penalties. Args: package_name: Package name, e.g. com.example.myapp days: Past days to include (default 7, max 30). version_code: Optional version code filter. |
| get_wakelock_rateA | Fetch stuck background wake lock rate from Android Vitals. Returns daily stuckBackgroundWakelockRate and distinctUsers by version code. Excessive wakelock holding (>1 hour in background) may be penalized. Args: package_name: Package name, e.g. com.example.myapp days: Past days to include (default 7, max 30). version_code: Optional version code filter. |
| get_wakeup_rateB | Fetch excessive CPU wakeup rate from Android Vitals. Returns daily excessiveWakeupRate and distinctUsers by version code. Frequent CPU wakeups above platform thresholds may be penalized. Args: package_name: Package name, e.g. com.example.myapp days: Past days to include (default 7, max 30). version_code: Optional version code filter. |
| get_vitals_summaryA | Get combined Android Vitals: crash rate and ANR rate per version code. Returns averages over the period with threshold flags. Thresholds: userPerceivedCrashRate > 1.09%, userPerceivedAnrRate > 0.47%. Args: package_name: Package name, e.g. com.example.myapp days: Past days to include (default 7, max 30). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
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/AgiMaulana/GooglePlayConsoleMcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server