Skip to main content
Glama
vom-core

storelift-mcp

get_store_page

Read-onlyIdempotent

Fetch an app's store listing details for one country—version, ratings, in-app events, screenshots, Google Play data, and detected changes—to track rank moves and compare competitors.

Instructions

The app's own store listing signals for one country (name and subtitle are not included): version, in-app events, editorial placements, similar-apps shelves and the screenshot set (iOS), plus the Google Play page (exact install count, rating histogram, ad/IAP flags, chart badge). ios.listingExtras holds the languages the app supports, its star breakdown (1★ to 5★), live and upcoming in-app events, the promotional text and the featured in-app purchases; on Free it carries the language count, the first 5 languages and the star breakdown, and locked shows how many of the rest there are. timeline lists the dated changes we detected on the listing — the cheapest explanation for a rank move. measured=false means the page was never read; it is not the same as an empty page.

Input Schema

NameRequiredDescriptionDefault
appIdYesapp id from list_apps
countryNocountry code, e.g. tr, us (defaults to the app's first country)

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv1.5.0
    • changedInput schema / properties / country / description
      Previous value: -"country code, e.g. tr, us"New value: +"country code, e.g. tr, us (defaults to the app's first country)"
  2. First observedv1.1.1

TDQS

B3.4/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive), and the description adds genuinely valuable behavioral context beyond them: name and subtitle are excluded, and 'measured=false means the page was never read; it is not the same as an empty page' — a non-obvious state distinction. It stops short of describing caching, auth, or latency, but adds real disclosure.

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?

Given there is no output schema, the density of return-field detail is defensible, but the content is delivered as one long comma-chained paragraph mixing multiple return shapes (ios.listingExtras, timeline, measured) with no structural separation. It is not wasted, but it is not front-loaded or scannable either.

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?

With no output schema, the description carries the full burden of describing return values, and it does so thoroughly (listing signals, listingExtras, star breakdown, timeline, measured semantics). For a 2-param read tool the coverage is sufficient, though the usage/routing 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 description coverage is 100%, so the schema fully documents appId ('app id from list_apps') and country ('country code... defaults to the app's first country'). The description adds no parameter-level meaning beyond that, so the baseline 3 applies.

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 names a specific resource and scope: 'the app's own store listing signals for one country', enumerating the concrete data (version, in-app events, editorial placements, screenshot set, Google Play page). An agent can tell this is a per-country store-listing read. It does not, however, explicitly contrast itself with siblings like get_app, get_listing_timeline, or get_storefront_audit.

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?

There is no when-to-use/when-not-to-use guidance and no sibling is named as an alternative. The one embedded hint — 'timeline ... the cheapest explanation for a rank move' — implies a diagnostic use case but never says when to call this versus get_listing_timeline or get_app.

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