Skip to main content
Glama

ASO Competitor IAP

aso_competitor_iap
Read-onlyIdempotent

Fetch a competitor's subscription and in-app purchase price ladder from their App Store page to inform your own pricing strategy.

Instructions

Fetch a competitor's subscription/IAP price ladder from its App Store product page.

Use when: setting our pricing. app_id is the iTunes trackId from aso_fetch_competitors. Fragile, undocumented source: on failure ok:false and prices null mean unknown, not free. Returns: {ok, prices: [{name, price}] | null} (untrusted_content).

Input Schema

NameRequiredDescriptionDefault
app_idYesApp Store Connect app id (numeric Apple id, e.g. '1234567890'); for aso_competitor_iap the iTunes trackId.
countryNoTwo-letter App Store storefront code, lowercase, e.g. 'us', 'gb', 'de'.us

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changedv0.1.5
    • addedInput schema / properties / app_id / description
      Added value: +"App Store Connect app id (numeric Apple id, e.g. '1234567890'); for aso_competitor_iap the iTunes trackId."
    • addedInput schema / properties / country / description
      Added value: +"Two-letter App Store storefront code, lowercase, e.g. 'us', 'gb', 'de'."
  2. First observedv0.1.1

TDQS

A4.5/5.0
Behavior5/5

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

Annotations already cover safety (readOnly, idempotent, non-destructive, openWorld), but the description adds high-value context beyond them: the source is flagged 'fragile, undocumented', failure semantics are spelled out (ok:false and prices null mean unknown, not free), and the return payload is tagged untrusted_content. These are exactly the behavioral facts an agent needs and cannot get from structured fields.

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?

Three short, front-loaded sentences with zero filler: purpose first, then when-to-use plus the id source, then the failure/return contract. Every sentence carries distinct 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?

For a 2-param read tool with a declared output schema and rich annotations, the description covers the remaining gaps: the unreliability of the upstream source, the meaning of a null prices result, and the untrusted nature of the data. Nothing an agent needs to call it correctly is missing.

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 both app_id and country are already documented in the input schema, including the note that app_id is the iTunes trackId for this tool. The description restates that same fact, adding little beyond the schema – baseline 3 applies.

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

Purpose5/5

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

States a specific verb and resource ('Fetch a competitor's subscription/IAP price ladder from its App Store product page') with clear scope limited to competitors, which cleanly separates it from the account-side pricing tools (asc_ensure_subscription_prices, pricing_unit_economics). An agent can identify the operation without opening 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 Guidelines4/5

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

'Use when: setting our pricing' gives explicit context, and it names aso_fetch_competitors as the upstream source of the required app_id. It stops short of stating when NOT to use it or naming any alternative competitor-pricing tool, so it is clear but not fully exhaustive.

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

Deploy Server

Other Tools