Skip to main content
Glama
Hiru-ge
by Hiru-ge

Server Quality Checklist

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

  • Disambiguation4/5

    Most tools have distinct purposes, but the large number (63) and similar prefixes (e.g., multiple create/list/update tools) may cause some confusion. Descriptions help differentiate, but overlapping concepts like custom product pages and experiments could be ambiguous.

    Naming Consistency5/5

    All tools follow a consistent asc_verb_noun snake_case pattern (e.g., list_apps, create_beta_group). No mixing of conventions or unpredictable patterns.

    Tool Count2/5

    63 tools is excessive for typical use cases. While the server aims to be comprehensive, the sheer number overwhelms and suggests insufficient scoping. Most agents would benefit from a more curated set.

    Completeness3/5

    Covers major App Store Connect workflows (apps, versions, builds, TestFlight, pricing, analytics, reviews, custom pages, experiments). Notable gaps include missing delete operations for versions/builds and no support for in-app purchases or user management.

  • Average 3.6/5 across 63 of 63 tools scored. Lowest: 2.3/5.

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

    • No community issues in the last 6 months
    • 3 commits in the last 12 weeks
    • No stable releases found
    • 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.

  • Add a glama.json file to provide metadata about your server.

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

    Annotations indicate a write operation (readOnlyHint=false) but no destructive effect. The description adds no extra behavioral context, such as whether the creation is reversible, what permissions are needed, or what happens to existing localizations. It only restates the creation action.

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

    Conciseness2/5

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

    The description is a single sentence, which is concise, but it omits critical information about parameters and behavior. Conciseness should not come at the cost of completeness; the sentence does not earn its place because it fails to add value.

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

    Completeness1/5

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

    Given the lack of output schema, zero parameter documentation, and minimal behavioral disclosure, the description is insufficient for an agent to confidently invoke the tool. The agent cannot infer required inputs or expected outcomes.

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

    Parameters1/5

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

    Schema description coverage is 0%, and the description does not explain either 'treatmentId' or 'locale' parameters. The agent receives no semantic context beyond the raw schema fields (minLength constraints), making it difficult to know what values to provide.

    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 states 'Create a locale container for treatment screenshots and previews,' which clearly identifies the action (create) and the resource (locale container for treatment screenshots/previews). It differentiates from the sibling 'asc_create_experiment_treatment' by specifying 'localization,' so the purpose is clear.

    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?

    The description provides no guidance on when to use this tool versus alternatives, such as creating a treatment itself or setting up screenshots in other ways. No prerequisites, exclusions, or context are mentioned.

    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?

    The description mentions 'enable' but the input schema includes states like INACTIVE, PAUSED, COMPLETE via the phasedReleaseState parameter, implying the tool can set non-active states. This mismatch reduces transparency. Annotations correctly indicate a write operation, but the description does not fully cover behavioral options.

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

    Conciseness3/5

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

    The description is a single sentence, which is concise, but it omits critical details about parameters and behavior. It is not wasteful, but it is insufficiently informative.

    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 lack of output schema, low schema coverage, and two parameters including an enum, the description is incomplete. It does not explain return values, the effect of different states, or interaction with other tools, leaving significant gaps for the agent.

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

    Parameters1/5

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

    Schema description coverage is 0%, and the description does not explain the parameters. It only implies versionId usage, ignoring the phasedReleaseState parameter and its enum values. The agent lacks necessary context for correct invocation.

    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 clearly states the verb 'Enable' and resource 'phased release for an App Store version', and specifies a seven-day duration. However, it doesn't differentiate from sibling tools like asc_update_phased_release, which might be used for modifying an existing release.

    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 is provided on when to use this tool versus alternatives such as asc_update_phased_release or asc_release_app_store_version. The description lacks context about prerequisites or scenarios.

    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?

    Annotations already indicate non-readonly, non-destructive, and non-idempotent behavior. The description adds no extra behavioral context (e.g., auth requirements, side effects, return format), repeating only the creation intent.

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

    Conciseness3/5

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

    The description is a single concise sentence, but it sacrifices completeness for brevity. It is front-loaded with the main action, but lacks detail necessary for correct invocation.

    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 (3 params, no output schema) and minimal annotations, the description omits critical details such as return values, parameter format, and side effects. It is insufficient for an agent to reliably use this tool without additional context.

    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 description coverage is 0%, so the description must compensate. It only hints at localizationId and screenshotDisplayType via 'one App Store version locale and display type', but does not explain localizationType (enum with default) or parameter constraints. Inadequate for a tool with three parameters.

    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 clearly states the action (create), resource (screenshot container), and scope (one App Store version locale and display type). It effectively distinguishes from sibling tools like asc_create_version_localization and asc_list_screenshot_sets.

    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 when-to-use or when-not-to-use guidance. The description does not mention alternatives or conditions, leaving the agent to infer usage context from the task name alone.

    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?

    Annotations indicate idempotency and non-destructive behavior, but the description adds no context beyond the annotations. It does not explain idempotency implications or potential side effects. No contradiction, but value is minimal.

    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 sentence that is front-loaded and concise. However, it is too brief to cover necessary information, earning a high score for structure but not for completeness.

    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 and three parameters, the description is insufficient. It does not explain what happens upon success, error conditions, or the relationship to the group. The annotations provide some context, but the tool expects the agent to infer too much.

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

    Parameters1/5

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

    Schema description coverage is 0%, and the description provides no parameter-level information beyond mentioning 'testers or builds' in the purpose. The meanings of groupId, resourceIds, and resourceType are left entirely to the schema, which has no descriptions.

    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 ('add'), the resources ('testers or builds'), and the target ('existing TestFlight group'). It effectively distinguishes from sibling tools like asc_create_beta_group (create group) and asc_create_beta_tester (create tester).

    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. There is no mention of prerequisites (e.g., group must exist) or conditions under which this tool is inappropriate. Siblings are not referenced.

    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?

    Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the main behavioral traits. The description adds 'editable and reviewed' filters, which is useful but not critical. No contradictions. The pagination behavior is documented in the parameter schema, not in the description.

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

    Conciseness3/5

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

    The description is a single sentence with 10 words, which is concise. However, it lacks structure (e.g., no bullet points, no separation of key info). It is minimally adequate.

    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 3 parameters, no output schema, and no explanation of the return format or pagination behavior, the description is insufficient. The agent does not know what fields are returned, how to interpret 'editable and reviewed', or the full pagination workflow (though the nextUrl parameter is explained in 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 description coverage is 67% (limit and nextUrl have descriptions; pageId does not). The tool description does not add any parameter information beyond what the schema provides. PageId lacks both schema and description coverage, leaving its meaning unclear.

    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 clearly states the action ('List') and the resource ('editable and reviewed versions of a custom product page'). It is specific and distinguishes from sibling tools that list other entities (e.g., asc_list_custom_product_pages lists pages, not versions), but does not explicitly differentiate between listing versions vs other listing tools.

    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 is provided on when to use this tool versus alternatives. There is no mention of prerequisites, context, or when not to use it. The agent is left to infer usage from the name alone.

    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?

    Annotations already indicate non-read-only, non-destructive, idempotent behavior. The description adds that the tool can change release behavior (manual/automatic/scheduled), but does not elaborate on side effects or required permissions, leaving gaps beyond annotations.

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

    Conciseness3/5

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

    The description is a single 12-word sentence, making it very concise but at the cost of omitting critical details. While front-loaded, it is too minimal to serve the agent effectively.

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

    Completeness1/5

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

    Given 7 parameters, no output schema, and 0% schema coverage, the description is severely inadequate. It lacks details about required parameters (versionId), return values, and prerequisites for fields like earliestReleaseDate.

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

    Parameters1/5

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

    With 0% schema coverage and 7 parameters, the description provides no explanations for individual fields. It only generically mentions 'metadata' and 'release behavior,' failing to clarify what each parameter does (e.g., usesIdfa, copyright, downloadable).

    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') and the resource ('version metadata and choose... release behavior'), specifying exact capabilities. It distinguishes from sibling tools like asc_update_version_localization by focusing on the version's metadata and release type.

    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. alternatives (e.g., asc_release_app_store_version, asc_submit_app_store_version). The description does not mention prerequisites, constraints, or when not to use 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?

    Annotations indicate mutation and non-idempotence, but the description provides no additional behavioral context. Does not explain what happens on success (e.g., returns created object?), what occurs if the locale already exists, or any required permissions. The description adds little beyond the annotations.

    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, front-loaded with key information. However, it could be more efficient by listing all parameters or providing a clearer structure. Still, acceptable for a simple creation tool.

    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 8 parameters, no output schema, and sparse annotations, the description is insufficient. It does not explain the required fields (versionId, locale), the optional fields, or the expected outcome. The agent lacks vital context for correct invocation.

    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?

    The description only mentions 'release notes, keywords, and promotional text' while the schema has 8 parameters including required fields like versionId and locale. With 0% schema description coverage, the description fails to explain the meaning and purpose of most parameters, leaving the agent uninformed.

    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 creates localized App Store metadata for a version, listing specific content types (release notes, keywords, promotional text). The name and title reinforce this, and it effectively distinguishes from siblings like asc_update_version_localization and asc_list_version_localizations.

    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. alternatives. Does not mention prerequisites (e.g., need an existing version), the uniqueness of locale per version, or that creation might fail if a localization for the locale already exists.

    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?

    Annotations already indicate idempotent and non-destructive behavior. The description adds the specific function (toggle autoNotifyEnabled) but misses potential side effects like whether existing testers are affected or if the build must be in a certain state. Given annotations cover safety, a score of 3 is appropriate.

    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 sentence of 12 words, front-loaded with the action, and contains no redundant information. It is optimally 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?

    Given the tool's simplicity (two parameters, boolean action), the description is minimally acceptable. However, it lacks context on what buildBetaDetailId refers to, what the return value is, and any prerequisites. An agent might need additional info to use it correctly.

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

    Parameters1/5

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

    Schema description coverage is 0%, and the description provides no explanation of the two parameters (buildBetaDetailId and autoNotifyEnabled). The agent gets no additional meaning beyond the schema's type and name, which is insufficient for correct invocation.

    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 clearly states the specific action of enabling or disabling automatic tester invitations for external builds. It gives a specific verb ('enable or disable') and resource ('automatic tester invitations'), which distinguishes it from other beta-related tools, though it does not explicitly mention that it updates a single build's detail.

    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 is provided on when to use this tool versus alternatives like asc_add_to_beta_group or asc_set_beta_build_localization. The context of when to enable/disable auto notifications is implied but not explicit, and no when-not conditions are mentioned.

    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?

    Annotations already indicate this is a write operation (readOnlyHint=false) and not destructive. The description adds no additional behavioral context such as side effects, authorization needs, or rate limits. It is consistent but does not add value beyond annotations.

    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, succinct sentence that conveys the core purpose without any wasted words. It is directly front-loaded with the action and resource.

    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 creation tool with two required parameters and no output schema, the description is minimally adequate but lacks context about the relationship to other entities (e.g., app, localizations) and expected outcomes. It does not cover return values or prerequisites.

    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?

    With 0% schema description coverage, the description should compensate but only hints that 'name' is used ('named'). It provides no detail on valid values, uniqueness, format, or the role of 'appId'. The schema itself is minimal, and the description adds little semantic meaning.

    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 clearly states the tool creates a named custom App Store product page for targeted campaigns. It uses a specific verb and resource, and the context of campaigns adds purpose clarity. However, it doesn't explicitly distinguish from sibling tools like asc_update_custom_product_page or asc_create_custom_product_page_localization, which limits differentiation.

    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?

    The description provides no guidance on when to use this tool vs alternatives such as updating or listing custom product pages, or creating localizations/versions. There is no mention of prerequisites, conditions, or 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?

    Annotations indicate it is a write operation (readOnlyHint=false) with possible side effects (openWorldHint=true). The description only restates the creation action and the optional deep link, adding no extra behavioral context like failure conditions, permissions, or what 'editable version' implies. Contradiction: false.

    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?

    Description is one sentence, concise and front-loaded. However, it lacks detail that could be added without significant bloat, so not a perfect 5.

    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 and no param descriptions, the tool definition is incomplete. It does not explain the relationship between pageId and the version, the return value, or any side effects beyond creation. The agent would need to infer or experiment to understand the full behavior.

    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 0%, so the description must compensate. It explains the deepLink parameter as 'optional app deep link', but does not clarify the pageId parameter (e.g., that it identifies the custom product page). This provides partial but insufficient context.

    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 tool creates an editable version of a custom product page, with an optional app deep link. This distinguishes it from sibling tools like asc_create_custom_product_page (which creates the page itself) and asc_update_custom_product_page_version (which updates an existing version).

    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?

    Description provides no guidance on when to use this tool versus alternatives such as asc_create_custom_product_page or asc_create_experiment_treatment. No prerequisites, postconditions, or scenarios are mentioned.

    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?

    Annotations (readOnlyHint, idempotentHint, destructiveHint) already convey safety and idempotency. The description adds no contradictions and provides the context of being tied to an App Store version. However, no additional behavioral details (e.g., rate limits, data freshness) are given.

    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 sentence that is front-loaded with the main purpose. It is concise without unnecessary words, though it could be slightly expanded without becoming verbose.

    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?

    No output schema is provided, and the description does not describe the response format, pagination behavior, or that it returns a list. Given the tool's complexity as a paginated list reader, some additional context is warranted.

    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 67%, with only limit and nextUrl described. The description clarifies that the tool lists experiments 'for an App Store version,' which helps understand the versionId parameter, but it does not explain limit or nextUrl beyond the schema.

    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 clearly states the action (list), the resource (Product Page Optimization A/B experiments), and the context (for an App Store version). It is specific enough to avoid confusion with create or update siblings, but could more explicitly differentiate from other list tools.

    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 asc_list_experiment_treatments or asc_create_product_page_experiment. The description lacks explicit when-to-use or when-not-to information.

    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?

    Annotations indicate a write operation (readOnlyHint=false) and that it is not idempotent. The description adds 'create' but does not disclose whether it overwrites existing localizations, side effects, or what 'asset container' means. Minimal value beyond annotations.

    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 sentence with no wasted words, but it could be slightly more informative without sacrificing conciseness.

    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 its complexity (creation tool with side effects), the description lacks critical context about asset containers, return values, and behavior on duplication. Incomplete for an AI agent to use correctly.

    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 0%, so the description should add meaning. It mentions promotionalText implicitly but does not explain pageVersionId or locale. The description fails to compensate for the lack of schema documentation.

    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 it creates localized promotional text and an asset container for a custom product page version. It uses a specific verb and resource, distinguishing it from siblings like asc_create_custom_product_page or asc_create_experiment_treatment_localization.

    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 for creating a localization of a custom product page version but does not explicitly state when to use or not use this tool versus alternatives. No exclusions or alternative guidance are provided.

    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?

    The description provides no behavioral details beyond annotations, such as whether it is idempotent, overwrites existing data, or requires specific permissions. Annotations indicate destructiveHint=false and readOnlyHint=false, but the description adds no context.

    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 concise sentence (13 words) that is front-loaded with the action and resource. However, it could be slightly expanded to cover key details without becoming verbose.

    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 9 parameters and no output schema, the description is too sparse. It lacks explanation of return values, side effects, and parameter usage, leaving significant gaps for the agent.

    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?

    With 0% schema coverage, the description should clarify parameter meanings. It only broadly mentions 'contact information, optional demo account, and notes' without connecting to specific parameters like 'demoAccountRequired' or 'contactFirstName.'

    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 'Create' and the resource 'App Review contact information, optional demo account, and notes for a version.' It distinguishes from siblings like 'asc_update_review_details' and 'asc_get_review_details' by specifying creation.

    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 setting review details for a version, but lacks explicit guidance on when not to use it, prerequisites (e.g., version existence), or comparison with similar tools like 'asc_update_review_details.'

    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?

    Annotations already indicate non-destructive and idempotent behavior. The description adds context about renaming and visibility toggling, but does not disclose side effects or partial update behavior beyond annotations.

    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 concise sentence that is front-loaded. However, it could be slightly expanded to include pageId semantics without becoming verbose.

    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 three parameters, no output schema, and many sibling tools, the description lacks details on return values, error conditions, and the effect on other fields. It is too minimal for full agent guidance.

    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 0%, so the description must explain parameters. It covers name and visible implicitly but fails to describe the required pageId parameter or provide any constraints like valid name formats.

    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 actions (rename, show/hide) and the resource (custom product page), using specific verbs that differentiate from sibling tools like create or list. It directly matches the updatable fields in the schema.

    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 is provided on when to use this tool versus alternatives like asc_update_custom_product_page_version or other update tools. There is no mention of prerequisites or conditions.

    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?

    Annotations indicate it's not read-only, not destructive, and idempotent. The description adds the key behavior of partial update ('only the provided fields'), which is valuable. However, it does not disclose other behavioral traits like authorization requirements, rate limits, or the effect on omitted fields. With annotations providing safety profile, the description adds moderate value.

    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 13-word sentence with no redundancy. It efficiently communicates the tool's purpose and behavior (partial update). Every word contributes to the meaning.

    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 9 parameters, no output schema, and no nested objects, the description is too minimal. It does not explain the result of the update, how missing fields are handled, or any side effects. The annotations provide some safety context, but the tool's behavior remains vague for an agent to fully understand the implications of 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?

    The input schema has 9 parameters with 0% description coverage. The description groups parameters into three categories (contact, demo account, notes), adding semantic meaning beyond the raw property names. However, it does not detail each parameter's purpose, constraints, or interactions. The grouping helps but the description is still sparse given the parameter count.

    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 clearly states the verb 'Update' and the resource 'App Review contact, demo account, or notes fields'. It specifies it only updates provided fields, distinguishing it from other tools like asc_create_review_details or asc_get_review_details. However, it doesn't explicitly differentiate from other update tools in the sibling list, but the purpose is clear.

    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 such as asc_create_review_details or asc_get_review_details. The description implies it's for updating existing review details, but provides no context on prerequisites, exclusions, or when not to use it.

    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?

    Annotations already indicate non-read-only, non-idempotent, non-destructive, and open world. Description adds mention of optional public-link settings but does not disclose behavioral traits like error handling, idempotency checks, 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?

    Single sentence, 14 words, front-loaded with action and resource. No redundant information.

    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?

    Lacks essential context: what an internal vs external group means, whether creation is idempotent (annotation says no), and how public-link settings work. With 6 parameters and no output schema, more detail is needed.

    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 description coverage is 0%, so description must compensate. It only mentions 'optional public-link settings' but does not explain required parameters (name, appId) or the isInternalGroup flag. No parameter details.

    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 'Create an internal or external TestFlight group' with a specific verb and resource, and distinguishes between group types and optional settings. Differentiates from sibling 'asc_add_to_beta_group' which adds testers to an existing group.

    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 alternatives like asc_add_to_beta_group or other creation tools. Lacks context for prerequisites or typical use cases.

    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?

    Annotations indicate non-readOnly and non-destructive, but the description adds no additional behavioral details beyond 'Create'. No mention of permissions, side effects, or response format. With no further context, the description contributes little transparency beyond annotations.

    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-loaded, no extraneous words. Structurally efficient for quick comprehension.

    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?

    Tool has 3 parameters and no output schema, but the description does not explain what the tool returns (e.g., treatment ID), nor provides sufficient context for the optional 'appIconName' parameter. Lacks completeness for a creation operation.

    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 description coverage is 0%, but the description only clarifies the 'name' parameter as the variant name. The 'experimentId' and 'appIconName' parameters are left unexplained. For a tool with low schema coverage, the description should provide more parameter guidance.

    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 creates a named treatment variant for a Product Page Optimization experiment. It effectively distinguishes from sibling tools like asc_create_product_page_experiment (creates the experiment) and asc_create_experiment_treatment_localization (localizes treatments).

    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, such as prerequisites (e.g., experiment must exist) or related tools (e.g., asc_create_experiment_treatment_localization). Usage is implied but not stated.

    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?

    Annotations already indicate a write operation (readOnlyHint=false) and non-destructive (destructiveHint=false). The description adds 'create' and traffic proportion setting but no additional behavioral context like required permissions or side effects.

    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 with 11 words, directly conveying the core purpose without waste. Front-loaded and 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?

    Missing details on return value, prerequisites (e.g., versionId must exist), and workflow context. For a creation tool with no output schema and 0% parameter coverage, the description is incomplete.

    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 0%; the description only implies trafficProportion via 'set its traffic percentage' but does not explain versionId or name parameters. Insufficient compensation for missing schema descriptions.

    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 (create) and the resource (product page optimization experiment) and mentions setting traffic percentage, distinguishing it from sibling tools like asc_create_custom_product_page or asc_create_experiment_treatment.

    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 such as asc_create_experiment_treatment or asc_update_product_page_experiment. The description lacks context for selection.

    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?

    Annotations already indicate destructiveHint=true and readOnlyHint=false. The description adds that it submits to App Review, implying a review process with external effects. However, it does not mention idempotency (already idempotentHint=false) or what happens to existing submissions, missing some behavioral context.

    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 covering the main action. No redundant information, highly 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 complexity (multi-step submission), no output schema, and many siblings, the description lacks prerequisites, return value, and side effects (e.g., whether submission can be repeated). Incomplete for safe agent invocation.

    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 0% and description adds no parameter details. The two parameters (appId, versionId) are not explained, requiring the agent to infer from naming or context. Description should clarify their roles.

    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 action: creating a review submission, adding a version, and submitting to App Review. It distinguishes from siblings like asc_create_app_store_version (which only creates a version) and asc_release_app_store_version (which releases, not submits).

    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 (e.g., asc_create_review_details, asc_submit_beta_app_review). The description only states the action, leaving the agent to infer context from sibling names.

    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?

    Annotations indicate destructiveHint=true but description does not explain any destructive side effects. Without elaboration, the agent may not understand the impact of submission. The action 'Submit to App Review' is described but behavioral traits beyond annotations are not disclosed.

    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 that efficiently conveys the core purpose without extraneous information.

    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 is a mutation (destructiveHint=true) with 3 undocumented parameters and no output schema, the description lacks essential context such as prerequisites, effects on existing reviews, and expected outcomes. The description is too brief to guide correct invocation.

    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 description coverage is 0% and the tool description does not explain the parameters (appId, itemType, itemId). The description mentions the item types but does not clarify what appId or itemId represent or how to obtain them.

    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 action (submit) and the resource (Product Page Optimization experiment or custom product page version) to App Review. It distinguishes from sibling tools like asc_submit_app_store_version which handles app store version submissions.

    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?

    Description implies usage for submitting product page items to review but does not explicitly state when to use this tool vs alternatives like asc_submit_app_store_version or asc_submit_beta_app_review. No when-not guidance provided.

    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?

    Annotations indicate it is a write operation (readOnlyHint=false) and non-destructive, but the description adds no further behavioral details such as side effects, the multi-step nature ('reserve, upload, commit'), or idempotency. It fails to disclose important traits beyond the basic action.

    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 extremely concise, consisting of a single sentence with no redundant words. It is front-loaded and every word earns its place.

    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 two required parameters and no output schema, the description is minimal. It lacks guidance on usage context, parameter details, expected output, and does not fully explain the 'reserve, upload, and commit' process. An agent would need additional context to use this tool correctly.

    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?

    With 0% schema description coverage, the description must compensate but only vaguely hints at parameter meanings ('local screenshot file' for filePath, 'existing screenshot set' for screenshotSetId). No details on format, size limits, or constraints are provided.

    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 specific verbs ('Reserve, upload, and commit') and a clear resource ('one local screenshot file to an existing screenshot set'). It distinguishes from sibling tools like asc_create_screenshot_set (creates a set) and asc_delete_screenshot_resource (deletes a screenshot).

    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 the tool requires an existing screenshot set, but does not explicitly state when to use it versus alternatives like asc_create_screenshot_set or when not to use it. No exclusion criteria or context is provided.

    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?

    Annotations already indicate mutation (readOnlyHint=false). Description adds 'create or invite' but no further details on idempotency, email triggering, or duplicate handling. Adequate but not enhanced.

    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, concise and front-loaded with the key action and resource.

    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?

    Lacks output schema and does not describe return value or side effects; for a simple creation tool it is minimally adequate but not fully complete.

    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 description coverage is 0%; the description adds no parameter explanations. Parameter names (email, lastName, firstName) are self-evident but the description fails to compensate for missing schema details.

    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 ('create or invite') and the resource ('TestFlight tester account'), distinguishing it from siblings like asc_add_to_beta_group.

    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 alternatives (e.g., asc_add_to_beta_group), nor prerequisites or context like whether the tester must be added to a group afterward.

    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?

    Annotations already declare readOnlyHint=true and idempotentHint=true. The description adds context about available metric types but does not disclose any additional behavioral nuances such as pagination, rate limits, or data freshness. No contradiction with annotations.

    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 sentence with no redundant words. It is front-loaded with the verb and resource, making it quick to parse.

    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 tool has no output schema, so the description should hint at return values or structure. It also lacks information on pagination, filtering, or how to interpret the metrics. Given the parameter count of 5 and no output schema, the description is incomplete for effective use.

    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 description adds meaning for metricType (listing examples) and resourceType (app or build), but does not explain platform, deviceType, or resourceId. With 0% schema description coverage, the description partially compensates for key parameters but leaves several undocumented.

    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 (Get) and the resource (metrics for an app or build), and lists the specific metric types (launch time, hangs, memory, etc.). It distinguishes this tool from sibling CRUD tools by focusing on read-only metrics retrieval.

    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 is given on when to use this tool versus sibling tools like asc_get_diagnostic_logs or asc_get_analytics_report_data. There is no mention of exclusions, prerequisites, or context that would help an agent choose appropriately.

    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?

    Annotations already declare the tool as safe (readOnlyHint, destructiveHint=false). The description adds no behavioral details beyond what annotations provide, such as pagination behavior or rate limits. It does not disclose that the tool returns paginated results (though schema handles that). Minimal added value.

    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 redundant words, front-loaded with the primary 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.

    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 (3 parameters, a list operation) and good annotations and schema, the description covers the essential purpose and context. However, it lacks a mention of how to use the output or relationships to other tools like creating treatments. For a straightforward list tool, this is nearly complete.

    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 67% with limit and nextUrl well-documented. The parameter 'experimentId' lacks a description in the schema, and the tool description only implies it's an experiment identifier without clarifying format or required context. Baseline 3 is appropriate as the description provides marginal additional meaning over 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 verb 'List', the resource 'treatment variants', and the context 'in a Product Page Optimization experiment'. It effectively distinguishes from sibling creation tools like 'asc_create_experiment_treatment' and other list tools like 'asc_list_product_page_experiments'.

    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?

    The description provides no guidance on when to use this tool versus alternatives, such as when to use 'asc_list_product_page_experiments' first or what distinguishes listing treatments from listing experiments. No explicit when/when-not or alternative tool references.

    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?

    Annotations already state it is idempotent and non-destructive. The description adds that it applies to an 'editable' version, hinting at a necessary state. However, it does not disclose authentication needs or response behavior. Overall, moderate 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?

    A single sentence that is concise and front-loaded. Every word adds value, with no redundancy.

    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 is adequate for a simple update operation with two parameters. However, it lacks information about the effect of setting deepLink to null, the required editable state, and the expected return value. Given the absence of an output schema, more detail would be beneficial.

    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?

    With 0% schema description coverage, the description must explain parameters. It only mentions 'deep link' but omits 'pageVersionId', leaving the required parameter unexplained. The agent must infer its purpose from context.

    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 updates the app deep link for an editable custom product page version. It uses a specific verb ('Update') and resource ('app deep link for custom product page version'), and distinguishes from siblings like 'asc_update_custom_product_page' which updates the page itself.

    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 such as 'asc_create_custom_product_page_version' or 'asc_update_custom_product_page'. It does not mention prerequisites or when not to use 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?

    Annotations already indicate non-readonly, non-destructive, and idempotent. Description adds little beyond stating the state transitions; lacks details on auth needs or side effects like version release changes.

    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 redundancy. Efficiently conveys the core action.

    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?

    Simple tool with 2 params and no output schema. Description is adequate but lacks guidance on prerequisites (e.g., release must exist) and what happens when transitioning to 'COMPLETE' (is it final?). Could be more complete.

    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 0%, so description should compensate. It mentions state transitions but does not explain the meaning of each enum value (e.g., what 'ACTIVE' means vs 'COMPLETE'). Agent must infer from enum names alone.

    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 tool starts, pauses, resumes, or completes an existing phased release. 'Update' is used as a verb and 'phased release' as the resource, distinguishing it from 'asc_enable_phased_release' which might only enable.

    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?

    Implied that the tool is used to change the state of a phased release, but no explicit guidance on when to use this vs. alternatives like 'asc_enable_phased_release'. No exclusions or context provided.

    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 annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, and destructiveHint=false, so the description only adds that it lists 'What to Test' text. This adds some context but does not disclose additional behavioral traits like pagination behavior or error conditions.

    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 sentence with no redundant information, front-loading the key action and resource concisely.

    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?

    Given the tool's low complexity (3 parameters, no output schema), the description alongside annotations and schema provides adequate but not rich context. It lacks details about the return format or possible locales, but is sufficient for a list operation.

    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 covers 67% of parameters with descriptions (limit and nextUrl). The description does not add further clarification beyond stating the resource context, which implicitly relates to buildId. The missing description for buildId is not compensated by the tool description.

    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 'List' and the specific resource 'localized What to Test text for a TestFlight build', distinguishing it from sibling tools like `asc_list_version_localizations` which target different localizations.

    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?

    The description provides no guidance on when to use this tool versus alternatives such as `asc_list_version_localizations` or `asc_set_beta_build_localization`. It does not mention prerequisites or context.

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

  • Behavior4/5

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

    Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the tool's safety profile is clear. The description adds that signatures are 'recurring', implying multiple items, but does not cover pagination or ordering. Given rich annotations, this is sufficient.

    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, front-loaded sentence with 10 words, providing essential purpose without any waste.

    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?

    There is no output schema, and the description does not describe the return format, fields, or structure of the signatures. This leaves a significant gap for the agent to understand what data will be received.

    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 description coverage is 50% (limit and nextUrl have descriptions in schema, buildId and diagnosticType lack both schema and tool description). The tool description does not elaborate on any parameter, failing to compensate for the missing schema descriptions.

    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 lists 'recurring crash, hang, and disk-write signatures' for a 'build', using a specific verb and resource. It distinguishes from sibling tools like asc_get_diagnostic_logs by specifying signatures rather than logs.

    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 is provided on when to use this tool versus alternatives such as asc_get_diagnostic_logs or asc_list_builds. The description only states what it does without context for selection.

    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?

    Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint. The description adds 'anonymized' as behavioral context, but lacks details about output format or potential side effects. This is adequate given the rich annotations.

    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 sentence of 10 words, extremely concise with no unnecessary words. Every word earns its place.

    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?

    Given the low complexity (1 param, no output schema), the description is adequate but could be more complete. It does not describe the return format or how the logs/insights are delivered, which would be helpful for an agent.

    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?

    The only parameter 'signatureId' has 0% schema description coverage, and the description does not explain its meaning or how to obtain it. The sibling tool asc_list_diagnostic_signatures could provide context, but the description itself adds little value for parameter understanding.

    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 'Download' and identifies the resource as 'anonymized call-stack logs and insights' for one diagnostic signature. It clearly differentiates from sibling tools like asc_list_diagnostic_signatures.

    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 with a single diagnostic signature but does not explicitly state when not to use it or provide alternatives. The sibling tool asc_list_diagnostic_signatures is a natural prerequisite, but this isn't mentioned.

    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?

    Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint false, covering safety and idempotency. The description adds minimal behavioral context beyond that (e.g., 'selectable' implies filtering), but does not disclose pagination behavior or any side effects. With strong annotations, the description's additional value is marginal.

    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 concise sentence that covers the essential purpose. It is front-loaded and avoids unnecessary words, earning high marks for conciseness, though it could be slightly more structured with bullet points for clarity.

    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?

    Given the lack of an output schema, the description should explain the return format or what 'selectable' means, but it does not. The tool is simple, but the description omits details like pagination behavior (handled via nextUrl) and any filtering options, leaving gaps for the agent.

    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 50%: 'limit' and 'nextUrl' have descriptions, but 'appId' and 'territory' lack any. The description does not elaborate on parameter semantics beyond what the schema provides. Since coverage is exactly 50%, the baseline is 3, and the description adds no extra value.

    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 'List selectable customer prices and proceeds for an app in one territory' combines a specific verb ('list') with a clear resource ('selectable customer prices and proceeds') and scope ('for an app in one territory'). This precisely distinguishes it from sibling tools like 'asc_get_app_price_schedule' or 'asc_set_app_price'.

    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 clearly states what the tool does but provides no guidance on when to use it versus alternatives (e.g., 'asc_list_apps' or 'asc_get_app_price_schedule'). There is no explicit 'when to use' or 'when not to use' context, leaving the agent to infer usage from the name alone.

    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?

    Annotations already indicate this is a read-only, idempotent, safe operation. The description adds that it lists both internal and external groups, which is useful but not comprehensive. No mention of pagination behavior 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?

    A single sentence of 10 words, front-loaded with the verb 'List'. Every word is necessary and adds value. No redundancy.

    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 simplicity of a list operation and no output schema, the description is mostly complete. However, it could note pagination or that the tool returns a paginated list, which is implied by the nextUrl parameter but not stated.

    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 67% schema description coverage, the description does not add any parameter meaning beyond what the schema provides. The baseline of 3 is appropriate as the schema already covers the limit and nextUrl parameters.

    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 'List' and identifies the resource as 'TestFlight groups for an app', clearly distinguishing it from sibling tools like asc_create_beta_group or asc_list_beta_testers.

    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 is provided on when to use this tool versus other list tools (e.g., asc_list_beta_testers). There is no mention of prerequisites or context that would help an agent decide between 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?

    Annotations already declare readOnlyHint, idempotentHint, destructiveHint, so the safety profile is well-covered. The description adds little beyond 'list', but does not contradict annotations. It could mention pagination behavior, but the schema already documents limit and nextUrl.

    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 sentence with no unnecessary words. It is appropriately sized for a straightforward list operation and front-loads the core action.

    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?

    While the tool is simple and annotations cover safety, the description lacks details about the output (no output schema) and fails to explain the required localizationId parameter. For a list tool, agents would benefit from knowing what fields are returned. Still, it is minimally adequate given schema coverage of limit and nextUrl.

    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 description coverage is 67% (limit and nextUrl documented), but the required parameter localizationId has no description in schema or in the tool description. The description does not compensate by explaining what localizationId refers to (e.g., from asc_list_version_localizations). This is a significant gap for a required parameter.

    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 (list) and the resource (screenshot sets) within a specific context (App Store version localization). This distinguishes it from sibling tools like asc_list_screenshots (individual screenshots) and asc_create_screenshot_set (create).

    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 that a localizationId is needed, but provides no explicit guidance on when to use this tool versus alternatives (e.g., asc_list_screenshots) or when not to use it. The context is clear from the purpose, but no exclusions or prerequisites are stated.

    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?

    Annotations provide idempotentHint and destructiveHint, and the description adds context about supported actions (rename, start, stop, etc.). However, it does not elaborate on behavioral traits beyond the mentioned actions, such as side effects or prerequisites.

    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 sentence that efficiently states the tool's capabilities without unnecessary words. It is front-loaded with the primary actions.

    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 basic purpose but lacks details on parameter usage, state transitions, and required fields. Given the tool has four parameters and no output schema, more complete context would be helpful for an agent.

    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 description coverage is 0%, so the description must compensate, but it only vaguely maps actions to parameters. It does not explain the meaning of the state enum values (e.g., which ones correspond to 'start' or 'stop') or the required experimentId. The trafficProportion parameter is mentioned but not detailed.

    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 can rename, start, stop, complete, or change traffic for a Product Page Optimization experiment. It uses specific verbs and identifies the resource, distinguishing it from sibling tools like create or list.

    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 correct usage for updating an experiment but does not explicitly state when to use this tool versus alternatives (e.g., create or list). It lacks exclusion criteria or when-not-to-use guidance.

    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?

    Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, so the description does not need to repeat safety. It adds detail about the scope (global and per-territory) but omits info on data freshness, pagination, or limits, which is acceptable for a simple get 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?

    Description is a single, clear sentence that conveys the tool's purpose without unnecessary words. Perfectly concise and well-structured.

    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?

    For a simple 1-parameter read-only tool with no output schema, the description covers the essential behavior. However, it misses any mention of optional parameters or the response structure, which could aid completeness. Still, it is largely adequate.

    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 has 1 required parameter (appId) with 0% description coverage. The description does not explain appId's format or purpose, relying solely on the field name which may be ambiguous for new users. With low schema coverage, description should compensate but fails to do so.

    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 tool retrieves global and per-territory availability, release, and pre-order settings. It uses specific verb 'Get' and resource 'App Store availability', distinguishing it from sibling tools that create, update, or list other entities.

    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?

    Description implies usage for fetching availability settings but does not explicitly state when to use this tool versus alternatives like 'asc_list_territory_availabilities' or 'asc_update_territory_availability'. No exclusions or context provided.

    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?

    Annotations already declare readOnlyHint, idempotentHint, and openWorldHint, so the description need not repeat safety traits. It adds the email filtering behavior, but does not disclose pagination or data structure beyond what the schema provides.

    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, under 20 words, front-loaded with core action. Every word earns its place.

    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?

    While the description covers purpose and email filtering, it does not explain return format (e.g., list of tester objects) or pagination behavior, which would be helpful given no output schema. However, pagination details are in the schema.

    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 description adds meaning to the email parameter ('optionally filtering by exact email address'), which is not documented in the schema. The limit and nextUrl parameters are well-described in the schema, so overall parameter semantics are well-covered.

    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 'List TestFlight testers' with an optional email filter, making the tool's purpose unambiguous and distinct from sibling tools like asc_list_beta_groups.

    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, such as asc_list_beta_groups or other list tools. The description implies use for listing testers, but lacks comparative or contextual advice.

    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?

    Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. Description adds only 'public URLs', which is minor additional context. No disclosure of pagination behavior or return format beyond annotations.

    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, 9 words, no filler. Front-loaded with purpose and key detail. Every word earns its place.

    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?

    Description lacks mention of pagination (limit, nextUrl) which is critical for list tools. No output schema exists, so agent needs more context on response structure. Adequate but 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 coverage is 67% (limit and nextUrl have descriptions; appId missing). Description does not add any parameter information. Baseline 3 is appropriate as schema provides 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?

    Clearly states the verb 'list' and resource 'custom App Store product pages', and adds specific detail 'their public URLs'. Differentiates from sibling tools like asc_create_custom_product_page and asc_list_custom_product_page_versions.

    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 when-to-use or when-not instructions. Usage context is implied by the tool name and sibling list, but no alternatives or exclusions are mentioned.

    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?

    Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false, so the safety profile is clear. The description adds that pagination is supported, but does not disclose ordering, filtering, or rate limits. Minimal added value beyond annotations.

    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?

    A single, front-loaded sentence that efficiently conveys the action and resource. Every word serves a purpose with no redundancy.

    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?

    No output schema exists; the description does not explain the return structure (e.g., list of territory availability objects, pagination metadata). Given the complexity and lack of output schema, more detail on return values would be helpful for completeness.

    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 67% (limit and nextUrl have descriptions; appAvailabilityId does not). The description explains 'for an app availability resource' which clarifies appAvailabilityId's role. However, no additional detail is provided beyond what the schema already offers for the other parameters.

    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 ('List'), the resource ('territory availabilities'), and associates it with an 'app availability resource'. It effectively distinguishes this tool from siblings like asc_get_app_availability (single get) and asc_update_territory_availability (update).

    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 other list tools, nor any prerequisites or exclusions. Usage is implied by the resource name, but the description does not help the agent choose among many sibling list operations.

    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 annotations already indicate destructiveHint=true and readOnlyHint=false, so the agent knows this operation modifies state. The description adds no further behavioral details (e.g., effects of resubmission, review process implications), but it is not contradictory.

    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, focused sentence with no extraneous content. It efficiently conveys the core action and context.

    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 (one required parameter, no output schema) and the annotations covering destructive behavior, the description provides sufficient context for an agent to understand the tool's purpose. However, it could briefly mention prerequisites like having a build already uploaded.

    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 description coverage is 0%, placing the burden on the description to explain the parameter. The description only mentions 'a build' generically and does not clarify that the required parameter buildId is the build identifier. This fails to compensate for the missing schema documentation.

    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 ('Submit a build to Beta App Review') and specifies the context ('before external TestFlight distribution'). It effectively distinguishes this tool from siblings like asc_submit_app_store_version, which targets App Store 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 a build needs to be submitted for external TestFlight review, but it does not provide explicit guidance on when to avoid using this tool or suggest alternatives. The context is clear but lacks exclusion criteria or references to related steps.

    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?

    Annotations already indicate readOnlyHint=false, destructiveHint=true, and idempotentHint=true. The description adds no additional behavioral context beyond stating 'enable or disable' and 'update', which aligns but doesn't elaborate on consequences like removal from a territory.

    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 sentence, front-loaded with the key purpose, and contains no unnecessary words. Every part earns its place.

    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?

    Given the tool has 5 parameters (1 required) and no output schema, the description provides a high-level overview but does not explain parameter dependencies (e.g., preOrderEnabled and preOrderPublishDate relationship) or the destructive nature of disabling. It is minimally adequate but 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 0%, so the description must compensate. It loosely covers all 5 parameters (available, releaseDate, preOrderEnabled, preOrderPublishDate, territoryAvailabilityId) via phrases like 'enable or disable' and 'update release or pre-order dates', but it lacks detailed semantics such as boolean meanings or date format expectations.

    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+resource: 'Enable or disable an app in one territory and update its release or pre-order dates.' It distinguishes from sibling tools, which update other resources like app store versions or localizations.

    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 the usage scenario (updating territory availability) but provides no explicit guidance on when to use this tool versus alternatives, nor does it mention prerequisites or when not to use it.

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

  • Behavior4/5

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

    Explicitly states that deleting a set cascades to all screenshots in it, adding behavioral context beyond annotations. Annotations already mark destructiveHint=true, but description clarifies the cascading effect.

    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-loaded with verb, no wasted words. Efficiently conveys the core action.

    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?

    Adequately explains behavior for both resource types given low complexity (2 params, no output schema). Lacks potential error conditions or authorization requirements, but acceptable for a simple 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 0%, so description must compensate. It explains the distinction between 'screenshot' and 'set' resource types but does not clarify the 'id' parameter or provide any format/example. Partial compensation.

    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 specifies the verb (delete) and the resource (screenshot or set), and distinguishes between deleting a single screenshot versus a set that deletes all contained screenshots. This is distinct from sibling tools.

    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. There are no other delete tools in siblings, but description does not mention prerequisites, conditions, or exclusions.

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

  • Behavior4/5

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

    Discloses error conditions (missing env var, 404), return format with truncation info, and aligns with annotations (readOnly, idempotent). Adds value beyond annotations.

    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?

    Well-structured with Args, Returns, Error Handling sections. Every sentence adds value, no redundancy. Front-loaded with purpose.

    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?

    Covers environment variable dependency, error handling, return format. Lacks examples for date formats but sufficient for a 2-param tool with no output schema.

    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%; description repeats schema info but provides no additional parameter clarification beyond the return format. Baseline 3.

    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 it fetches a sales summary report for the vendor, specifies the endpoint (SALES/SUMMARY/v1.0), and distinguishes from sibling tools like asc_get_analytics_report_data by being sales-specific.

    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 vs alternatives like asc_get_analytics_report_data or asc_list_analytics_reports. Does not mention prerequisites or exclusions.

    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?

    Annotations already declare readOnlyHint=true and destructiveHint=false, so safety is covered. The description adds context about the ordered nature and inclusion of processing states, but does not disclose additional behaviors like rate limits or pagination beyond the schema.

    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, clear sentence that is front-loaded and contains no extraneous information.

    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?

    For a simple list tool, the description is adequate. Annotations cover behavioral traits. No output schema exists, but the return format (ordered screenshots with states) is inferable. Pagination is hinted via nextUrl in the schema.

    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 67% (limit and nextUrl have descriptions). The description adds minimal context for screenshotSetId by mentioning 'in a screenshot set', but does not provide additional parameter-level details 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 verb 'List' and the resource 'ordered screenshots and upload processing states in a screenshot set'. It distinguishes from sibling tools like asc_list_screenshot_sets (which lists sets) and asc_upload_screenshot (which uploads).

    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 this tool versus alternatives. Usage is implied by the name and description, but no exclusions or when-not-to-use guidance is provided.

    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?

    Annotations already indicate destructive behavior (destructiveHint=true). The description adds context that the version must be 'approved' and 'waiting for manual release,' but does not detail other behavioral aspects like persistence or potential side effects beyond the annotation hints.

    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?

    A single, front-loaded sentence efficiently conveys the tool's purpose with no unnecessary words.

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

    Completeness5/5

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

    For a simple tool with one required parameter and no output schema, the description, combined with annotations, sufficiently covers the essential information needed to understand and invoke the tool.

    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?

    The schema has 0% description coverage and only one parameter, 'versionId'. The description provides no additional meaning or format details about this parameter, such as how to obtain it or that it identifies the version to release.

    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 'release' and the resource 'approved App Store version', distinguishing it from related tools like 'asc_submit_app_store_version' (submits for review) and 'asc_enable_phased_release' (gradual rollout).

    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 the tool should be used when a version is approved and waiting for manual release, but it does not explicitly state when not to use it or mention alternatives, such as phased release options.

    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?

    Annotations already convey idempotent, non-destructive, mutable behavior. The description adds 'create or update' which clarifies the idempotent nature. No additional behavioral context beyond what annotations provide, so score is moderate.

    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 that is front-loaded with the action. No fluff or redundant information. Highly concise.

    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 tool has no input parameters, but the description does not explain how the agent specifies which build or localization to target. It assumes context that is not defined, leaving the agent uncertain about invocation requirements.

    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?

    There are no parameters, so the schema provides full coverage. The description does not need to add parameter info. Baseline score of 4 is appropriate for zero-parameter tools.

    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 tool's action: create or update localized What to Test text for a TestFlight build. It is specific about the verb and resource, and distinguishes from listing tools like asc_list_beta_build_localizations.

    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 when-to-use or when-not-to-use guidance is provided. The usage is implied by the action, but no alternatives or exclusions are mentioned, leaving the agent without context relative to sibling tools.

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

  • Behavior4/5

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

    Annotations already declare readOnlyHint, idempotentHint, and non-destructive. The description adds value by specifying that it retrieves both current and scheduled manual prices, and includes price point IDs. It does not contradict annotations. However, it could further disclose pagination or authorization requirements.

    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-structured sentence that is concise and front-loaded. It contains no extraneous information.

    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 simplicity of the tool (one parameter, no output schema, read-only), the description is reasonably complete. It specifies what data is returned (current and scheduled prices, price point IDs). However, it does not mention the return format (likely a list or object) or any related resources like territories.

    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?

    The input schema has one required parameter (appId) with 0% description coverage. The description mentions 'app' implicitly but does not explicitly describe the appId parameter or its format. For a simple parameter, this is a minor gap, but the description should compensate for the low schema 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?

    The description clearly states the verb 'Get', the resource 'app price schedule', and specifies that it includes 'current and scheduled manual prices' and 'price point IDs'. This differentiates it from sibling tools like asc_list_app_price_points which lists all price points, and asc_set_app_price which sets prices.

    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 for retrieving a price schedule but does not explicitly state when to use this tool versus alternatives like asc_list_app_price_points or asc_set_app_price. No guidance on prerequisites or when not to use is provided.

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

  • Behavior4/5

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

    Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds value by specifying the returned fields (contact info, demo account, notes), providing useful context beyond annotations.

    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-loaded with the action and scope, no extraneous 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?

    For a simple read tool with one parameter and annotations covering safety, the description adequately describes the output. However, it omits any mention of error conditions or prerequisites.

    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?

    With 0% schema coverage, the description should clarify the parameter. It mentions 'for an App Store version' but does not explain the format or source of versionId, leaving ambiguity.

    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 specifies the exact data retrieved (contact info, demo account, notes) and the resource (App Store version), clearly distinguishing it from sibling tools like create_review_details and update_review_details.

    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 versus alternatives. The read-only nature is implied by the verb 'Get' and annotations, but no when-not or context is provided.

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

  • Behavior4/5

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

    Annotations already indicate a safe, read-only, idempotent operation. The description adds specificity about returning testing states and the ID. No contradictions with annotations. It provides behavioral context beyond what annotations offer.

    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?

    A single, concise 14-word sentence that is front-loaded and contains no redundant information. Every word adds value.

    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 simple tool (one parameter, no output schema, comprehensive annotations), the description adequately explains what the tool does and what it returns. A note about the return format or ID format would improve completeness, but it is sufficient.

    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 0% schema description coverage, the description must compensate. It mentions 'for a build', clarifying that the buildId parameter identifies the build. However, it does not explicitly state 'Provide the build ID' or give format details, remaining minimal.

    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 the specific verb 'Get' and identifies the resource as 'build', clearly stating it retrieves 'internal and external testing states' and the 'buildBetaDetail ID'. This distinguishes it from sibling tools like asc_list_builds (which lists all builds) and asc_update_build_beta_details (which updates).

    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 for retrieving beta details for a specific build but provides no explicit when-to-use or when-not-to-use guidance, nor alternatives. No exclusions 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.

  • Behavior5/5

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

    The description adds valuable context beyond annotations: explains the two appInfos per app and the appInfoState distinction. Annotations already indicate readOnly, idempotent, non-destructive; description complements with behavioral nuance.

    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?

    Concise and well-structured: purpose first, then args and returns in a clear format. No unnecessary words.

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

    Completeness5/5

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

    For a tool with one parameter, no output schema, and low complexity, the description is complete. It explains the return structure and the appInfoState concept.

    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 3 is appropriate. Description does not add significant new meaning beyond the schema for the single parameter.

    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 clearly states it lists per-locale app-level metadata with specific fields. It is a distinct verb+resource but does not explicitly differentiate from sibling tools like asc_list_version_localizations.

    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 needing app info localizations but provides no explicit when-to-use, 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.

  • Behavior5/5

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

    Annotations already declare readOnlyHint, idempotentHint, and destructiveHint false. The description adds detailed behavioral context: pagination via nextUrl, limit defaults and bounds, and the exact return structure including field descriptions. This fully discloses the tool's behavior.

    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 well-structured with sections for args and returns. It is concise without unnecessary words. However, the 'Args:' section largely duplicates schema information, so it could be slightly more efficient.

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

    Completeness5/5

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

    For a simple paginated list tool with 2 parameters, the description covers all necessary context: purpose, parameter usage, pagination flow, and return format. Combined with rich annotations, it provides complete guidance for effective use.

    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 restates parameter details (limit default/max, nextUrl usage) but adds minimal additional meaning beyond what the schema already provides.

    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 'List all apps registered in the App Store Connect account,' using a specific verb and resource. It distinguishes from sibling tools that list other entities (e.g., builds, beta groups).

    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 explains what the tool does and how to use pagination, but it does not provide explicit guidance on when to use this tool versus alternatives (e.g., other list tools). The usage context is implied rather than stated.

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

  • Behavior4/5

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

    Annotations already declare readOnlyHint=true, destructiveHint=false, etc. The description adds valuable behavioral context: it lists both released and in-progress versions, explains pagination via nextUrl, and describes the return structure. This adds meaning beyond the annotations without contradicting them.

    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 highly concise: a one-sentence purpose followed by clear parameter bullet points and a code block for the return value. Every sentence is necessary and well-structured, with no wasted words. It is front-loaded with the most important information first.

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

    Completeness5/5

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

    Given the tool is a simple read-only list operation with pagination, the description is complete. It explains parameters, pagination, and the full return shape (including field names and types). No output schema is provided, but the description compensates fully. The annotations cover safety and idempotence.

    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%, and the description restates parameter details (appId, limit, nextUrl) with similar information. It does not add new constraints or examples beyond what the schema provides. A score of 3 is appropriate as the description adds marginal value over the schema for parameters.

    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 explicitly states 'List App Store versions for an app (both released and in-progress)', which is a specific verb+resource combination. It distinguishes from sibling tools like asc_create_app_store_version or asc_update_app_store_version by focusing on listing, and clarifies the scope (both released and in-progress).

    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 clearly implies usage for querying app versions, and includes pagination details (nextUrl) that indicate how to handle large result sets. However, it does not explicitly state when to use this tool vs alternatives or provide exclusions. The context is clear but lacks direct guidance.

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

  • Behavior5/5

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

    The description adds significant behavioral details beyond annotations: sorting order, pagination via nextUrl, default and maximum limit, and a full return structure. Annotations already indicate read-only, idempotent, and non-destructive, so the description enriches 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 concise with a front-loaded one-liner, followed by structured Args and Returns sections. Every sentence is informative, and there is no redundancy or waste.

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

    Completeness5/5

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

    Despite no output schema, the description provides a full return structure with field details, covering pagination, sorting, and all fields. Annotations cover safety. The description is complete for an agent to use the tool effectively.

    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 the description's Args section mostly restates schema info. It adds that limit defaults to 20 and nextUrl comes from a previous call, but these are also in the schema. The description adds little 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 'list', the resource 'builds', the scope 'for an app', and the sorting 'by upload date (newest first)'. It distinguishes this tool from siblings like asc_list_apps or asc_list_beta_groups by specifying 'builds'.

    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 provide explicit guidance on when to use this tool versus alternatives. It does not mention when-not or suggest other tools for related tasks. However, the purpose is clear enough that an agent can infer typical usage.

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

  • Behavior4/5

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

    The description discloses write behavior, failure conditions, and error handling beyond annotations. It explains when it fails (existing response) and what errors occur, supplementing the minimal annotation hints (readOnlyHint=false).

    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 well-structured: purpose first, then precondition, then parameter list, then return format, then errors. Every sentence adds value; no fluff. Front-loaded with the core action.

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

    Completeness5/5

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

    For a tool with 2 simple parameters and no output schema, the description is complete. It covers preconditions, return format, error cases, and parameter constraints. No obvious gaps remain.

    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 the description adds limited new meaning. It repeats parameter descriptions already in the schema, with minor restating of max length and required status. A score of 3 is appropriate as description does not significantly enhance 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 creates a developer response to a customer review (specific verb and resource). It distinguishes from sibling tools by focusing on replies, not other creation operations.

    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 explicitly warns that the tool fails if a response already exists and suggests using the App Store Connect UI or API to update/delete first. It provides clear precondition and failure context, though it doesn't name a specific sibling tool.

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

  • Behavior4/5

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

    Annotations declare idempotentHint=true and readOnlyHint=false. The description reinforces idempotency by stating it reuses an existing request if present, and adds behavioral details like the note about 48-hour generation time and the return object structure, providing useful context beyond annotations.

    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 extremely concise: a single-purpose sentence, a usage ordering instruction, and a structured args/returns section. Every sentence is necessary and adds value without redundancy.

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

    Completeness5/5

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

    Given the tool's simplicity (1 param, no output schema), the description fully covers the behavior, return values, and usage context. It explains the idempotent behavior, the created flag, and the 48-hour latency, making it complete for an agent.

    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% with the description of appId matching the tool's param docs. The description repeats the param info but adds no new semantic meaning beyond the schema's description. The return object is described in detail, but parameter semantics add minimal value.

    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 ensures an ONGOING analytics report request exists, using the verb 'ensure' and specifying the resource. It distinguishes itself from siblings by noting to call this before asc_list_analytics_reports, which lists rather than creates/reuses requests.

    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 states when to use: 'Ensure an ongoing analytics report request exists' and 'Call this first, before asc_list_analytics_reports.' While it doesn't list alternatives for other use cases (e.g., one-time reports), the guidance is clear and actionable.

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

  • Behavior4/5

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

    Annotations indicate readOnlyHint=false, destructiveHint=false, and idempotentHint=true. The description adds detail that the tool modifies the build relationship and includes error conditions (build not valid/processed, version not editable), which go beyond the annotations without contradiction.

    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 a single purpose sentence followed by structured sections for Args, Returns, and Error Handling. Every part is informative and necessary, with no redundant information.

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

    Completeness5/5

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

    Given the tool's simplicity (2 parameters, no output schema), the description covers purpose, arguments, return format, and error handling completely. It provides all necessary context for an agent to use the tool correctly.

    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% and the schema descriptions already cover both parameters. The 'Args' section in the description merely restates what the schema provides without adding new meaning, 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 the specific verb 'Attach' and clearly identifies the resource as a build to an App Store version's build relationship. It distinguishes from siblings like 'asc_create_app_store_version' by noting it is required before submission for review.

    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 states 'This is required before the version can be submitted for review,' providing clear context for when to use the tool. It lacks explicit when-not-to-use guidance but implies the version must be in an editable state through error handling.

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

  • Behavior4/5

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

    Annotations already declare readOnlyHint=true and destructiveHint=false. The description adds behavioral context by detailing the return structure, pagination via nextUrl, and filtering options, which goes beyond what annotations provide.

    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 well-structured and front-loaded with the purpose. It includes a clear argument list and output format. While each sentence adds value, it could be slightly more concise by integrating the output format into the main text.

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

    Completeness5/5

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

    Despite lacking an output schema, the description provides a complete return structure and explains pagination, filtering, and sorting in detail. It covers all 6 parameters and handles the complexity of paginated results effectively.

    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 providing examples, default values, and clarifying pagination behavior (e.g., 'Omit for the first page'). This enhances understanding beyond the schema descriptions.

    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 'List customer reviews for an app' with a specific verb and resource. It distinguishes from sibling tools, which are primarily create/update/delete operations on other entities.

    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 usage (when needing to fetch reviews) but does not explicitly state when not to use or provide alternatives. The context is clear, but no exclusions are mentioned.

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

  • Behavior4/5

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

    Annotations already indicate non-readonly, non-idempotent, non-destructive. The description adds value by detailing the return object (including typical state 'PREPARE_FOR_SUBMISSION') and error condition, going beyond what annotations provide.

    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 well-structured with clearly labeled sections (Args, Returns, Error Handling). It is concise with no superfluous text, and the main purpose is front-loaded.

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

    Completeness5/5

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

    For a straightforward creation tool with 3 parameters and schema/annotations covering basics, the description is complete: it covers purpose, parameters, return format, and error handling. No output schema exists, but the return structure is explicitly detailed.

    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%, but the description enhances parameter understanding with examples (e.g., '1.3.4' for versionString) and explicit value lists for platform. This adds clarity beyond the schema's field descriptions.

    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 creates a new App Store version for an app, with a practical example ('to start preparing the next release'). It fully distinguishes from sibling creation tools like asc_create_version_localization by focusing solely on version creation.

    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 a use example and error handling (duplicate version) but does not explicitly state when not to use the tool or compare it to alternatives like asc_list_app_store_versions. The context is clear but lacks exclusionary guidance.

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

  • Behavior4/5

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

    Annotations indicate readOnlyHint and idempotentHint; description adds value by explaining return structure, pagination, and prerequisite call. No contradiction with annotations.

    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 a clear summary, args list, and returns section. Every sentence adds value without redundancy.

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

    Completeness5/5

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

    For a tool with 4 parameters and no output schema, the description fully covers prerequisites, parameters, pagination, filtering, and return format. No gaps.

    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. Description adds context by showing a sample return object and clarifying the workflow (requestId from asc_request_analytics_reports), beyond what schema provides.

    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 lists analytics reports under a report request, with specific verb 'list' and resource 'analytics reports'. It distinguishes from siblings by referencing asc_request_analytics_reports and asc_get_analytics_report_data.

    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 explicitly instructs to call asc_request_analytics_reports first to obtain requestId, and explains pagination via nextUrl. While it doesn't explicitly list when not to use, the context is clear among sibling list tools.

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

  • Behavior4/5

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

    Annotations already declare readOnlyHint=true and destructiveHint=false. The description adds value by disclosing pagination behavior (nextUrl) and the default/max limit, providing behavioral context beyond annotations.

    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 well-structured with an intro, Args list, and Returns block. Every sentence adds value, no redundancy. It is concise yet comprehensive.

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

    Completeness5/5

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

    Given the tool's simplicity (3 parameters, no formal output schema but description provides a detailed response format), the description is complete. It covers all necessary information: parameter usage, pagination, and return structure.

    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 meaning by explaining the nextUrl parameter's role in pagination ('Pass it back unchanged to fetch the next page') and listing the default limit, enriching the schema descriptions.

    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 ('List') and resource ('per-locale App Store version metadata') and clearly distinguishes it from siblings like asc_update_version_localization by stating it lists metadata, not updates. It also specifies the fields returned.

    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 explicitly says 'for an App Store version' and explains pagination via nextUrl, providing clear context for when to use this tool. However, it does not explicitly state when not to use it or name alternatives.

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

  • Behavior5/5

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

    The description fully discloses behavior beyond annotations: it downloads and decompresses segments, returns a preview with max 50 rows, includes a truncated flag, and explains error conditions. Annotations declare readOnlyHint, idempotentHint, etc., and the description adds rich context without contradiction.

    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 well-structured with clear sections (Args, Returns, Error Handling) and is front-loaded with the main purpose. While not overly verbose, it contains detailed return fields and error info; minor redundancy exists (e.g., repeating schema descriptions), but it remains efficient.

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

    Completeness5/5

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

    The description is fully self-contained for a complex tool: it explains the entire fetch process, return structure (including truncation and row limits), and error scenarios. No output schema exists, so the description must supply this, which it does comprehensively.

    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% with descriptions, so baseline is 3. The description adds value by explaining the default for granularity, the role of processingDate (latest instance if omitted), and the relationship to asc_list_analytics_reports, thus exceeding the schema alone.

    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 'Fetch the data of an analytics report' and details the process (resolves instance, downloads, decompresses, returns preview). It distinguishes from siblings by focusing on data retrieval after reporting, contrasting with asc_list_analytics_reports which lists report IDs, and asc_request_analytics_reports which creates requests.

    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 clear prerequisites (reportId from asc_list_analytics_reports) and optional granularity/processingDate. It includes error handling context (report may take up to 48 hours). However, it does not explicitly mention when not to use this tool versus alternatives like asc_get_sales_report, so it lacks a clear exclusionary note.

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

  • Behavior5/5

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

    Annotations indicate destructive behavior and non-idempotency. The description adds that it uses a price point and automatically equalizes other territories, providing clear side-effect information beyond annotations.

    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-loaded with all essential information, no redundant or unnecessary words.

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

    Completeness5/5

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

    With zero parameters and no output schema, the description provides all necessary context: what the tool does, how it works (using a price point, equalization), and that it is destructive. No gaps.

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

    Parameters5/5

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

    The input schema has no parameters, so the description's explanation of the operation—setting from a base territory price point with automatic equalization—fully covers semantics. This is sufficient for an agent.

    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 'set or schedule an app price' using a 'price point in the base territory' and notes automatic equalization. It distinguishes from sibling tools like asc_list_app_price_points (listing) and asc_get_app_price_schedule (reading).

    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 (changing app price) but does not explicitly state when not to use or suggest alternatives. The context of sibling tools is provided but not referenced in the description.

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

  • Behavior5/5

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

    Discloses the underlying API (iTunes Search), rate limits (~20 req/min), and HTTP 403 error handling. Annotations already mark readOnly, idempotent, non-destructive; description adds valuable behavioral context without contradiction.

    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?

    Well-structured: one-line summary, then special auth note, then parameter list, then return type in JSON, then error handling. No unnecessary words, front-loaded with purpose.

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

    Completeness5/5

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

    Provides full return schema example, error handling, and rate limit info. No output schema exists, but description compensates. Suitable for an agent to understand input, output, and constraints.

    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?

    All 4 parameters are described in the schema (100% coverage). The description adds extra meaning: bundleId triggers rank lookup among top 200, topN max is 50, country defaults to 'jp'. This goes beyond schema base.

    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 checks an app's search ranking for a keyword, using the public iTunes Search API. It distinguishes from sibling tools (most require App Store Connect auth) by noting no JWT is needed.

    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?

    Specifies no authentication required, which helps agents decide when to use. Mentions rate limits and error handling. Does not explicitly state when not to use or point to alternatives, but context makes it clear.

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

  • Behavior5/5

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

    Discloses behavioral traits beyond annotations: partial updates, state-dependent field editability, error conditions for non-editable fields and missing fields. Annotations only indicate write operation, no contradiction.

    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?

    Well-structured: purpose, partial update note, state constraints, args list, requirement, returns, error handling. Each section is concise and informative. No fluff.

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

    Completeness5/5

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

    Given the tool has 7 parameters, no output schema, and annotations are minimal, the description is comprehensive. Covers field behavior, return structure, error cases, and references related tool (asc_list_version_localizations).

    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. Description adds value by noting promotionalText can be updated anytime vs other fields, and requiring at least one optional field. Also provides return format and error handling, enhancing schema info.

    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 title and description clearly state 'Update per-locale App Store version metadata.' The verb 'update' and resource 'version localization' are specific. It distinguishes from siblings by focusing on version localizations, not the version itself or other entities.

    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?

    Describes partial update behavior and state constraints for fields (promotionalText always editable, others require editable state). States requirement for at least one optional field. However, does not explicitly compare to alternative tools like asc_update_app_store_version.

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

  • Behavior5/5

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

    Annotations already indicate readOnlyHint=false and idempotentHint=false. Description adds critical behavioral details: partial update semantics, editable state requirement, error handling for missing fields and non-editable state, and return shape. This significantly complements annotations.

    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?

    Description is concise (approx. 150 words) and well-structured with sections for Args, Returns, and Error Handling. Every sentence adds value; no redundancy or fluff.

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

    Completeness5/5

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

    Given moderate complexity (4 params, 1 required) and no output schema, description is fully complete: it explains the action, parameters, constraints, return format, and error conditions. No gaps.

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

    Parameters5/5

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

    Schema coverage is 100% with descriptions. Description adds value by noting that localizationId comes from 'asc_list_app_info_localizations' and by imposing a constraint: 'At least one of the optional fields must be provided', which is not in the schema. This clarifies usage 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 'Update per-locale app-level metadata (name, subtitle, privacy policy URL)', specifying the action and the exact fields. It distinguishes from sibling tools like 'asc_update_version_localization' by targeting app info localization specifically.

    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?

    Provides explicit context: 'Only the fields you pass are updated. Only editable while the corresponding appInfo is in an editable state.' Includes error conditions (no updatable field, not editable). However, it does not explicitly state when to use this tool over alternatives, though the specificity implies it.

    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

asc-mcp MCP server

Copy to your README.md:

Score Badge

asc-mcp 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/Hiru-ge/asc-mcp'

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