Huawei AppGallery MCP
以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →
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:**
**Other MCP clients:**
Find it at registry.modelcontextprotocol.io — search for huawei-appgallery.
Manual installation
Or with uv:
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):
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):
Claude Code (machine-level, manual install only)
Create /Library/Application Support/ClaudeCode/managed-mcp.json (macOS) or /etc/claude-code/managed-mcp.json (Linux):
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 |