Skip to main content
Glama

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

Related MCP server: 302AI Sandbox MCP Server

Installation

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 & PermissionsAPI keyConnect 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

Available Tools

17 tools
change_phased_release_stateB

Proceed, roll back, or stop a phased (grey) release.

ParametersJSON Schema
NameRequiredDescriptionDefault
app_idNoAppGallery Connect app ID. Optional if HUAWEI_APP_ID is set in the environment.
stateYesRELEASE=proceed, ROLLBACK=roll back, GRAY_TERMINATED=stop.
phased_release_start_timeNoUTC datetime, e.g. 2026-05-01T00:00:00+0800.
phased_release_end_timeNoUTC datetime, e.g. 2026-05-15T00:00:00+0800.
phased_release_percentNoRollout %, e.g. "50.00".

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description does not disclose important behavioral traits such as required permissions, side effects, or error states. It only states the possible actions, leaving the agent unaware of mutation implications or reversibility.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, short sentence that efficiently conveys the main actions. However, it could be structured to list the state transitions explicitly for quicker parsing. No unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has five parameters and no output schema, the description is too brief. It fails to explain what a phased release is, the consequences of each state change, or any constraints (e.g., timing). The context from siblings is not leveraged.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% coverage, so each parameter is already described. The description adds no additional meaning beyond what is in the schema; it merely mentions the actions ('proceed, roll back, stop') which correspond to state values. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: proceeding, rolling back, or stopping a phased release. It uses specific verbs and a clear resource, and implicitly distinguishes itself from the sibling tool 'update_phased_release' by focusing on state changes rather than other modifications.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use the tool (when you need to change the state of a phased release), but it does not provide any explicit guidance on when not to use it or how it compares to alternatives like 'update_phased_release'. No exclusion criteria or context are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

delete_language_infoB

Remove a localized store listing from the app draft.

ParametersJSON Schema
NameRequiredDescriptionDefault
app_idNoAppGallery Connect app ID. Optional if HUAWEI_APP_ID is set in the environment.
langYese.g. "fr-FR"

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description must disclose behaviors. It only states the basic action without mentioning permanence, state requirements, side effects, or errors.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One short sentence with no redundancy. Every word is necessary and front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, no annotations, and limited parameters, the description is too sparse. It lacks details on return value, error conditions, and post-deletion state.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds no extra meaning beyond the schema; 'localized store listing' hints at the lang parameter but doesn't elaborate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Remove') and the resource ('a localized store listing'), distinguishing it from sibling tools like update_language_info.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use (remove a localized listing) but offers no guidance on prerequisites, when not to use, or alternatives among siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_download_report_urlA

Get download URL for app download/install report (CSV or Excel). Max 180-day range.

ParametersJSON Schema
NameRequiredDescriptionDefault
app_idNoAppGallery Connect app ID. Optional if HUAWEI_APP_ID is set in the environment.
languageYesColumn header language.
start_timeYesYYYYMMDD (UTC).
end_timeYesYYYYMMDD (UTC).
group_byNodate (default), countryId, businessType, or appVersion.
export_typeNoDefault: CSV.

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden. It adds the behavioral constraint of a maximum 180-day range but lacks details on auth, rate limits, or what the returned URL does.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, clear sentence that states the tool's purpose and a key constraint, with no wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity and the fact that it has no output schema, the description provides sufficient context to understand its function and a key operational constraint.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so all parameters are described. The tool description adds minimal extra meaning (only the range limit), meeting baseline expectation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool gets a download URL for an app download/install report, specifying format (CSV or Excel) and a maximum date range of 180 days, which distinguishes it from sibling tools like get_install_failure_report_url.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage within a 180-day range but does not explicitly state when to use this tool vs. alternatives or provide exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_install_failure_report_urlB

Get download URL for installation failure report (CSV or Excel). Max 180-day range.

ParametersJSON Schema
NameRequiredDescriptionDefault
app_idNoAppGallery Connect app ID. Optional if HUAWEI_APP_ID is set in the environment.
languageYesColumn header language.
start_timeYesYYYYMMDD (UTC).
end_timeYesYYYYMMDD (UTC).
group_byNodate (default), deviceName, downloadType, appVersion, or countryId.
export_typeNoDefault: CSV.

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. It only states the action is a 'get' (read), but lacks details on authorization, rate limits, or any side effects. Minimal behavioral disclosure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with the core purpose. Efficient and to the point. Slight improvement could be more structured, but overall concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, description implies it returns a URL. It covers the key constraints (format, date range). Could explicitly state return type, but sufficient for a simple URL retrieval tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema covers all 6 parameters with descriptions (100% coverage). The description adds only the context of CSV/Excel formats, which is already in the schema enum. No additional parameter semantics beyond schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states verb 'get', resource 'installation failure report', and format options (CSV or Excel). It also adds a time range constraint. This distinguishes it from the sibling 'get_download_report_url' tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool versus alternatives. The description mentions a max 180-day range but does not outline prerequisites, common scenarios, or when to avoid using it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_upload_urlB

Get a pre-signed upload URL and authCode for an APK/AAB/asset file. Returns uploadUrl, chunkUploadUrl, authCode.

ParametersJSON Schema
NameRequiredDescriptionDefault
app_idNoAppGallery Connect app ID. Optional if HUAWEI_APP_ID is set in the environment.
suffixYesFile extension.
file_nameNoFile name (used to infer suffix if omitted).
release_typeNo1=formal (default), 3=phased.

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description must disclose behavior. It only says what is returned, not side effects, authentication needs, or whether it is a read-only operation. Lacks transparency about the impact of calling this tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with no extraneous words. Front-loaded with action and resource. Efficient and to the point.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple URL retrieval tool, the description is somewhat complete but misses context like the need for authentication and the step in the upload workflow. Given no output schema, the listing of return values is helpful.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema covers all 4 parameters with descriptions, so baseline is 3. Description adds value by explaining what the tool returns, but does not elaborate on parameter semantics beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states the tool gets a pre-signed upload URL and authCode for specific file types (APK/AAB/asset) and lists return values. Distinguishes from siblings that perform different actions like submit or update.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives like upload_app_file. Does not mention prerequisites or that it should be used before uploading a file.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

query_app_infoA

Query app metadata (name, description, category, content rating) from AppGallery Connect. Optionally scope to a release channel with channel_id=2 for open testing.

ParametersJSON Schema
NameRequiredDescriptionDefault
app_idNoAppGallery Connect app ID. Optional if HUAWEI_APP_ID is set in the environment.
release_typeNo1=formal (default), 3=phased/grey.
channel_idNoOptional channel ID to query a specific release channel. Use 2 for open testing.

TDQS

A3.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided. The description implies a read operation but does not explicitly state it is read-only, nor does it disclose any behavioral traits like auth requirements or rate limits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise with two sentences that front-load the purpose and include a practical example without unnecessary details.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the main functionality but lacks details on the full output structure, which is not provided in the output schema. For a query tool with optional parameters, this is adequate but could be improved.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already describes all three parameters. The description adds value by clarifying the use of channel_id=2 for open testing and listing the returned metadata fields.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states that the tool queries app metadata (name, description, category, content rating) from AppGallery Connect, distinguishing it from sibling mutation and report tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description mentions optional scoping to a release channel but does not explicitly guide when to use this tool versus other query tools like query_compile_status or get_download_report_url.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

query_compile_statusA

Query AAB compilation status for package IDs returned after upload.

ParametersJSON Schema
NameRequiredDescriptionDefault
app_idNoAppGallery Connect app ID. Optional if HUAWEI_APP_ID is set in the environment.
pkg_idsYesPackage IDs to query.

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description states 'Query', implying a read-only operation, but does not explicitly confirm no side effects, rate limits, or authentication requirements. Since no annotations are provided, the description carries the full burden, and it only minimally addresses behavioral transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, short sentence that immediately conveys the tool's purpose with no unnecessary words. It is front-loaded and efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity and the lack of an output schema, the description adequately explains what the tool does and when to use it. It could mention the expected return format or that it checks status post-upload, but it is sufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already has 100% coverage with descriptions for both parameters. The description adds context by specifying that package IDs come from uploads, which clarifies their origin beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (Query), the specific resource (AAB compilation status), and the context (package IDs returned after upload). It distinguishes this tool from siblings like upload, submit, or update tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use the tool (after upload, to check compilation status), but does not explicitly mention when not to use it or provide alternatives. The context is clear enough for most agents.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

