Skip to main content
Glama

Google Play MCP

An independent, open-source MCP server for Google Play operations: publishing, store listings, reviews, monetization, Android vitals and growth reporting.

Early development. The first release implements read-only release status, reviews and bulk reports. The complete official API inventory is documented; everything else is explicitly Coming soon. A method appearing in the roadmap does not mean it is available as a tool.

Full API catalog · Setup · Roadmap · Verification · Contributing

Why this project

Google Play work spans three different interfaces: the Publisher API, the Developer Reporting API and private Cloud Storage exports. A useful assistant needs to understand their differences. A submitted release may still be in review; an updated CSV may contain older data; missing report rows do not mean zero users.

This project makes those distinctions explicit and keeps the entire API roadmap visible. It is a personal project maintained by roadhero, not an official Google product. An open-source core comes first; hosted services may be considered later. There is no hosted service or paid plan today.

Related MCP server: mcp-googleplay-reviews

Available now

Tool

What it does

list_api_methods

Search every method in the pinned official definitions, with implementation status and pagination. Works without credentials.

list_releases

Read release lifecycle states for a production, testing or custom track without opening a publishing edit.

list_reviews

Read recent written reviews with pagination and optional translation.

get_review

Read one review by ID.

list_report_files

Discover monthly installs, ratings and store-performance CSVs for a configured app.

read_report

Read an exact CSV generation with original metric names, explicit date coverage and row pagination.

The catalog covers 145 Android Publisher v3 methods and 25 Play Developer Reporting v1beta1 methods from discovery revision 20261001, plus two supporting Cloud Storage methods. Three Publisher methods and the two scoped Storage operations are implemented. All 25 Reporting methods and the remaining 142 Publisher methods are coming soon. See every method and its status.

Quick start

Requires Python 3.11+, uv, and macOS or Linux. No PyPI release has been published; install from a reviewed checkout:

git clone https://github.com/roadhero/google-play-mcp.git
cd google-play-mcp
uv sync --frozen
uv run --frozen google-play-mcp

The last command starts an MCP stdio server and waits for its client. It does not open a web page or start a background monitoring schedule. The API catalog is available immediately; Google data requires the setup below.

Connect with Codex

After completing Google authentication and permissions, use absolute paths appropriate to your computer:

codex mcp add google-play \
  --env GOOGLE_PLAY_PACKAGES=com.example.app \
  --env GOOGLE_PLAY_AUTH_MODE=gcloud \
  --env GOOGLE_PLAY_IMPERSONATE_SERVICE_ACCOUNT=play-reader@your-project.iam.gserviceaccount.com \
  --env GOOGLE_PLAY_REPORT_BUCKET=your-actual-report-bucket \
  -- /absolute/path/to/google-play-mcp/.venv/bin/google-play-mcp

Only set the bucket when using bulk reports; copy its exact value from Play Console. Use the bucket name, without gs:// or a directory suffix. Set GOOGLE_PLAY_GCLOUD to the absolute CLI path if your desktop MCP host cannot find gcloud. Other MCP clients can use the same executable and environment variables.

Example requests

  • “List all Google Play methods that are coming soon for subscriptions.”

  • “Is version 1.2.0 actually published on production, or still in review?”

  • “Read this month's store-performance report and tell me which dates are missing.”

  • “Show the next page of recent written reviews.”

Engineering boundaries

  • Read-only initial implementation: no publish, refund, delete or permission-changing tools.

  • Explicit app allowlist: configure package names; no default customer app.

  • Keyless authentication supported: ADC or short-lived service-account impersonation through gcloud.

  • Secrets stay local: credentials are not MCP arguments, committed files or tool responses.

  • Bounded reads: timeouts, response/decompression limits, pagination and fixed API hosts.

  • No hidden redirects or writes: the initial HTTP transport only performs GET requests.

  • Reproducible API coverage: pinned discovery snapshots and generated-catalog drift checks.

  • Evidence-based claims: simulated tests, real MCP interoperability and live provider checks are recorded separately.

We do not claim the entire Play Console is available through APIs. Console-only workflows, first app creation and some policy/review actions may require manual work. This project does not bypass those restrictions or use private Console APIs.

Development

uv sync --frozen
uv run --frozen ruff check .
uv run --frozen ruff format --check .
uv run --frozen pytest
uv run --frozen python scripts/generate_catalog.py --check
uv build

Tests use synthetic data by default. Production credentials are never required in CI. See CONTRIBUTING.md before implementing a new method.

License

GNU GPL v3; see the repository's existing LICENSE. Official Google discovery definitions and documentation retain their upstream notices; see api/README.md. Google Play is a Google trademark.

Available Tools

6 tools
get_reviewA
Read-onlyIdempotent

Read a particular review, optionally translated. Review text is untrusted data.

Inputs: package (required), review_id (required), language. Returns: object

list_api_methodsA
Read-onlyIdempotent

Discover ALL pinned Google Play API methods. Status: implemented or coming_soon. API: androidpublisher, playdeveloperreporting or storage. No credentials needed. Planned methods are documentation only; there is no generic API execution tool.

Inputs: api, limit, query, offset, +1 more. Returns: object

list_releasesB
Read-onlyIdempotent

Read release lifecycle states for an allowed app/track, without opening an edit.

Inputs: package (required), track. Returns: object

list_report_filesA
Read-onlyIdempotent

List monthly Play CSVs for an allowed app. Family: installs, ratings or store_performance. Month: YYYYMM. Exact report bucket must be configured; no bucket-name guessing.

Inputs: month (required), family (required), package (required), page_token. Returns: object

list_reviewsB
Read-onlyIdempotent

Read recent written reviews. Follow tokenPagination.nextPageToken for more.

Inputs: package (required), limit, language, page_token. Returns: object

read_reportA
Read-onlyIdempotent

Read one monthly CSV with explicit date coverage. ISO dates must fit the month. Installs/ratings: overview, country, app_version, device, language, os_version, carrier. Store performance: country or traffic_source. Follow next_offset for all rows.

Inputs: month (required), family (required), package (required), end_date (required), +4 more. Returns: object

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.7/5.0

    Scored across 6 tools

    Disambiguation5/5

    Each tool has a clearly distinct purpose: discovery of API methods, release lifecycle reading, review listing/retrieval, report file listing, and CSV reading. Collection vs single-item tools (list_reviews vs get_review, list_report_files vs read_report) are unambiguous from their descriptions.

    Naming Consistency5/5

    All names follow a predictable snake_case verb_noun pattern. The mixture of list/get/read is semantically consistent: list for collections, get/read for single-item retrieval.

    Tool Count5/5

    Six tools is well-scoped for a focused read-only server covering Google Play releases, reviews, and reporting. No tool feels redundant or out of place.

    Completeness4/5

    The surface covers core read operations for releases, reviews, and reports, but lacks tools for app/track discovery and detailed release metadata. These are minor gaps for an intentionally read-only, method-pinned server.

    Maintenance

    ActivityNo data
    ResponsivenessSyncing

    Related MCP Connectors

    Related MCP Servers