PubShip is an open-source MCP (Model Context Protocol) server for Google Play developer workflows, running on the developer's own computer or self-owned infrastructure, using the developer's own Google service account credentials. It is not an official Google product, nor is it a hosted service, and the project itself does not receive user credentials.
Main capabilities:
- Read app releases, user reviews, Android vitals, and scoped bulk reports.
- Inspect app listings, subscriptions, products, and account resources, where reading sensitive data requires separate authorization.
- Prepare and review write operations; write operations require explicit app/method permissions and are single-use execution.
- Local file transfers are boundary-limited, and publication is separated from edit staging.
Method list: The built-in fixed list contains 172 method definitions, of which 170 already have implementations; one subscription archive method is not supported by Google; voided-purchases access is intentionally disabled by project policy. Disabled operations cannot be invoked through local or self-hosted tools.
Security and permission principles:
- Read-only by default; optional write operations and sensitive reads require explicit configuration.
- Use your own service account and grant only the minimum permissions required for the intended operations.
- Private key JSON files should be kept outside this repository, and credentials must never be pasted into assistant conversations.
- Text returned by providers is treated as untrusted data.
- Missing data does not mean zero; submitted changes are not necessarily published immediately; operation counts do not mean they have been actually verified by Google.
How to use:
- Install the published package via PyPI (see the official repository for the command).
- You can run uv run pubship --check after uv sync to check the local version.
- This command starts a stdio server and waits for an MCP client to connect.
- Set the required environment variables in the shell that starts the client; after changing the environment, restart the client.
- The client manifest in the repository declares the local service account key path and package name; for the Gemini CLI installation command and configuration, see the client setup documentation.
- The generic MCP harness is configured as:Executable file uvx, parameter pubship, and configure the local environment.
- For clients that require explicit configuration, use the corresponding configuration method.
- If proxy-assisted installation is needed, you may read llms-install.md; provide only the path to the service account key file, never its contents.
Self-hosting: pubship-server retains the HTTP implementation for use with infrastructure controlled by developers themselves. The server refuses to start when PUBSHIP_SERVER_ALLOWED_EMAILS is missing. Login requires a signed Google ID token, a verified exact email match, and nonce binding before Google credentials are persisted. After an account is removed from the allowlist, its stored authorization will become invalid on next use. Old authorizations without a verified identity must be reconnected. Registration remains closed until explicitly enabled by the operator.
Use cases: Developers who want to automate their own or their organization's Google Play publishing and inspection work, and who can manage service accounts, permissions, and the local runtime environment themselves.
Limitations and notes:
- Use only for apps and developer accounts owned by you or your organization.
- You must comply with Google's Play Developer API terms.
- PubShip hosted instances run by others are not provided or endorsed by the PubShip project.
- Tests use mock providers; browser tests require the Playwright engine to be installed; backup integration tests require age. Platform checks that cannot be performed will be recorded truthfully.
- Offline lint is not a model grading level.
- Source versions may be released before packages.
- Regarding licensing: PubShip is free software, licensed under the GNU Affero General Public License v3.0 only (AGPL-3.0-only). Copyright (C) 2026 Denys Vorobyov. Other licensing terms may be obtained by contacting legal@pubship.dev.
- Project names, trademarks, and third-party notices are detailed in the repository description.