set_gms_dependencyA

Declare whether the app depends on GMS (Google Mobile Services).

ParametersJSON Schema
NameRequiredDescriptionDefault
app_idNoAppGallery Connect app ID. Optional if HUAWEI_APP_ID is set in the environment.
need_gmsYes0=no GMS, 1=requires GMS.

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must carry the behavioral burden. It discloses the action (declare dependency) but omits side effects, authorization needs, or validation behavior. For a simple setter, this is adequate but not thorough.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence with no superfluous information. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema and simple parameters, the description adequately covers the tool's purpose. It could optionally mention the optional app_id, but the schema already handles that.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema has 100% description coverage for both parameters. The description does not add significant meaning beyond the schema, so baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('declare') and resource ('GMS dependency'), clearly stating the tool's function. It distinguishes itself from siblings, which involve app submission, uploads, and reports, making its purpose unique.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not explicitly state when to use or not use this tool, nor does it mention alternatives. However, the context implies it is used for setting GMS dependency, which is a specific action with no clear competing sibling.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

submit_appA

Submit app for review/release. Supports full, phased, scheduled, channel releases, and open testing (channel_id=2). Save all info first.

ParametersJSON Schema
NameRequiredDescriptionDefault
app_idNoAppGallery Connect app ID. Optional if HUAWEI_APP_ID is set in the environment.
release_typeNo1=full (default), 3=phased/grey.
release_percentNoRollout % for release_type=3.
release_timeNoScheduled release in Unix ms; omit for immediate.
remarkNoInternal notes.
channel_idNo2=open testing.
use_testing_versionNoEnable 'Use testing version' for open testing.
test_start_timeNoUnix ms timestamp for test period start (must be >= current time).
test_end_timeNoUnix ms timestamp for test period end.
feedback_emailNoEmail address for tester feedback.

TDQS

A3.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden but omits behavioral traits like mutation, permissions, rate limits, or error states. It only states the action without deeper insight.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, no fluff, front-loaded purpose. Every word adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 10 optional parameters and no output schema, the description is too brief. It lacks details on return values, error handling, prerequisites beyond 'save info', and does not explain the interplay of parameters like release_time and release_percent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds value by summarizing parameter groups (e.g., 'channel_id=2' for open testing) and highlighting the save prerequisite, which complements the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool submits an app for review/release, listing supported release types. It distinguishes from sibling 'submit_app_with_file' by implying it submits saved app info.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides usage context: 'Save all info first' acts as a prerequisite, and 'Supports full, phased, scheduled, channel releases, and open testing' indicates when to use. However, it does not explicitly exclude cases or name alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

submit_app_with_fileB

Submit app for release using a file hosted on your server (Huawei downloads via HTTPS during review).

ParametersJSON Schema
NameRequiredDescriptionDefault
app_idNoAppGallery Connect app ID. Optional if HUAWEI_APP_ID is set in the environment.
file_typeYes1=APK, 2=RPK, 5=AAB.
filesYesFiles on your server.
release_typeNo1=full (default), 3=phased.
release_percentNo
release_timeNoScheduled release in Unix ms.
remarkNo

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden for behavioral transparency. It mentions that Huawei downloads via HTTPS during review, but does not disclose auth requirements, side effects, concurrency limits, or what happens on failure. The tool likely mutates state (submits an app), but this is not explicitly stated.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single clear sentence with no redundancy. However, it could be slightly restructured for readability (e.g., separating the HTTPS detail as a parenthetical). Overall it's efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (7 parameters, no output schema, no annotations), the description is minimal. It omits any indication of return values, error handling, prerequisites (e.g., file accessibility), or how it relates to sibling submit_app. For a submission tool, this is insufficient for an agent to use reliably.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 71% (high), so baseline is 3. The description adds no additional meaning beyond the schema's parameter descriptions. For example, it doesn't explain that file_type determines the build format or that release_percent applies only when release_type is 3 (phased).

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Submit app for release using a file hosted on your server', which specifies the verb (submit), resource (app), and mechanism (hosted file). It distinguishes from siblings like submit_app and upload_app_file by highlighting the file hosting approach and the detail that Huawei downloads during review.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage when you have a file on a server for Huawei to download, but does not explicitly compare to alternatives (e.g., upload_app_file + submit_app) or state when not to use this tool. No exclusion criteria or prerequisites are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_app_file_infoA

