# Play Store Mcp

> An MCP (Model Context Protocol) server that connects to the Google Play Developer API

- **Type:** MCP server
- **Install:** `agentstack add mcp-lusky3-play-store-mcp`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [lusky3](https://agentstack.voostack.com/s/lusky3)
- **Installs:** 0
- **Category:** [Developer Tools](https://agentstack.voostack.com/c/developer-tools)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [lusky3](https://github.com/lusky3)
- **Source:** https://github.com/lusky3/play-store-mcp
- **Website:** https://lusky3.github.io/play-store-mcp/

## Install

```sh
agentstack add mcp-lusky3-play-store-mcp
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# Play Store MCP Server

[](https://github.com/lusky3/play-store-mcp/actions/workflows/ci.yml)
[](https://codecov.io/github/lusky3/play-store-mcp)
[](https://sonarcloud.io/summary/new_code?id=lusky3_play-store-mcp)
[](https://sonarcloud.io/summary/new_code?id=lusky3_play-store-mcp)
[](https://sonarcloud.io/summary/new_code?id=lusky3_play-store-mcp)
[](https://sonarcloud.io/summary/new_code?id=lusky3_play-store-mcp)

[](https://badge.fury.io/py/play-store-mcp)
[](https://github.com/lusky3/play-store-mcp/pkgs/container/play-store-mcp)
[](https://www.python.org/downloads/)
[](https://sonarcloud.io/summary/new_code?id=lusky3_play-store-mcp)
[](https://opensource.org/licenses/MIT)

An MCP (Model Context Protocol) server that connects to the Google Play Developer API. Deploy apps, manage releases, respond to reviews, and monitor app health — all through your AI assistant.

📖 **[Full Documentation](https://lusky3.github.io/play-store-mcp)**

## ✨ Features

- 🚀 **App Deployment** — Deploy APK/AAB files to any track (internal, alpha, beta, production)
- ⚡ **Batch Operations** — Deploy to multiple tracks simultaneously
- 🌐 **Multi-Language Support** — Deploy with release notes in multiple languages
- ✅ **Input Validation** — Validate package names, tracks, and text before API calls
- 🔄 **Automatic Retries** — Built-in retry logic with exponential backoff for transient failures
- 📝 **Store Listings** — Update app titles, descriptions, and videos for any language
- 📈 **Release Management** — Promote releases between tracks, manage staged rollouts
- 👥 **Tester Management** — Add and manage testers for testing tracks
- ⭐ **Review Management** — Fetch and reply to user reviews
- 💳 **Subscription Management** — List subscriptions and check purchase status
- 🛒 **In-App Products** — List and manage in-app products
- 📦 **Expansion Files** — Manage APK expansion files for large apps
- 🧾 **Orders** — Retrieve detailed transaction information
- 🐳 **Docker Support** — Run as a container with health checks
- 🔑 **Per-Request Credentials** — Bring-your-own-credentials for multi-tenant deployments
- 🔒 **Secure** — Google Cloud service account authentication

## 🚀 Quick Start

### Prerequisites

1. **Google Cloud Project** with the Google Play Developer API enabled
2. **Service Account** with access to your Play Console
3. **Python 3.11+**, `uvx`, or **Docker** installed

### Installation

#### Using uvx (Recommended)

```bash
# Run directly without installation
uvx play-store-mcp
```

#### Using pip

```bash
pip install play-store-mcp
play-store-mcp
```

#### Using Docker

```bash
docker run -e GOOGLE_APPLICATION_CREDENTIALS=/creds/key.json \
  -v /path/to/service-account.json:/creds/key.json:ro \
  ghcr.io/lusky3/play-store-mcp:latest
```

#### From source

```bash
git clone https://github.com/lusky3/play-store-mcp.git
cd play-store-mcp
pip install -e .
play-store-mcp
```

### Configuration

Set the path to your service account key:

```bash
export GOOGLE_APPLICATION_CREDENTIALS=/path/to/service-account.json
```

### Running with HTTP Transport

For remote access or public deployments, run the server with streamable-http transport:

```bash
play-store-mcp --transport streamable-http --host 0.0.0.0 --port 8000
```

The server exposes a `/health` endpoint for monitoring.

#### Per-Request Credentials (Recommended for Public Instances)

For public deployments where users bring their own credentials, configure your MCP client to pass credentials in headers:

```json
{
  "mcpServers": {
    "play-store": {
      "url": "https://your-server.com/mcp",
      "transport": "http",
      "headers": {
        "X-Google-Credentials-Base64": "YOUR_BASE64_ENCODED_CREDENTIALS"
      }
    }
  }
}
```

To get your base64-encoded credentials:

```bash
base64 -w 0  **Service Accounts**
5. Create a new service account
6. Download the JSON key file

### 2. Grant Play Console Access

1. Go to [Google Play Console](https://play.google.com/console/)
2. Navigate to **Users and permissions**
3. Click **Invite new users**
4. Enter the service account email (from the JSON file)
5. Grant the following permissions:
   - **Release apps to testing tracks** (for internal/alpha/beta)
   - **Release apps to production** (for production releases)
   - **Reply to reviews** (for review management)
   - **View app information and download bulk reports** (for app details and orders)

## 🔒 Environment Variables

| Variable | Description | Required |
| --- | --- | --- |
| `GOOGLE_APPLICATION_CREDENTIALS` | Path to service account JSON key | Yes (or use per-request credentials) |
| `GOOGLE_PLAY_STORE_CREDENTIALS` | Inline JSON credentials string | Alternative to file path |
| `PLAY_STORE_MCP_LOG_LEVEL` | Log level (DEBUG, INFO, WARNING, ERROR) | No (default: INFO) |
| `PLAY_STORE_MCP_DISABLE_DNS_REBINDING` | Disable DNS rebinding protection (for cloud/reverse-proxy deployments) | No |
| `PLAY_STORE_MCP_READ_ONLY` | Disable all write operations (deploy, promote, rollout, reply, listing/tester updates) | No (default: off) |
| `CODE_MODE` | Enable the experimental code-mode transform (opt-in; requires the `play-store-mcp[code-mode]` extra) | No (default: off) |

## 🧪 Development

### Setup

```bash
git clone https://github.com/lusky3/play-store-mcp.git
cd play-store-mcp
uv sync --dev
```

### Running Tests

```bash
uv run pytest -v --cov=src/play_store_mcp
```

### Linting

```bash
ruff check src/ tests/
ruff format src/ tests/
```

### Type Checking

```bash
mypy src/
```

## 🐛 Troubleshooting

### Error: "Service account key not found"

Ensure `GOOGLE_APPLICATION_CREDENTIALS` points to a valid JSON file:

```bash
ls -la $GOOGLE_APPLICATION_CREDENTIALS
```

### Error: "The caller does not have permission"

Verify the service account has been granted access in Play Console with the required permissions.

### Error: "Package name not found"

Ensure the app exists in Play Console and the service account has access to it.

## 📄 License

MIT License — see [LICENSE](LICENSE) for details.

## 🙏 Acknowledgments

- Inspired by [antoniolg/play-store-mcp](https://github.com/antoniolg/play-store-mcp) (Kotlin)
- Built with the [MCP Python SDK](https://github.com/modelcontextprotocol/python-sdk)
- Uses the [Google Play Developer API](https://developers.google.com/android-publisher)

## 🤖 AI Usage Disclaimer

Portions of this codebase were generated with the assistance of Large Language Models (LLMs). All AI-generated code has been reviewed and tested to ensure quality and correctness.

## Source & license

This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [lusky3](https://github.com/lusky3)
- **Source:** [lusky3/play-store-mcp](https://github.com/lusky3/play-store-mcp)
- **License:** MIT
- **Homepage:** https://lusky3.github.io/play-store-mcp/

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/mcp-lusky3-play-store-mcp
- Seller: https://agentstack.voostack.com/s/lusky3
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
