Antigravity Play Console MCP
README.md
# π± antigravity-play-console-plugin
<p align="center">
<img src="assets/poster.png" alt="Play Console Hero Poster" width="100%" style="border-radius: 12px; box-shadow: 0 10px 30px -10px rgba(0,0,0,0.5);" />
</p>
<p align="center">
<a href="https://github.com/karansinghverma979/antigravity-play-console-mcp/actions/workflows/ci.yml">
<img src="https://github.com/karansinghverma979/antigravity-play-console-mcp/actions/workflows/ci.yml/badge.svg" alt="CI Status" />
</a>
<a href="https://securityscorecards.dev">
<img src="https://img.shields.io/badge/OpenSSF-Hardened%20Grade%20A-blue.svg" alt="OpenSSF Hardened" />
</a>
<a href="https://opensource.org/licenses/MIT">
<img src="https://img.shields.io/badge/License-MIT-yellow.svg" alt="License: MIT" />
</a>
<a href="https://www.python.org/downloads/">
<img src="https://img.shields.io/badge/Python-3.10%2B-blue.svg" alt="Python 3.10+" />
</a>
<a href="#">
<img src="https://img.shields.io/badge/MCP%20Server-Python%20Stdio-green.svg" alt="MCP Server Python" />
</a>
<a href="https://github.com/karansinghverma979/antigravity-play-console-mcp">
<img src="https://img.shields.io/badge/Google%20Antigravity-Plugin%20v1.0.0-orange.svg" alt="Google Antigravity Plugin" />
</a>
<a href="#">
<img src="https://img.shields.io/badge/Sovereign%20Quarantine-Zero%20Leaks-success.svg" alt="Zero-Leak Guarantee" />
</a>
</p>
> **Autonomous Google Play Console Release Sentinel, Phased Rollout Governor & Android Publisher Plugin for Google Antigravity.**
An enterprise-grade Antigravity plugin engineered to give AI agents and developers programmatic, deterministic control over the **Google Play Developer API v3**. Deploy Android App Bundles (`.aab`), orchestrate staged rollouts (`internal`, `alpha`, `beta`, `production`), manage localized store presences, and triage user reviews with guaranteed sovereign credential quarantine.
---
## π¨ Brand Assets & Design Poster
The repository comes equipped with high-resolution vector and raster branding assets designed for GitHub releases, docs, and banners:
| Asset | Type | Dimensions | Preview / File Link |
| :--- | :--- | :--- | :--- |
| **Hero Poster / Banner** | Vector SVG & Rendered PNG | 1200 Γ 500 | [`assets/poster.svg`](assets/poster.svg) β’ [`assets/poster.png`](assets/poster.png) |
| **Brand Logo / Icon** | Vector SVG & Rendered PNG | 512 Γ 512 | [`assets/logo.svg`](assets/logo.svg) β’ [`assets/logo.png`](assets/logo.png) |
| **Compact Banner** | Vector SVG | 1200 Γ 500 | [`assets/banner.svg`](assets/banner.svg) |
---
## ποΈ Architecture
```
antigravity-play-console-plugin/
βββ .github/
β βββ ISSUE_TEMPLATE/
β β βββ bug_report.yml # Interactive GitHub bug report form
β β βββ feature_request.yml # Interactive GitHub feature request form
β βββ workflows/
β β βββ ci.yml # OpenSSF-hardened CI pipeline
β βββ PULL_REQUEST_TEMPLATE.md # Security & safety checklist
β βββ dependabot.yml # Automated dependency scanner
βββ agents/
β βββ play_console.md # Declarative Antigravity Agent definition
βββ assets/
β βββ banner.svg # Vector header banner
β βββ logo.png # Rendered 512x512 PNG icon
β βββ logo.svg # Scalable vector logo icon
β βββ poster.png # Rendered 1200x500 hero poster
β βββ poster.svg # Scalable vector hero poster
βββ mcp/
β βββ __init__.py # Package init
β βββ client.py # Google Play Developer API v3 engine
β βββ server.py # Pure Python stdio JSON-RPC MCP server
βββ rules/
β βββ AGENTS.md # Mandatory safety invariants (Rollouts & Quarantine)
βββ skills/
β βββ play-console/
β βββ SKILL.md # Antigravity Skill instructions & router
β βββ references/
β βββ api_troubleshooting.md # Error codes & permission runbook
β βββ store_listing_guide.md # Localization & character limits
β βββ track_rollout_playbook.md # Phased rollout percentages (5% -> 100%)
βββ hooks.json # Pre-flight production release safety check
βββ mcp_config.json # Declarative MCP server registration
βββ plugin.json # Antigravity Plugin manifest
βββ pyproject.toml # Packaging specification
βββ requirements.txt # Core dependencies
βββ service_account.example.json # Sanitized schema template (Zero secrets)
βββ .gitattributes # Line-ending firewall (CRLF for PS1, LF for rest)
βββ .gitignore # Sovereign secret shield & artifact filter
βββ LICENSE # MIT License
βββ SECURITY.md # OpenSSF vulnerability disclosure policy
βββ README.md
```
---
## β‘ Core Capabilities
```
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β PLAY CONSOLE GOVERNANCE β
βββββββββββββββββββββ¬ββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββ€
β π ZERO KEY LEAKS β π STAGED ROLLOUT β π METADATA COMPLIANCE β
βββββββββββββββββββββΌββββββββββββββββββββΌβββββββββββββββββββββββββββββββββ€
β β’ External Keys β β’ Internal First β β’ Title β€ 30 Chars β
β β’ No Keys in Git β β’ Phased Rollouts β β’ Short Desc β€ 80 Chars β
β β’ %LOCALAPPDATA% β β’ Operator Barrierβ β’ Full Desc β€ 4000 Chars β
βββββββββββββββββββββ΄ββββββββββββββββββββ΄βββββββββββββββββββββββββββββββββ
```
1. **π¦ Android App Bundle (.aab) Uploader (`play_upload_bundle`)**:
- Streamed chunked uploads to Google Play Console with automatic extraction and validation of assigned `versionCode`.
2. **π Track Management & Phased Rollouts (`play_create_release`, `play_list_tracks`)**:
- Seamlessly targets `internal`, `alpha`, `beta`, and `production` tracks.
- Enforces staged rollout fractions (`user_fraction` between `0.05` [5%] and `1.0` [100%]) to eliminate catastrophic single-point release bugs.
3. **π Store Listing Governor (`play_update_listing`, `play_get_listings`)**:
- Enforces policy character constraints: Title (β€ 30 chars), Short Description (β€ 80 chars), Full Description (β€ 4,000 chars).
- Supports multi-lingual localization via standard BCP-47 tags (`en-US`, `hi-IN`, `es-419`, `de-DE`).
4. **β Review Intelligence & Customer Support (`play_list_reviews`, `play_reply_review`)**:
- Paginated review extraction, rating analysis, and automated, brand-aligned developer responses.
5. **π Health & Diagnostic Check (`play_check_status`)**:
- Instant verification of Google Play Developer API v3 connectivity and active service account identity.
---
## π Sovereign External Credential Quarantine
To guarantee zero accidental git leaks and survive complete repository wipes (`git clean -fdx`), Google Play service account keys reside strictly **outside the repository working tree**:
### Quarantine Locations (Auto-resolved in order):
1. Environment Variable: `PLAY_CONSOLE_KEY_PATH`
2. Environment Variable: `GOOGLE_APPLICATION_CREDENTIALS`
3. **Centralized Credential Vault (Canonical)**:
- **Windows**: `%USERPROFILE%\.gemini\credentials\play-console\service_account.json`
- **Linux / macOS**: `~/.gemini/credentials/play-console/service_account.json`
4. Legacy Quarantine Locations (Fallback):
- `~/.gemini/keys/google-play-service-account.json`
- `~/.gemini/config/play_console/service_account.json`
> [!IMPORTANT]
> The engine **never** looks inside the repository tree for credentials. The working tree is 100% immune to key leaks.
---
## π Installation & Antigravity Setup
### Option 1: Global Plugin Directory (Recommended)
Clone or copy this repository into your user Antigravity plugin directory:
```powershell
git clone https://github.com/karansinghverma979/antigravity-play-console-mcp.git "$env:USERPROFILE\.gemini\config\plugins\play-console-plugin"
```
Once placed, Antigravity automatically:
- Registers the `play-console` MCP server via `mcp_config.json`.
- Registers the `play_console` agent.
- Activates the `play-console` skill and safety invariants across all sessions.
### Option 2: Standalone MCP Client (Claude Desktop / Cursor)
Add to your MCP client configuration file:
```json
{
"mcpServers": {
"play-console": {
"command": "python",
"args": [
"mcp/server.py"
],
"env": {
"PLAY_CONSOLE_KEY_PATH": "~/.gemini/credentials/play-console/service_account.json"
}
}
}
}
```
---
## π€ Antigravity Agent Usage
You can invoke the agent directly inside Antigravity conversations:
```
@play_console check API status and verify the latest release on the internal track
```
Or deploy an Android App Bundle:
```
@play_console upload build/app/outputs/bundle/release/app-release.aab for com.example.app and create a 10% staged rollout on production
```
---
## π Security & Privacy
- **Zero Secret Commits**: Key search paths completely exclude repository directories.
- **Production Confirmation Barrier**: Pre-flight hooks require explicit user confirmation before committing production track releases.
- **OpenSSF Hardened**: All CI workflows run with `permissions: contents: read` and pinned 40-character action commit SHAs.
---
## π License
MIT License. See [LICENSE](./LICENSE) for details.
This server cannot be deployed
Maintenance
ActivityMaintained
ResponsivenessNo issues