Attach already-uploaded files to the app draft. Use after get_upload_url + manual upload.

ParametersJSON Schema
NameRequiredDescriptionDefault
app_idNoAppGallery Connect app ID. Optional if HUAWEI_APP_ID is set in the environment.
file_typeYes1=APK, 2=RPK, 5=AAB.
filesYes

TDQS

A3.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, and the description only says 'Attach' without disclosing behavioral traits like side effects, idempotency, or permissions. Minimal transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences with no filler; the first states purpose, the second provides usage context. Highly concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Minimal but covers the core action. Lacks details on return values, error handling, or behavior after attachment. Adequate for a simple tool with no output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 67%, and the description adds no extra meaning beyond the schema. For example, it doesn't explain how 'files' are attached or the role of 'file_dest_url'.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Attach' and the resource 'already-uploaded files to the app draft', distinguishing it from siblings like upload_app_file which uploads files.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says 'Use after get_upload_url + manual upload', providing a clear usage sequence. No alternatives or exclusions, but the context is sufficient.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_app_infoA

Update app metadata in the AppGallery Connect draft (name, description, category, ratings, support contacts, privacy policy).

ParametersJSON Schema
NameRequiredDescriptionDefault
app_idNoAppGallery Connect app ID. Optional if HUAWEI_APP_ID is set in the environment.
default_langNoe.g. "en-US"
app_nameNo
app_descNoFull store description.
brief_descNoShort tagline.
privacy_policyNoPrivacy policy URL.
category_idNoPrimary category ID.
sub_category_idNoSub-category ID.
cs_emailNo
cs_phoneNo
cs_urlNo
content_ratingNo1=Everyone, 2=Pre-teen, 3=Teen, 4=Mature.
age_ratingNoe.g. 7, 12, 16, 18

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Indicates mutation ('update') and mentions 'draft' scope, but no annotations provided. Does not disclose side effects, idempotency, error behaviors, or required app state. Moderately transparent but incomplete.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, concise and front-loaded. No unnecessary words, though could be structured (e.g., list parameters) for clarity. Efficient use of space.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 13 parameters, no annotations, and no output schema, the description is too brief. Missing prerequisites (e.g., need app_id), explanation of 'draft', return values, or error scenarios. Incomplete for a complex mutation tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 69%, and description lists parameter groups matching schema fields but adds no extra meaning. Does not explain optionality (required=0) or parameter interactions. Baselines at 3 due to moderate coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states 'Update app metadata in the AppGallery Connect draft' and lists specific fields (name, description, category, ratings, support contacts, privacy policy). It distinguishes from sibling tools like update_app_file_info or update_language_info.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool versus alternatives. No mentions of prerequisites, when not to use, or contrasts with other update tools. Implies use for metadata updates but lacks direction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_language_infoB

Add or update localized store listing (name, description, release notes) for a language.

ParametersJSON Schema
NameRequiredDescriptionDefault
app_idNoAppGallery Connect app ID. Optional if HUAWEI_APP_ID is set in the environment.
langYesBCP-47 tag, e.g. "en-US", "zh-CN".
app_nameNo
app_descNo
brief_descNo
new_featuresNoWhat's new / release notes.

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description must disclose behavioral traits. It does not specify if partial updates overwrite fields, if missing optional fields clear them, or if the operation affects app submission status. The 'add or update' duality is ambiguous without further detail.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence is concise with no redundant text. However, it could be better structured with bullet points or explicit mapping of description terms to schema parameters.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, no annotations, and 6 parameters, the description fails to provide return value details, idempotency info, or clarify the 'add vs update' behavior. Insufficient for safe and correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 50% (3 of 6 params described). Description adds value by explaining some fields (name, description, release notes) but omits 'brief_desc'. It partially compensates for missing schema descriptions but is incomplete.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the verb ('Add or update'), resource ('localized store listing'), and specific fields (name, description, release notes). It effectively distinguishes from siblings like 'delete_language_info'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool vs siblings (e.g., 'delete_language_info', 'update_app_info'). Missing prerequisites or context for when 'add' vs 'update' behavior applies, which is critical for a dual-purpose tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_phased_releaseC

Convert phased release to full, or update its schedule/percentage.

ParametersJSON Schema
NameRequiredDescriptionDefault
app_idNoAppGallery Connect app ID. Optional if HUAWEI_APP_ID is set in the environment.
stateYese.g. RELEASE
phased_release_start_timeNoUTC datetime, e.g. 2026-05-01T00:00:00+0800.
phased_release_end_timeNoUTC datetime, e.g. 2026-05-15T00:00:00+0800.
phased_release_percentNoRollout %, e.g. "50.00".
release_typeNo1=convert to full, 3=keep phased (default).

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description discloses the two main operations but lacks details on behavioral traits such as whether conversion is irreversible, prerequisites (e.g., state must be phased), or error conditions. With no annotations, this is insufficient.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise, with no unnecessary words. It front-loads the primary action ('Convert phased release to full') and adds the secondary action ('update its schedule/percentage').

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the tool's purpose but lacks completeness: it does not explain parameter interactions, required prerequisites (e.g., app_id context), or what the response contains. Given the complexity (6 parameters) and no output schema, more information is needed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 100% schema coverage, the description adds minimal additional meaning. It mentions 'schedule' and 'percentage' which map to schema parameters but does not provide usage context or constraints.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses specific verbs ('Convert', 'update') and identifies the resource ('phased release') and its attributes ('schedule/percentage'). It distinguishes from the sibling tool 'change_phased_release_state' by implying separate functionality. However, it could explicitly mention the 'release_type' and 'state' parameters.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No usage guidelines provided. The description does not specify when to use this tool versus the sibling 'change_phased_release_state' or other tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_release_timeB

Update scheduled release time. Only valid when app is in Releasing state.

ParametersJSON Schema
NameRequiredDescriptionDefault
app_idNoAppGallery Connect app ID. Optional if HUAWEI_APP_ID is set in the environment.
change_typeYes1=release now, 2=release as scheduled, 3=update scheduled time.
release_timeNoUTC datetime, e.g. 2026-04-01T10:00:00+0800. Required for change_type 2 or 3.
release_typeNo1=full (default), 3=phased.

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It indicates mutation ('Update') and a precondition, but does not disclose side effects, error behavior, required permissions, or whether changes are reversible. This is insufficient for a mutation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, well-constructed sentence that states the core functionality and a critical precondition. Every word adds value, with no repetition or unnecessary detail.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description lacks information about return values, error handling, or additional behavioral context. For a tool that modifies release scheduling, knowing the outcome (success/error) and prerequisites beyond state is important. It feels incomplete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so baseline is 3. The description does not add parameter-specific information beyond what the schema already provides; it only restates the overall purpose. No additional value for parameter semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Update scheduled release time') and the resource ('release time' of an app), and includes a critical precondition ('Only valid when app is in Releasing state'). This distinguishes it from sibling tools that handle phased releases or other aspects.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides a usage condition ('Only valid when app is in Releasing state') but does not explicitly guide when to use this tool over siblings like 'change_phased_release_state' or 'update_phased_release'. It offers context but no exclusions or alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

upload_app_fileA

Upload APK/AAB from local disk to AppGallery (get URL → upload, auto-chunked >4 GB → attach to draft).

ParametersJSON Schema
NameRequiredDescriptionDefault
app_idNoAppGallery Connect app ID. Optional if HUAWEI_APP_ID is set in the environment.
file_pathYesAbsolute local path to APK or AAB.
file_typeYes1=APK, 2=RPK, 5=AAB.

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full disclosure burden. It mentions auto-chunking for files >4 GB, which adds value, but fails to disclose safety (destructive), idempotency, or permission requirements for a mutation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence front-loads the main action and packs essential workflow details in parentheses with no wasted words. Excellent conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given missing annotations and output schema, description explains the workflow well (URL, upload, chunking, draft attachment). Lacks return value or error handling details, but is largely complete for the tool's multi-step nature.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so description adds little beyond confirming file_path and file_type map to APK/AAB and local disk. The 'auto-chunked' detail is behavioral, not param-specific. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb (Upload), resource (APK/AAB to AppGallery), and distinct workflow (get URL, auto-chunked >4 GB, attach to draft), differentiating it from siblings like upload_file and get_upload_url.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Description implies the tool is used after obtaining an upload URL and before attaching to draft, referencing the process. However, it lacks explicit when-not or alternatives like submit_app_with_file, making context clear but not exhaustive.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

