Skip to main content
Glama

Top Charts

sonar_top_charts
Read-only

Get a store top chart (free / paid / grossing, overall or by category) with day-over-day movement: per-app rank delta, apps new to the chart, biggest movers and apps that dropped out. Use to see what's rising in a market or category. Note: summary, movers and droppedApps always describe the full top 200 — limit truncates the returned entries only. Movement is empty on the first day a chart is requested (no previous snapshot yet). Works without an API key (free tier, limited daily use per IP).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
chartNoChart type: "free", "paid" or "grossing". Default "free".free
limitNoNumber of chart entries to return (1-200). Default 50.
storeYesApp store. "ios" for Apple App Store, "android" for Google Play.
countryNoISO 3166-1 alpha-2 country code (e.g. "us", "gb", "de"). Default "us".us
categoryNoCategory key, e.g. "HEALTH_AND_FITNESS" (iOS) or "HEALTH_AND_FITNESS" / "GAME" (Android). Use "overall" (default) for the store-wide chart.overall

TDQS

A4.4/5.0
Behavior5/5

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

Annotations already provide readOnlyHint: true, and the description adds real behavioral detail: summary/movers/droppedApps always reflect the full top 200 even when limit truncates entries, movement is empty on first request, and it works without an API key with free-tier limitations. This goes well beyond what the schema or annotations alone reveal.

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 front-loaded with a precise, actionable sentence and follows with a short use-case and essential caveats. Every sentence carries distinct value and there is no filler, repetition, or unnecessary background.

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 read-only tool with no output schema, the description compensates by naming the key result concepts (per-app rank delta, new apps, biggest movers, dropped apps) and explaining the important edge cases around first requests and the full top-200 aggregation. Together with the fully described input schema, this gives an agent enough context to select and invoke the tool correctly.

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

Parameters4/5

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

The schema already documents all five parameters with 100% coverage, so the baseline is 3. The description adds important semantic context about how `limit` interacts with the summary/movers/droppedApps aggregates and the first-request behavior, which helps an agent understand parameter consequences without overstepping 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?

'Get a store top chart' names a specific verb, resource, and scope (free/paid/grossing, overall or by category) and adds movement details that distinguish it from a generic rankings tool. It is clearly purposeful, but it does not explicitly name alternative sibling tools or state why it should be preferred over them.

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 'Use to see what's rising in a market or category,' which gives a concrete usage context. It also provides useful edge-case guidance (first-snapshot behavior, no API key needed), but it does not explain when not to use it or direct the agent to sibling alternatives.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A3.9/5.0
Disambiguation5/5

Each tool targets a distinct action or data aspect within the ASO domain. Keyword-related tools are clearly separated by purpose (tracked keywords vs. research vs. suggestions vs. metrics), and competitive tools differentiate between reading landscape and generating new analysis. No two tools have overlapping functionality that would confuse an agent.

Naming Consistency3/5

Naming is a mix of verb-first (e.g., sonar_add_screenshot, sonar_create_product) and noun-first patterns (e.g., sonar_app_keywords, sonar_competitor_landscape). While all use snake_case and the 'sonar_' prefix is consistent, the lack of a uniform verb_noun structure makes it harder to predict tool names. The pattern is readable but inconsistent.

Tool Count2/5

With 47 tools, the server is over-scoped for a typical MCP server. Although the ASO domain is broad, many tools are granular (e.g., 10 screenshot tools, 10 keyword tools). This quantity exceeds the 25+ threshold for 'too many' as defined in the calibration, making it heavy for an agent to navigate comprehensively.

Completeness5/5

The tool surface covers the full ASO lifecycle: app discovery, keyword research, tracking and ranking, competitor analysis, revenue estimation, screenshot creation and export, alerts, and product management. There are no obvious gaps—every necessary operation for monitoring and optimizing app store presence is present, including both read and write actions.