hitoshura25-mcp-android-playstore-deploy 0.1.1
MCP server that helps developers set up automated Google Play Store deployment for Android apps
License: Apache-2.0
Requires Python: >=3.10

# mcp-android-playstore-deploy
MCP Server to help with Play Store deployments

**👉 Want to use this with Claude Desktop? See the [Complete Claude Usage Guide →](https://github.com/hitoshura25/mcp-android-playstore-deploy/blob/main/CLAUDE-USAGE-GUIDE.md)**

---

## 🚀 Getting Started

**New to this tool? Start here!**

Open Claude Desktop and use this prompt:

```
I want to set up automated Google Play Store deployment for my Android app using GitHub Actions.

My Android project is located at: /path/to/your/android/app

Please walk me through the complete setup process step by step. Start by analyzing my project.
```

Claude will guide you through:
- ✅ Analyzing your project structure
- ✅ Generating a secure keystore
- ✅ Setting up Google Play Service Account
- ✅ Creating GitHub Actions workflow
- ✅ Configuring secrets and testing

**📖 For detailed guidance**, see the [Complete Claude Usage Guide](https://github.com/hitoshura25/mcp-android-playstore-deploy/blob/main/CLAUDE-USAGE-GUIDE.md).

---

<!-- MCP-GENERATOR-CONTENT-START:hitoshura25-mcp-android-playstore-deploy -->
> **Note:** The following content was generated by MCP Generator on 2025-11-20 21:40.
> You can edit, move, or remove this section as needed.

<!-- This README was generated by MCP Generator -->

# hitoshura25-mcp-android-playstore-deploy

MCP server that helps developers set up automated Google Play Store deployment for Android apps

## Quick Links

- **[📖 Claude Desktop User Guide](https://github.com/hitoshura25/mcp-android-playstore-deploy/blob/main/CLAUDE-USAGE-GUIDE.md)** - Complete guide for using this MCP server with Claude Desktop
- **[🔧 MCP Configuration](https://github.com/hitoshura25/mcp-android-playstore-deploy/blob/main/MCP-USAGE.md)** - Technical MCP setup details
- **[🔒 Security Guidelines](https://github.com/hitoshura25/mcp-android-playstore-deploy/blob/main/SECURITY.md)** - Security best practices

## Installation

### For MCP Server Usage (Recommended)

**Using uvx (no installation required):**

Add to your Claude Desktop config (`~/Library/Application Support/Claude/claude_desktop_config.json`):

```json
{
  "mcpServers": {
    "hitoshura25_mcp_android_playstore_deploy": {
      "command": "uvx",
      "args": ["hitoshura25-mcp-android-playstore-deploy"]
    }
  }
}
```

**Prerequisites:** Install [uv](https://docs.astral.sh/uv/):
```bash
# macOS/Linux
curl -LsSf https://astral.sh/uv/install.sh | sh

# Windows
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
```

### For CLI Usage (Alternative)

**Using pipx (isolated installation):**

```bash
pipx install hitoshura25-mcp-android-playstore-deploy
```

**Using pip:**

```bash
pip install hitoshura25-mcp-android-playstore-deploy
```

## Usage

### MCP Server Mode (For AI Agents)

If using pipx/pip installation, configure:

```json
{
  "mcpServers": {
    "hitoshura25_mcp_android_playstore_deploy": {
      "command": "hitoshura25-mcp-android-playstore-deploy"
    }
  }
}
```

### CLI Mode (For Developers)


#### analyze_android_project

Analyze an Android project to understand its configuration and identify requirements for Play Store deployment

```bash
hitoshura25-mcp-android-playstore-deploy analyze_android_project --project_path <value>
```

**Parameters:**

- `--project_path` (string, required): Absolute path to the Android project root directory



#### generate_keystore

Generate a new Android keystore file for app signing with secure parameters

```bash
hitoshura25-mcp-android-playstore-deploy generate_keystore --output_path <value> --alias <value> --key_password <value> --store_password <value> --validity_days <value> --key_size <value> --dname <value>
```

**Parameters:**

- `--output_path` (string, required): Absolute path where the keystore will be saved

- `--alias` (string, required): Key alias for the signing key

- `--key_password` (string, required): Password for the signing key

- `--store_password` (string, required): Password for the keystore

- `--validity_days` (number): How many days the key should be valid

- `--key_size` (number): Key size in bits

- `--dname` (string): Distinguished name for the certificate



#### generate_signing_config

Generate Gradle signing configuration code to add to build.gradle.kts

```bash
hitoshura25-mcp-android-playstore-deploy generate_signing_config --project_path <value> --signing_strategy <value>
```

**Parameters:**

- `--project_path` (string, required): Path to Android project

- `--signing_strategy` (string): How to provide signing credentials (environment_variables or gradle_properties)



#### setup_service_account_guide

Provide interactive step-by-step guide for setting up Google Play Service Account

```bash
hitoshura25-mcp-android-playstore-deploy setup_service_account_guide
```

**Parameters:**



#### generate_github_workflow

Generate a complete GitHub Actions workflow file for Play Store deployment

```bash
hitoshura25-mcp-android-playstore-deploy generate_github_workflow --project_path <value> --package_name <value> --track <value> --trigger_strategy <value> --branch_name <value> --app_module_path <value> --java_version <value> --enforce_proguard <value> --mapping_file_path <value> --include_release_notes <value> --release_notes_directory <value>
```

**Parameters:**

- `--project_path` (string, required): Path to Android project

- `--package_name` (string, required): Android app package name

- `--track` (string): Play Store release track (internal, alpha, beta, production)

- `--trigger_strategy` (string): How to trigger the workflow (manual, branch, tag)

- `--branch_name` (string): Branch name to trigger on if trigger_strategy is branch

- `--app_module_path` (string): Path to app module relative to project root

- `--java_version` (string): Java/JDK version to use for builds

- `--enforce_proguard` (boolean): Automatically enable ProGuard minification (default: True)

- `--mapping_file_path` (string): Override default ProGuard mapping file path

- `--include_release_notes` (boolean): Include release notes directory (default: True)

- `--release_notes_directory` (string): Path to release notes directory (default: distribution/whatsnew)



#### validate_github_secrets

Validate that required GitHub Secrets are configured (checks existence only)

```bash
hitoshura25-mcp-android-playstore-deploy validate_github_secrets --repo_owner <value> --repo_name <value> --github_token <value> --required_secrets <value>
```

**Parameters:**

- `--repo_owner` (string, required): GitHub repository owner username or organization

- `--repo_name` (string, required): GitHub repository name

- `--github_token` (string, required): GitHub Personal Access Token with repo scope

- `--required_secrets` (array): List of secret names to check for



#### create_github_secrets_guide

Generate a comprehensive guide for creating all required GitHub Secrets

```bash
hitoshura25-mcp-android-playstore-deploy create_github_secrets_guide --repo_url <value> --keystore_path <value>
```

**Parameters:**

- `--repo_url` (string, required): GitHub repository URL

- `--keystore_path` (string): Optional path to keystore for encoding instructions



#### validate_play_store_setup

Validate that Play Store app and API access are properly configured using service account

```bash
hitoshura25-mcp-android-playstore-deploy validate_play_store_setup --service_account_json_path <value> --package_name <value>
```

**Parameters:**

- `--service_account_json_path` (string, required): Path to service account JSON file

- `--package_name` (string, required): Android app package name to validate



#### test_deployment_workflow

Test the deployment workflow locally without uploading to Play Store

```bash
hitoshura25-mcp-android-playstore-deploy test_deployment_workflow --project_path <value> --keystore_path <value> --store_password <value> --key_alias <value> --key_password <value> --dry_run <value>
```

**Parameters:**

- `--project_path` (string, required): Path to Android project

- `--keystore_path` (string, required): Path to keystore file

- `--store_password` (string, required): Keystore password

- `--key_alias` (string, required): Key alias

- `--key_password` (string, required): Key password

- `--dry_run` (boolean): If true, skip actual Play Store upload




## Available Tools


### analyze_android_project

Analyze an Android project to understand its configuration and identify requirements for Play Store deployment

**Parameters:**

- `project_path` (string, required): Absolute path to the Android project root directory



### generate_keystore

Generate a new Android keystore file for app signing with secure parameters

**Parameters:**

- `output_path` (string, required): Absolute path where the keystore will be saved

- `alias` (string, required): Key alias for the signing key

- `key_password` (string, required): Password for the signing key

- `store_password` (string, required): Password for the keystore

- `validity_days` (number): How many days the key should be valid

- `key_size` (number): Key size in bits

- `dname` (string): Distinguished name for the certificate



### generate_signing_config

Generate Gradle signing configuration code to add to build.gradle.kts

**Parameters:**

- `project_path` (string, required): Path to Android project

- `signing_strategy` (string): How to provide signing credentials (environment_variables or gradle_properties)



### setup_service_account_guide

Provide interactive step-by-step guide for setting up Google Play Service Account

**Parameters:**



### generate_github_workflow

Generate a complete GitHub Actions workflow file for Play Store deployment

**Parameters:**

- `project_path` (string, required): Path to Android project

- `package_name` (string, required): Android app package name

- `track` (string): Play Store release track (internal, alpha, beta, production)

- `trigger_strategy` (string): How to trigger the workflow (manual, branch, tag)

- `branch_name` (string): Branch name to trigger on if trigger_strategy is branch

- `app_module_path` (string): Path to app module relative to project root

- `java_version` (string): Java/JDK version to use for builds

- `enforce_proguard` (boolean): If True, ensure isMinifyEnabled=true in build.gradle.kts (default: True)

- `mapping_file_path` (string): Override default ProGuard mapping file path

- `include_release_notes` (boolean): Include release notes directory (default: True)

- `release_notes_directory` (string): Path to release notes directory (default: distribution/whatsnew)



### validate_github_secrets

Validate that required GitHub Secrets are configured (checks existence only)

**Parameters:**

- `repo_owner` (string, required): GitHub repository owner username or organization

- `repo_name` (string, required): GitHub repository name

- `github_token` (string, required): GitHub Personal Access Token with repo scope

- `required_secrets` (array): List of secret names to check for



### create_github_secrets_guide

Generate a comprehensive guide for creating all required GitHub Secrets

**Parameters:**

- `repo_url` (string, required): GitHub repository URL

- `keystore_path` (string): Optional path to keystore for encoding instructions



### validate_play_store_setup

Validate that Play Store app and API access are properly configured using service account

**Parameters:**

- `service_account_json_path` (string, required): Path to service account JSON file

- `package_name` (string, required): Android app package name to validate



### test_deployment_workflow

Test the deployment workflow locally without uploading to Play Store

**Parameters:**

- `project_path` (string, required): Path to Android project

- `keystore_path` (string, required): Path to keystore file

- `store_password` (string, required): Keystore password

- `key_alias` (string, required): Key alias

- `key_password` (string, required): Key password

- `dry_run` (boolean): If true, skip actual Play Store upload




## Development

```bash
# Clone the repository
git clone <your-repo-url>
cd hitoshura25-mcp-android-playstore-deploy

# Install dependencies (including dev dependencies)
pip install -e .[dev]

# Run tests
pytest
```

## Requirements

- Python ≥3.10 (required for MCP SDK)
- MCP SDK (Model Context Protocol)

## Publishing to PyPI

This project includes a GitHub Actions workflow for automated PyPI publishing.

### Setup

1. Configure PyPI Trusted Publisher:
   - Go to https://pypi.org/manage/account/publishing/
   - Add your GitHub repository as a trusted publisher
   - Workflow name: `pypi-publish.yml`

2. Create a release:
   ```bash
   # Install pypi-workflow-generator
   pip install pypi-workflow-generator

   # Create and push a release tag
   pypi-release patch  # or: minor, major
   ```

3. The GitHub Actions workflow will automatically:
   - Run tests
   - Build the package
   - Publish to PyPI

## License

Apache-2.0

## Author

Vinayak Menon
<!-- MCP-GENERATOR-CONTENT-END:hitoshura25-mcp-android-playstore-deploy -->