A previous release had provenance metadata, but this release does not. View details.
Huawei AppGallery MCP
A Model Context Protocol (MCP) server for managing app publishing on Huawei AppGallery Connect. Integrates directly with Claude Desktop or any MCP-compatible client.
Features
- Query and update app metadata (name, description, category, ratings, support contacts)
- Manage localized store listings per language
- Upload APK / AAB files with automatic chunked upload for large files (>4 GB)
- Submit apps for full release, phased (grey) release, scheduled release, or open testing (
channel_id=2) - Submit apps when the binary is hosted on your own server
- Manage phased release lifecycle (state changes, percentage updates)
- Query AAB compilation status
- Update scheduled release time
- Set GMS dependency flag
- Obtain download/installation and install-failure report URLs
Installation
pip install huawei-app-gallery-mcp
Or with uv:
uv pip install huawei-app-gallery-mcp
Configuration
1. Get API credentials
- Go to AppGallery Connect
- Navigate to Users & Permissions → API key → Connect API
- Click Create and select the App manager role
- Copy the Client ID and Client Secret
These are Connect API credentials — different from HMS Core app credentials.
2. Set environment variables
Create a .env file in your working directory (the server loads it automatically):
HUAWEI_CLIENT_ID=your_connect_api_client_id
HUAWEI_CLIENT_SECRET=your_connect_api_client_secret
# Optional: set a default app ID so you don't have to pass it to every tool call
HUAWEI_APP_ID=your_app_id
3. Connect to Claude Desktop
Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"huawei-appgallery": {
"command": "huawei-app-gallery-mcp",
"env": {
"HUAWEI_CLIENT_ID": "your_client_id",
"HUAWEI_CLIENT_SECRET": "your_client_secret",
"HUAWEI_APP_ID": "your_app_id"
}
}
}
}
Connect to Claude Code (machine-level)
Create /Library/Application Support/ClaudeCode/managed-mcp.json (macOS) or /etc/claude-code/managed-mcp.json (Linux):
{
"mcpServers": {
"huawei-appgallery": {
"type": "stdio",
"command": "huawei-app-gallery-mcp",
"env": {
"HUAWEI_CLIENT_ID": "your_client_id",
"HUAWEI_CLIENT_SECRET": "your_client_secret",
"HUAWEI_APP_ID": "your_app_id"
}
}
}
}
Tools
All tools accept an optional app_id argument. If omitted, HUAWEI_APP_ID from the environment is used as the default.
| Tool | Description |
|---|---|
query_app_info |
Query current app metadata (name, description, category, ratings, etc.) |
update_app_info |
Update app metadata in the AppGallery Connect draft |
update_language_info |
Add or update a localized store listing for a specific language |
delete_language_info |
Remove a localized store listing |
get_upload_url |
Obtain a pre-signed upload URL and auth code before uploading a file |
upload_app_file |
Upload an APK/AAB from local disk and attach it to the app draft (auto-chunked for >4 GB) |
update_app_file_info |
Manually attach already-uploaded files to the app draft |
query_compile_status |
Query AAB compilation status for one or more package IDs |
submit_app |
Submit the app for review and release (supports full, phased, scheduled, and open testing via channel_id=2) |
submit_app_with_file |
Submit when the binary is hosted on your own server |
change_phased_release_state |
Change phased release status: proceed, roll back, or stop |
update_phased_release |
Convert phased release to full release or update the rollout schedule/percentage |
update_release_time |
Update the scheduled release time (only when app is in Releasing state) |
set_gms_dependency |
Report whether the app depends on GMS |
get_download_report_url |
Get download URL for the app download & installation report (CSV/Excel, max 180 days) |
get_install_failure_report_url |
Get download URL for the installation failure report (CSV/Excel, max 180 days) |
Usage Examples
Upload and release a new version:
Upload
/path/to/app-release.aab(AAB, file type 5) then submit it for a full release.
Phased rollout:
Submit the app for a phased release to 20% of users.
Open testing:
Submit the app for open testing (channel_id=2).
Update release notes:
Update the English release notes to "Bug fixes and performance improvements".
Scheduled release:
Submit the app for release on March 20, 2026 at 10:00 UTC.
Download report:
Get the download and installation report URL for the last 30 days in English CSV format.
Publishing Workflow
Update app info → Update language info → Upload APK/AAB → Submit app
- Use
update_app_info/update_language_infoto set metadata and release notes - Use
upload_app_fileto upload the binary (handles chunking automatically) - Use
submit_appto trigger review and release
API Reference
This server wraps the AppGallery Connect Publishing API.
License
MIT
Metadata
Release files for huawei-app-gallery-mcp 1.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Loss of provenance
These files do not have provenance metadata, despite files in a prior release including this data.
We recommend further investigation before installing these files. View details.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| huawei_app_gallery_mcp-1.1.1.tar.gz | 14.7 kB | Without provenance | Details for huawei_app_gallery_mcp-1.1.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| huawei_app_gallery_mcp-1.1.1-py3-none-any.whl | Python 3 | none | any | Details for huawei_app_gallery_mcp-1.1.1-py3-none-any.whl |
Total release size: 33.4 kB
Release files / huawei_app_gallery_mcp-1.1.1.tar.gz
Loss of provenance
This file belongs to a release without provenance metadata, despite a prior release including this data.
We recommend further investigation before installing this file. View details.
| Download URL | huawei_app_gallery_mcp-1.1.1.tar.gz |
|---|---|
| Size | 14.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9263ba10ff533979126eafb76a2f42a937d39078914351a89063bd2fe32b8428
|
|
BLAKE2b-256 checksum How to use checksums |
1936616e84d180503f6f5b966abc68b7211c3a9f504ddb9297ad6f433acb33ce
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.10.9 {"installer":{"name":"uv","version":"0.10.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / huawei_app_gallery_mcp-1.1.1-py3-none-any.whl
Loss of provenance
This file belongs to a release without provenance metadata, despite a prior release including this data.
We recommend further investigation before installing this file. View details.
| Download URL | huawei_app_gallery_mcp-1.1.1-py3-none-any.whl |
|---|---|
| Size | 18.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e788808e6110809f7f04373ef11027ff226e111615937cc26df50a6569e14bdf
|
|
BLAKE2b-256 checksum How to use checksums |
06a224f058a324381b11be72e75ade7155119bf80b986e85d036d3d586fe15e9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.10.9 {"installer":{"name":"uv","version":"0.10.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Security for huawei-app-gallery-mcp 1.1.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Loss of provenance
A previous release of these files had provenance metadata, but this release does not.
While this could reflect a routine change by the project maintainers, it may also indicate that the release files have been compromised.
Release comparison
- Removed 1.1.0 2 files With provenance
- Added 1.1.1 2 files Without provenance
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.