loading…
Search for a command to run...
loading…
Huawei AppGallery Connect publishing: upload APK/AAB, update metadata and localizations, submit for review, and manage phased rollouts.
Huawei AppGallery Connect publishing: upload APK/AAB, update metadata and localizations, submit for review, and manage phased rollouts.
HuaweiAppGalleryMcp MCP server MCP Badge License: MIT
A Model Context Protocol (MCP) server for managing app publishing on Huawei AppGallery Connect. Integrates directly with Claude Desktop or any MCP-compatible client.
channel_id=2)Claude Code:
claude mcp add --from-registry io.github.AgiMaulana/HuaweiAppGalleryMcp
Other MCP clients:
Find it at registry.modelcontextprotocol.io — search for huawei-appgallery.
pip install huawei-app-gallery-mcp
Or with uv:
uv pip install huawei-app-gallery-mcp
These are Connect API credentials — different from HMS Core app credentials.
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
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"
}
}
}
}
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"
}
}
}
}
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.), optionally for a specific release channel via channel_id |
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) |
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).
Inspect open testing:
Query the app metadata for the open testing channel with
query_app_info(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.
Update app info → Update language info → Upload APK/AAB → Submit app
update_app_info / update_language_info to set metadata and release notesupload_app_file to upload the binary (handles chunking automatically)submit_app to trigger review and releaseFor package release instructions, see docs/RELEASE.md.
This server wraps the AppGallery Connect Publishing API.
MIT
Добавь это в claude_desktop_config.json и перезапусти Claude Desktop.
{
"mcpServers": {
"agimaulana-huaweiappgallerymcp": {
"command": "npx",
"args": []
}
}
}