upload_fileA

Upload a file to AppGallery using a pre-signed URL (Step 2 of upload flow). Returns fileDestUrl for use in update_app_file_info.

ParametersJSON Schema
NameRequiredDescriptionDefault
file_pathYesAbsolute local path to the file to upload.
upload_urlYesPre-signed upload URL from get_upload_url.
auth_codeYesAuth code from get_upload_url.

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description must cover behavior. It indicates a mutation (upload) and states the return value, but lacks details on side effects, error conditions, or idempotency. Minimal but adequate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, no filler, front-loaded with key action and context. Every word is necessary.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Provides flow context and return value, but given no annotations or output schema, more details on failure handling, file size limits, or auth prerequisites would improve completeness. Adequate for a simple upload tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema already has 100% coverage with descriptions for all three parameters. Description adds no new parameter-specific info beyond the flow context. Baseline score applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states it uploads a file to AppGallery via pre-signed URL, positions it as step 2 of a flow, and specifies the return value (fileDestUrl). This distinguishes it from siblings like get_upload_url (step 1) and update_app_file_info (step 3).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly links to get_upload_url and update_app_file_info, implying a sequential workflow. However, it does not explicitly state when not to use or mention failure scenarios.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 3 tool updates
    • Changedquery_app_info1 field changed
      • addedInput schema / properties / channel_id
        Added value: +{
        +  "description": "Optional channel ID to query a specific release channel. Use 2 for open testing.",
        +  "type": "integer"
        +}
    • Changedsubmit_app4 fields changed
      • addedInput schema / properties / feedback_email
        Added value: +{
        +  "description": "Email address for tester feedback.",
        +  "type": "string"
        +}
      • addedInput schema / properties / test_end_time
        Added value: +{
        +  "description": "Unix ms timestamp for test period end.",
        +  "type": "integer"
        +}
      • addedInput schema / properties / test_start_time
        Added value: +{
        +  "description": "Unix ms timestamp for test period start (must be >= current time).",
        +  "type": "integer"
        +}
      • addedInput schema / properties / use_testing_version
        Added value: +{
        +  "description": "Enable 'Use testing version' for open testing.",
        +  "type": "boolean"
        +}
    • Addedupload_file
  2. 16 tool updatesv1.1.1
    • First observedchange_phased_release_state
    • First observeddelete_language_info
    • First observedget_download_report_url
    • First observedget_install_failure_report_url
    • First observedget_upload_url
    • First observedquery_app_info
    • First observedquery_compile_status
    • First observedset_gms_dependency
    • First observedsubmit_app
    • First observedsubmit_app_with_file
    • First observedupdate_app_file_info
    • First observedupdate_app_info
    • First observedupdate_language_info
    • First observedupdate_phased_release
    • First observedupdate_release_time
    • First observedupload_app_file

TDQS

A3.7/5.0
Disambiguation4/5

Most tools have distinct purposes, but there is some overlap between 'submit_app' and 'submit_app_with_file', which could cause confusion as both handle app submission with slightly different methods. Otherwise, tools like 'change_phased_release_state' and 'update_phased_release' are clearly differentiated by their specific actions.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern with snake_case, such as 'get_download_report_url', 'update_app_info', and 'query_compile_status'. This uniformity makes the tool set predictable and easy to navigate for an agent.

Tool Count4/5

With 16 tools, the count is slightly high but reasonable for the App Gallery domain, covering app management, submissions, releases, and reporting. It might feel heavy, but each tool appears to serve a specific function without obvious redundancy.

Completeness5/5

The tool set provides comprehensive coverage for app lifecycle management, including metadata updates, file handling, submission, release management, and reporting. There are no apparent gaps; it supports CRUD operations and various release strategies effectively.

Maintenance

ActivityInactive
ResponsivenessUnresponsive

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    A Model Context Protocol (MCP) server that connects Cursor, Claude Desktop, and other MCP clients to the official App Store Connect API—so you can manage iOS/macOS apps, TestFlight, in-app subscriptions, and store metadata via chat or automated tool calls.
    69
    65
    13
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/AgiMaulana/HuaweiAppGalleryMcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server