Featured

Deploy OpenClaw in 60 seconds β€” 20% off logoDeploy OpenClaw in 60 seconds β€” 20% off

Launch OpenClaw on Hostinger in about 60 seconds and keep your agent live 24/7. Our referral link gives you 20% off, no coupon code needed.

Launch on Hostinger β†’
Run your Hermes agent on Hostinger, fully managed logoRun your Hermes agent on Hostinger, fully managed

Launch Hermes on Hostinger in one click, fully managed, no VPS knowledge needed. Use code ZACAARON10 for 10% off.

Launch on Hostinger β†’
Crawl and scrape any site into clean data, 10% off logoCrawl and scrape any site into clean data, 10% off

Firecrawl crawls and scrapes any site into clean markdown for your agent. Get 1,000 free credits, and new users get 10% off their first purchase.

Try Firecrawl free β†’
6,000+ web scrapers for your AI agent, start free logo6,000+ web scrapers for your AI agent, start free

Apify gives your agent live web data: 6,000+ prebuilt scrapers and actors, MCP-ready. Sign up free with $5 in usage credits.

Try Apify free β†’
One API to scrape, enrich, and extract the internet. logoOne API to scrape, enrich, and extract the internet.

Context.dev gives your agents a single API to scrape, enrich, and extract live web data β€” no proxies, no parsers, no maintenance.

Start building free β†’
SetupClaw: done-for-you OpenClaw for founders & exec teams logoSetupClaw: done-for-you OpenClaw for founders & exec teams

White-glove OpenClaw for founders and exec teams (4–50+ employees): we install, harden, integrate your tools, and maintain it β€” secured from day one.

Get it set up for you β†’
SEO data APIs for your agent, $1 free credit logoSEO data APIs for your agent, $1 free credit

DataForSEO gives your agent live access to SERP results, keyword data, backlinks, and on-page SEO data through one API. New accounts get a $1 credit, good for up to 20,000 keyword or backlink lookups.

Try DataForSEO free β†’
Reach 48,000+ AI builders

A flat monthly placement in front of developers actively installing AI tools. No lock-in, cancel anytime.

Advertise here β†’

Works with

Claude CodeClaude DesktopCursorVS CodeClineCodex CLIOpenClaw+ any MCP client

Install to Claude Code

This server doesn't publish a one-line install command. Follow the setup in the source repository.

Summary

AgiMaulana/HuaweiAppGalleryMcp MCP server](https://glama.ai/mcp/servers/AgiMaulana/HuaweiAppGalleryMcp/badges/score.svg)](https://glama.ai/mcp/servers/AgiMaulana/HuaweiAppGalleryMcp) 🐍 ☁️ 🍎 πŸͺŸ 🐧 - Huawei AppGallery Connect publishing: upload APK/AAB,...

README.md

Huawei AppGallery MCP

<!-- mcp-name: io.github.AgiMaulana/HuaweiAppGalleryMcp -->

![Huawei App Gallery MCP server](https://glama.ai/mcp/servers/AgiMaulana/HuaweiAppGalleryMcp)

![HuaweiAppGalleryMcp MCP server](https://glama.ai/mcp/servers/AgiMaulana/HuaweiAppGalleryMcp) ![MCP Badge](https://lobehub.com/mcp/agimaulana-huaweiappgallerymcp) ![License: MIT](LICENSE)

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:

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

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

Manual installation

pip install huawei-app-gallery-mcp

Or with uv:

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):

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 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):

{
  "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):

{
  "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.), 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) |

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

See related servers & alternatives β†’

Related MCP servers

Browse all β†’

Related guides

Hand-picked reading to help you choose and use Other servers.