Huawei App Gallery
Huawei AppGallery MCP
Huawei AppGallery Connect에서 앱 게시를 관리하기 위한 Model Context Protocol (MCP) 서버입니다. Claude Desktop 또는 모든 MCP 호환 클라이언트와 직접 통합됩니다.
기능
앱 메타데이터(이름, 설명, 카테고리, 평점, 지원 연락처) 조회 및 업데이트
언어별 현지화된 스토어 등록 정보 관리
대용량 파일(>4 GB)을 위한 자동 청크 업로드 기능을 갖춘 APK / AAB 파일 업로드
전체 출시, 단계적(그레이) 출시, 예약 출시 또는 오픈 테스팅(
channel_id=2)을 위한 앱 제출바이너리가 자체 서버에 호스팅된 경우 앱 제출
단계적 출시 수명 주기 관리(상태 변경, 비율 업데이트)
AAB 컴파일 상태 조회
예약 출시 시간 업데이트
GMS 종속성 플래그 설정
다운로드/설치 및 설치 실패 보고서 URL 획득
Related MCP server: 302AI Sandbox MCP Server
설치
MCP 레지스트리를 통한 설치 (권장)
Claude Code:
claude mcp add --from-registry io.github.AgiMaulana/HuaweiAppGalleryMcp기타 MCP 클라이언트:
registry.modelcontextprotocol.io에서 huawei-appgallery를 검색하세요.
수동 설치
pip install huawei-app-gallery-mcp또는 uv 사용:
uv pip install huawei-app-gallery-mcp구성
1. API 자격 증명 획득
AppGallery Connect로 이동합니다.
사용자 및 권한 → API 키 → Connect API로 이동합니다.
생성을 클릭하고 앱 관리자(App manager) 역할을 선택합니다.
**클라이언트 ID(Client ID)**와 **클라이언트 비밀번호(Client Secret)**를 복사합니다.
이는 Connect API 자격 증명이며, HMS Core 앱 자격 증명과는 다릅니다.
2. 환경 변수 설정
작업 디렉토리에 .env 파일을 생성합니다(서버가 자동으로 로드합니다):
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_id3. MCP 클라이언트 연결 (수동 설치 시에만)
Claude Desktop
~/Library/Application Support/Claude/claude_desktop_config.json(macOS) 또는 %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 (머신 레벨, 수동 설치 시에만)
/Library/Application Support/ClaudeCode/managed-mcp.json(macOS) 또는 /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"
}
}
}
}도구
모든 도구는 선택적 app_id 인수를 허용합니다. 생략할 경우 환경 변수의 HUAWEI_APP_ID가 기본값으로 사용됩니다.
도구 | 설명 |
| 현재 앱 메타데이터(이름, 설명, 카테고리, 평점 등)를 조회하며, |
| AppGallery Connect 초안의 앱 메타데이터를 업데이트합니다 |
| 특정 언어에 대한 현지화된 스토어 등록 정보를 추가하거나 업데이트합니다 |
| 현지화된 스토어 등록 정보를 삭제합니다 |
| 파일 업로드 전 사전 서명된 업로드 URL 및 인증 코드를 획득합니다 |
| 로컬 디스크에서 APK/AAB를 업로드하고 앱 초안에 첨부합니다(>4 GB 파일 자동 청크 처리) |
| 이미 업로드된 파일을 앱 초안에 수동으로 첨부합니다 |
| 하나 이상의 패키지 ID에 대한 AAB 컴파일 상태를 조회합니다 |
| 검토 및 출시를 위해 앱을 제출합니다( |
| 바이너리가 자체 서버에 호스팅된 경우 제출합니다 |
| 단계적 출시 상태를 변경합니다: 진행, 롤백 또는 중지 |
| 단계적 출시를 전체 출시로 전환하거나 출시 일정/비율을 업데이트합니다 |
| 예약 출시 시간을 업데이트합니다(앱이 출시 상태일 때만 가능) |
| 앱이 GMS에 의존하는지 여부를 보고합니다 |
| 앱 다운로드 및 설치 보고서(CSV/Excel, 최대 180일)의 다운로드 URL을 가져옵니다 |
| 설치 실패 보고서(CSV/Excel, 최대 180일)의 다운로드 URL을 가져옵니다 |
사용 예시
새 버전 업로드 및 출시:
/path/to/app-release.aab(AAB, 파일 유형 5)를 업로드한 후 전체 출시를 위해 제출합니다.
단계적 출시:
사용자 20%를 대상으로 단계적 출시를 위해 앱을 제출합니다.
오픈 테스팅:
오픈 테스팅을 위해 앱을 제출합니다(channel_id=2).
오픈 테스팅 검사:
query_app_info(channel_id=2)를 사용하여 오픈 테스팅 채널의 앱 메타데이터를 조회합니다.
릴리스 노트 업데이트:
영어 릴리스 노트를 "버그 수정 및 성능 개선"으로 업데이트합니다.
예약 출시:
2026년 3월 20일 10:00 UTC에 출시되도록 앱을 제출합니다.
보고서 다운로드:
지난 30일간의 다운로드 및 설치 보고서 URL을 영어 CSV 형식으로 가져옵니다.
게시 워크플로우
Update app info → Update language info → Upload APK/AAB → Submit appupdate_app_info/update_language_info를 사용하여 메타데이터 및 릴리스 노트를 설정합니다.upload_app_file을 사용하여 바이너리를 업로드합니다(청크 처리 자동 수행).submit_app을 사용하여 검토 및 출시를 트리거합니다.
패키지 릴리스 워크플로우
패키지 릴리스 지침은 docs/RELEASE.md를 참조하세요.
API 참조
이 서버는 AppGallery Connect Publishing API를 래핑합니다.
라이선스
MIT
Available Tools
17 toolschange_phased_release_stateB
Proceed, roll back, or stop a phased (grey) release.
| Name | Required | Description | Default |
|---|---|---|---|
| app_id | No | AppGallery Connect app ID. Optional if HUAWEI_APP_ID is set in the environment. | |
| state | Yes | RELEASE=proceed, ROLLBACK=roll back, GRAY_TERMINATED=stop. | |
| phased_release_start_time | No | UTC datetime, e.g. 2026-05-01T00:00:00+0800. | |
| phased_release_end_time | No | UTC datetime, e.g. 2026-05-15T00:00:00+0800. | |
| phased_release_percent | No | Rollout %, e.g. "50.00". |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| app_id | No | AppGallery Connect app ID. Optional if HUAWEI_APP_ID is set in the environment. | |
| lang | Yes | e.g. "fr-FR" |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| app_id | No | AppGallery Connect app ID. Optional if HUAWEI_APP_ID is set in the environment. | |
| language | Yes | Column header language. | |
| start_time | Yes | YYYYMMDD (UTC). | |
| end_time | Yes | YYYYMMDD (UTC). | |
| group_by | No | date (default), countryId, businessType, or appVersion. | |
| export_type | No | Default: CSV. |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| app_id | No | AppGallery Connect app ID. Optional if HUAWEI_APP_ID is set in the environment. | |
| language | Yes | Column header language. | |
| start_time | Yes | YYYYMMDD (UTC). | |
| end_time | Yes | YYYYMMDD (UTC). | |
| group_by | No | date (default), deviceName, downloadType, appVersion, or countryId. | |
| export_type | No | Default: CSV. |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| app_id | No | AppGallery Connect app ID. Optional if HUAWEI_APP_ID is set in the environment. | |
| suffix | Yes | File extension. | |
| file_name | No | File name (used to infer suffix if omitted). | |
| release_type | No | 1=formal (default), 3=phased. |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| app_id | No | AppGallery Connect app ID. Optional if HUAWEI_APP_ID is set in the environment. | |
| release_type | No | 1=formal (default), 3=phased/grey. | |
| channel_id | No | Optional channel ID to query a specific release channel. Use 2 for open testing. |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| app_id | No | AppGallery Connect app ID. Optional if HUAWEI_APP_ID is set in the environment. | |
| pkg_ids | Yes | Package IDs to query. |
TDQS
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.
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.
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.
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.
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.
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).
| Name | Required | Description | Default |
|---|---|---|---|
| app_id | No | AppGallery Connect app ID. Optional if HUAWEI_APP_ID is set in the environment. | |
| need_gms | Yes | 0=no GMS, 1=requires GMS. |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| app_id | No | AppGallery Connect app ID. Optional if HUAWEI_APP_ID is set in the environment. | |
| release_type | No | 1=full (default), 3=phased/grey. | |
| release_percent | No | Rollout % for release_type=3. | |
| release_time | No | Scheduled release in Unix ms; omit for immediate. | |
| remark | No | Internal notes. | |
| channel_id | No | 2=open testing. | |
| use_testing_version | No | Enable 'Use testing version' for open testing. | |
| test_start_time | No | Unix ms timestamp for test period start (must be >= current time). | |
| test_end_time | No | Unix ms timestamp for test period end. | |
| feedback_email | No | Email address for tester feedback. |
TDQS
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.
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.
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.
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.
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.
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).
| Name | Required | Description | Default |
|---|---|---|---|
| app_id | No | AppGallery Connect app ID. Optional if HUAWEI_APP_ID is set in the environment. | |
| file_type | Yes | 1=APK, 2=RPK, 5=AAB. | |
| files | Yes | Files on your server. | |
| release_type | No | 1=full (default), 3=phased. | |
| release_percent | No | ||
| release_time | No | Scheduled release in Unix ms. | |
| remark | No |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| app_id | No | AppGallery Connect app ID. Optional if HUAWEI_APP_ID is set in the environment. | |
| file_type | Yes | 1=APK, 2=RPK, 5=AAB. | |
| files | Yes |
TDQS
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.
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.
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.
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.
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.
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).
| Name | Required | Description | Default |
|---|---|---|---|
| app_id | No | AppGallery Connect app ID. Optional if HUAWEI_APP_ID is set in the environment. | |
| default_lang | No | e.g. "en-US" | |
| app_name | No | ||
| app_desc | No | Full store description. | |
| brief_desc | No | Short tagline. | |
| privacy_policy | No | Privacy policy URL. | |
| category_id | No | Primary category ID. | |
| sub_category_id | No | Sub-category ID. | |
| cs_email | No | ||
| cs_phone | No | ||
| cs_url | No | ||
| content_rating | No | 1=Everyone, 2=Pre-teen, 3=Teen, 4=Mature. | |
| age_rating | No | e.g. 7, 12, 16, 18 |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| app_id | No | AppGallery Connect app ID. Optional if HUAWEI_APP_ID is set in the environment. | |
| lang | Yes | BCP-47 tag, e.g. "en-US", "zh-CN". | |
| app_name | No | ||
| app_desc | No | ||
| brief_desc | No | ||
| new_features | No | What's new / release notes. |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| app_id | No | AppGallery Connect app ID. Optional if HUAWEI_APP_ID is set in the environment. | |
| state | Yes | e.g. RELEASE | |
| phased_release_start_time | No | UTC datetime, e.g. 2026-05-01T00:00:00+0800. | |
| phased_release_end_time | No | UTC datetime, e.g. 2026-05-15T00:00:00+0800. | |
| phased_release_percent | No | Rollout %, e.g. "50.00". | |
| release_type | No | 1=convert to full, 3=keep phased (default). |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| app_id | No | AppGallery Connect app ID. Optional if HUAWEI_APP_ID is set in the environment. | |
| change_type | Yes | 1=release now, 2=release as scheduled, 3=update scheduled time. | |
| release_time | No | UTC datetime, e.g. 2026-04-01T10:00:00+0800. Required for change_type 2 or 3. | |
| release_type | No | 1=full (default), 3=phased. |
TDQS
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.
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.
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.
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.
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.
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).
| Name | Required | Description | Default |
|---|---|---|---|
| app_id | No | AppGallery Connect app ID. Optional if HUAWEI_APP_ID is set in the environment. | |
| file_path | Yes | Absolute local path to APK or AAB. | |
| file_type | Yes | 1=APK, 2=RPK, 5=AAB. |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| file_path | Yes | Absolute local path to the file to upload. | |
| upload_url | Yes | Pre-signed upload URL from get_upload_url. | |
| auth_code | Yes | Auth code from get_upload_url. |
TDQS
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.
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.
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.
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.
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.
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.
3 tool updates
- Changed
query_app_info1 field changed- added
Input schema / properties / channel_idAdded value: +{ + "description": "Optional channel ID to query a specific release channel. Use 2 for open testing.", + "type": "integer" +}
- Changed
submit_app4 fields changed- added
Input schema / properties / feedback_emailAdded value: +{ + "description": "Email address for tester feedback.", + "type": "string" +} - added
Input schema / properties / test_end_timeAdded value: +{ + "description": "Unix ms timestamp for test period end.", + "type": "integer" +} - added
Input schema / properties / test_start_timeAdded value: +{ + "description": "Unix ms timestamp for test period start (must be >= current time).", + "type": "integer" +} - added
Input schema / properties / use_testing_versionAdded value: +{ + "description": "Enable 'Use testing version' for open testing.", + "type": "boolean" +}
- Added
upload_file
16 tool updates
v1.1.1- First observed
change_phased_release_state - First observed
delete_language_info - First observed
get_download_report_url - First observed
get_install_failure_report_url - First observed
get_upload_url - First observed
query_app_info - First observed
query_compile_status - First observed
set_gms_dependency - First observed
submit_app - First observed
submit_app_with_file - First observed
update_app_file_info - First observed
update_app_info - First observed
update_language_info - First observed
update_phased_release - First observed
update_release_time - First observed
upload_app_file
TDQS
Scored across 17 tools
Most tools map to distinct resources and actions, but the upload flow has three overlapping tools (upload_file, upload_app_file, update_app_file_info) and submit_app vs submit_app_with_file are easy to confuse. Descriptions help, but an agent could still pick the wrong step in the upload/release workflow.
Naming follows a clear verb_noun snake_case pattern throughout, using query_, update_, delete_, get_, upload_, and submit_ consistently. Minor inconsistencies like query vs get, change_phased_release_state vs update_phased_release, and upload_file vs upload_app_file prevent a perfect score.
At 17 tools, the set is slightly above the ideal 3-15 range but reasonable for an app publishing console covering metadata, localization, upload, release management, and reports. No tool feels completely redundant, though the set is on the heavier side.
The core release workflow is covered: metadata, localization, upload/attach, submission, phased/scheduled releases, and reports. However, there is no way to query current submission/review/release status, list existing localized listings, or see uploaded files, which creates a notable gap for agents managing the full lifecycle.
Maintenance
Related MCP Connectors
MCP server for Appcircle mobile CI/CD platform.
Model Context Protocol server for the Apideck Unified API. Connect any MCP-compatible agent framework to 100+ accounting systems, HRIS platforms, file storage providers, and more through one integration. More information https://www.apideck.com/mcp-server
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
Hosted Amazon Seller Central and Amazon Ads MCP server for Claude, ChatGPT, Cursor, and agents.
Related MCP Servers
- FlicenseDqualityDmaintenanceA server built on mcp-framework that enables integration with Claude Desktop through the Model Context Protocol.11-
- AlicenseAqualityDmaintenanceA Model Context Protocol (MCP) server for Claude Desktop that connects to 302AI's API services, allowing users to integrate and leverage 302AI capabilities through a structured communication interface.926 npm21MIT
- AlicenseAqualityCmaintenanceA Model Context Protocol (MCP) server for Apple's App Store Connect API. Manage your iOS, macOS, tvOS, and visionOS apps directly from Claude, Cursor, or any MCP-compatible client.5275 npm22MIT
- AlicenseAqualityCmaintenanceA 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.69124 npm13MIT