HuaweiAppGalleryMcp

io.github.AgiMaulanaPublished by GitHub account AgiMaulanav1.1.1Updated Oct 24, 2026

Huawei AppGallery Connect MCP: upload APK/AAB, update metadata, submit and manage app releases.

Overview

AI-generated overview

A local MCP server that lets an assistant manage Huawei AppGallery Connect publishing: app metadata, localized listings, APK/AAB uploads, releases and reports.

What you can do
Query and update app metadata, including per release channel via channel_id, and set the GMS dependency flag. Add, update or delete localized store listings per language. Get an upload URL, upload APK/AAB files from local disk with automatic chunking, and attach already-uploaded files to the draft. Submit apps for full, phased, scheduled or open testing release, including when the binary is hosted on your own server. Manage phased release state, rollout percentage and scheduled release time, and check AAB compile status. Get download/installation and install-failure report URLs.
When to use it
Useful when you publish or maintain Android apps on Huawei AppGallery Connect and want an assistant to prepare metadata, upload builds, run phased or scheduled rollouts, and pull install reports without using the web console.
Requirements
Runs locally as a Python package (pip or uv install) over stdio, for desktop MCP clients only. Needs AppGallery Connect Connect API credentials in HUAWEI_CLIENT_ID and HUAWEI_CLIENT_SECRET, created with the App manager role; optionally HUAWEI_APP_ID as a default app ID. Network access to the AppGallery Connect API is required.
Before you install
HUAWEI_CLIENT_SECRET is a secret and must be kept out of shared configs and repositories; the server also reads a .env file from the working directory. Tools change live store state: they update metadata and listings, delete localized listings, upload binaries, and submit apps for review and release, including phased, scheduled and open testing. Submitting triggers review and public release, so confirm before running.

Installation

In SourceWeft

  1. Open HuaweiAppGalleryMcp in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

Huawei AppGallery MCP

[Huawei App Gallery MCP server]

[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.

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

Via MCP Registry (recommended)

Claude Code:

bash
claude mcp add --from-registry io.github.AgiMaulana/HuaweiAppGalleryMcp

Other MCP clients: Find it at registry.modelcontextprotocol.io — search for huawei-appgallery.

Manual installation

bash
pip install huawei-app-gallery-mcp

Or with uv:

bash
uv pip install huawei-app-gallery-mcp

Configuration

1. Get API credentials

  1. Go to AppGallery Connect
  2. Navigate to Users & Permissions → API key → Connect API
  3. Click Create and select the App manager role
  4. 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):

bash
HUAWEI_CLIENT_ID=your_connect_api_client_idHUAWEI_CLIENT_SECRET=your_connect_api_client_secret
# Optional: set a default app ID so you don't have to pass it to every tool callHUAWEI_APP_ID=your_app_id

3. Connect to your MCP client (manual install only)

Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

json
{  "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"      }    }  }}
Claude Code (machine-level, manual install only)

Create /Library/Application Support/ClaudeCode/managed-mcp.json (macOS) or /etc/claude-code/managed-mcp.json (Linux):

json
{  "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.

ToolDescription
query_app_infoQuery current app metadata (name, description, category, ratings, etc.), optionally for a specific release channel via channel_id
update_app_infoUpdate app metadata in the AppGallery Connect draft
update_language_infoAdd or update a localized store listing for a specific language
delete_language_infoRemove a localized store listing
get_upload_urlObtain a pre-signed upload URL and auth code before uploading a file
upload_app_fileUpload an APK/AAB from local disk and attach it to the app draft (auto-chunked for >4 GB)
update_app_file_infoManually attach already-uploaded files to the app draft
query_compile_statusQuery AAB compilation status for one or more package IDs
submit_appSubmit the app for review and release (supports full, phased, scheduled, and open testing via channel_id=2)
submit_app_with_fileSubmit when the binary is hosted on your own server
change_phased_release_stateChange phased release status: proceed, roll back, or stop
update_phased_releaseConvert phased release to full release or update the rollout schedule/percentage
update_release_timeUpdate the scheduled release time (only when app is in Releasing state)
set_gms_dependencyReport whether the app depends on GMS
get_download_report_urlGet download URL for the app download & installation report (CSV/Excel, max 180 days)
get_install_failure_report_urlGet 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).

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.

Publishing Workflow

Update app info  →  Update language info  →  Upload APK/AAB  →  Submit app
  1. Use update_app_info / update_language_info to set metadata and release notes
  2. Use upload_app_file to upload the binary (handles chunking automatically)
  3. Use submit_app to trigger review and release

Package Release Workflow

For package release instructions, see docs/RELEASE.md.

API Reference

This server wraps the AppGallery Connect Publishing API.

License

MIT

Source: README.md at commit 74a7c73

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v1.1.1LatestSep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts