{
  "markdown": "# Huawei AppGallery MCP\n\n<!-- mcp-name: io.github.AgiMaulana/HuaweiAppGalleryMcp -->\n\n[![Huawei App Gallery MCP server](https://glama.ai/mcp/servers/AgiMaulana/HuaweiAppGalleryMcp/badges/card.svg)](https://glama.ai/mcp/servers/AgiMaulana/HuaweiAppGalleryMcp)\n\n[![HuaweiAppGalleryMcp MCP server](https://glama.ai/mcp/servers/AgiMaulana/HuaweiAppGalleryMcp/badges/score.svg)](https://glama.ai/mcp/servers/AgiMaulana/HuaweiAppGalleryMcp)\n[![MCP Badge](https://lobehub.com/badge/mcp/agimaulana-huaweiappgallerymcp)](https://lobehub.com/mcp/agimaulana-huaweiappgallerymcp)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)\n\nA [Model Context Protocol (MCP)](https://modelcontextprotocol.io) server for managing app publishing on **Huawei AppGallery Connect**. Integrates directly with Claude Desktop or any MCP-compatible client.\n\n## Features\n\n- Query and update app metadata (name, description, category, ratings, support contacts)\n- Manage localized store listings per language\n- Upload APK / AAB files with automatic chunked upload for large files (>4 GB)\n- Submit apps for full release, phased (grey) release, scheduled release, or open testing (`channel_id=2`)\n- Submit apps when the binary is hosted on your own server\n- Manage phased release lifecycle (state changes, percentage updates)\n- Query AAB compilation status\n- Update scheduled release time\n- Set GMS dependency flag\n- Obtain download/installation and install-failure report URLs\n\n## Installation\n\n### Via MCP Registry (recommended)\n\n**Claude Code:**\n\n```bash\nclaude mcp add --from-registry io.github.AgiMaulana/HuaweiAppGalleryMcp\n```\n\n**Other MCP clients:**\nFind it at [registry.modelcontextprotocol.io](https://registry.modelcontextprotocol.io) — search for `huawei-appgallery`.\n\n### Manual installation\n\n```bash\npip install huawei-app-gallery-mcp\n```\n\nOr with `uv`:\n\n```bash\nuv pip install huawei-app-gallery-mcp\n```\n\n## Configuration\n\n### 1. Get API credentials\n\n1. Go to [AppGallery Connect](https://developer.huawei.com/consumer/en/service/josp/agc/index.html)\n2. Navigate to **Users & Permissions** → **API key** → **Connect API**\n3. Click **Create** and select the **App manager** role\n4. Copy the **Client ID** and **Client Secret**\n\n> These are **Connect API** credentials — different from HMS Core app credentials.\n\n### 2. Set environment variables\n\nCreate a `.env` file in your working directory (the server loads it automatically):\n\n```bash\nHUAWEI_CLIENT_ID=your_connect_api_client_id\nHUAWEI_CLIENT_SECRET=your_connect_api_client_secret\n\n# Optional: set a default app ID so you don't have to pass it to every tool call\nHUAWEI_APP_ID=your_app_id\n```\n\n### 3. Connect to your MCP client (manual install only)\n\n#### Claude Desktop\n\nAdd to `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS) or `%APPDATA%\\Claude\\claude_desktop_config.json` (Windows):\n\n```json\n{\n  \"mcpServers\": {\n    \"huawei-appgallery\": {\n      \"command\": \"huawei-app-gallery-mcp\",\n      \"env\": {\n        \"HUAWEI_CLIENT_ID\": \"your_client_id\",\n        \"HUAWEI_CLIENT_SECRET\": \"your_client_secret\",\n        \"HUAWEI_APP_ID\": \"your_app_id\"\n      }\n    }\n  }\n}\n```\n\n#### Claude Code (machine-level, manual install only)\n\nCreate `/Library/Application Support/ClaudeCode/managed-mcp.json` (macOS) or `/etc/claude-code/managed-mcp.json` (Linux):\n\n```json\n{\n  \"mcpServers\": {\n    \"huawei-appgallery\": {\n      \"type\": \"stdio\",\n      \"command\": \"huawei-app-gallery-mcp\",\n      \"env\": {\n        \"HUAWEI_CLIENT_ID\": \"your_client_id\",\n        \"HUAWEI_CLIENT_SECRET\": \"your_client_secret\",\n        \"HUAWEI_APP_ID\": \"your_app_id\"\n      }\n    }\n  }\n}\n```\n\n## Tools\n\nAll tools accept an optional `app_id` argument. If omitted, `HUAWEI_APP_ID` from the environment is used as the default.\n\n| Tool | Description |\n|---|---|\n| `query_app_info` | Query current app metadata (name, description, category, ratings, etc.), optionally for a specific release channel via `channel_id` |\n| `update_app_info` | Update app metadata in the AppGallery Connect draft |\n| `update_language_info` | Add or update a localized store listing for a specific language |\n| `delete_language_info` | Remove a localized store listing |\n| `get_upload_url` | Obtain a pre-signed upload URL and auth code before uploading a file |\n| `upload_app_file` | Upload an APK/AAB from local disk and attach it to the app draft (auto-chunked for >4 GB) |\n| `update_app_file_info` | Manually attach already-uploaded files to the app draft |\n| `query_compile_status` | Query AAB compilation status for one or more package IDs |\n| `submit_app` | Submit the app for review and release (supports full, phased, scheduled, and open testing via `channel_id=2`) |\n| `submit_app_with_file` | Submit when the binary is hosted on your own server |\n| `change_phased_release_state` | Change phased release status: proceed, roll back, or stop |\n| `update_phased_release` | Convert phased release to full release or update the rollout schedule/percentage |\n| `update_release_time` | Update the scheduled release time (only when app is in Releasing state) |\n| `set_gms_dependency` | Report whether the app depends on GMS |\n| `get_download_report_url` | Get download URL for the app download & installation report (CSV/Excel, max 180 days) |\n| `get_install_failure_report_url` | Get download URL for the installation failure report (CSV/Excel, max 180 days) |\n\n## Usage Examples\n\n**Upload and release a new version:**\n\n> Upload `/path/to/app-release.aab` (AAB, file type 5) then submit it for a full release.\n\n**Phased rollout:**\n\n> Submit the app for a phased release to 20% of users.\n\n**Open testing:**\n\n> Submit the app for open testing (channel_id=2).\n\n**Inspect open testing:**\n\n> Query the app metadata for the open testing channel with `query_app_info(channel_id=2)`.\n\n**Update release notes:**\n\n> Update the English release notes to \"Bug fixes and performance improvements\".\n\n**Scheduled release:**\n\n> Submit the app for release on March 20, 2026 at 10:00 UTC.\n\n**Download report:**\n\n> Get the download and installation report URL for the last 30 days in English CSV format.\n\n## Publishing Workflow\n\n```\nUpdate app info  →  Update language info  →  Upload APK/AAB  →  Submit app\n```\n\n1. Use `update_app_info` / `update_language_info` to set metadata and release notes\n2. Use `upload_app_file` to upload the binary (handles chunking automatically)\n3. Use `submit_app` to trigger review and release\n\n## Package Release Workflow\n\nFor package release instructions, see [docs/RELEASE.md](/Users/agi.maulana/Documents/Workspace/HuaweiAppGalleryMcp/docs/RELEASE.md).\n\n## API Reference\n\nThis server wraps the [AppGallery Connect Publishing API](https://developer.huawei.com/consumer/en/doc/AppGallery-connect-Guides/agcapi-getstarted-0000001111845062).\n\n## License\n\nMIT\n",
  "bytes": 6784,
  "sha": "800e75228e495abe08eecf7e043ea3224444f974e34dd98eaf1b4ebc09195ef2",
  "repo_slug": "agimaulana/huaweiappgallerymcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_agimaulana_huaweiappgallerymcp_4cf89ff9/readme"
}