Skip to main content
Glama

Server Quality Checklist

75%
Profile completionA complete profile improves this server's visibility in search results.
  • Latest release: v1.1.1

  • 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.

  • Average 3.5/5 across 16 of 16 tools scored. Lowest: 2.9/5.

    See the Tool Scores section below for per-tool breakdowns.

    • 2 of 2 community issues answered or closed in the last 6 months
    • 0 commits in the last 12 weeks
    • Last stable release on
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI status not available
  • This repository is licensed under MIT License.

  • This repository includes a README.md file.

  • No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.

    Tip: use the "Try in Browser" feature on the server page to seed initial usage.

  • This repository includes a glama.json configuration file.

  • If you are the author, simply .

    If the server belongs to an organization, first add glama.json to the root of your repository:

    {
      "$schema": "https://glama.ai/mcp/schemas/server.json",
      "maintainers": [
        "your-github-username"
      ]
    }

    Then . Browse examples.

  • Add related servers to improve discoverability.

How to sync the server with GitHub?

Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.

To manually sync the server, click the "Sync Server" button in the MCP server admin interface.

How is the quality score calculated?

The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).

Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.

Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).

Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.

Tool Scores

  • 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.

  • 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.

  • 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.

  • 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.

  • 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.

  • 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.

  • 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.

  • 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.

  • 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.

  • 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.

  • 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.

  • 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.

  • 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.

  • 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.

  • 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.

  • 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.

  • 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.

GitHub Badge

Glama performs regular codebase and documentation scans to:

  • Confirm that the MCP server is working as expected.
  • Confirm that there are no obvious security issues.
  • Evaluate tool definition quality.

Our badge communicates server capabilities, safety, and installation instructions.

Card Badge

HuaweiAppGalleryMcp MCP server

Copy to your README.md:

Score Badge

HuaweiAppGalleryMcp MCP server

Copy to your README.md:

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