Skip to main content
Glama

Get top chart rankings

get_rankings
Read-only

Get the App Store top free chart for a country, in chart order with #1 first: the overall chart by default, or one category via category_id (see get_categories). Each app comes with its position, previous position, name, developer, rating and revenue and download estimates, and the response gives the chart day it describes. Only top free is collected; top paid and top grossing are not. Use get_ranking_history for how one app's position moved over time.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "get_rankings"
  }
}

Input Schema

NameRequiredDescriptionDefault
chartNoWhich chart. Only top_free is collected (top paid and top grossing are not, and return no items), so this is the default and the only option.top_free
limitNoMaximum number of results (1-200, default: 100)
countryNoTwo-letter country code (default: "us")us
category_idNoApp Store category ID (default: "36", the overall chart; e.g. "6015" for Finance, "6014" for Games). get_categories lists them.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • changedInput schema / properties / chart / description
      Previous value: -"Which chart (default: \"top_free\"). A chart that is not collected for this storefront returns no items."New value: +"Which chart. Only top_free is collected (top paid and top grossing are not, and return no items), so this is the default and the only option."
    • changedInput schema / properties / chart / enum
      Previous value: -[
      -  "top_free",
      -  "top_paid",
      -  "top_grossing"
      -]New value: +[
      +  "top_free"
      +]
  2. First observed

TDQS

A4.5/5.0
Behavior4/5

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

With readOnlyHint=true already covering the safety profile, the description adds substantive behavioral context: what each app row contains (position, previous position, name, developer, rating, revenue and download estimates) and that the response includes the chart day it describes. It does not cover pagination or truncation behavior when limit is hit, keeping it short of a 5.

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?

Front-loaded with the core retrieval, followed by return contents, the collection limitation, and the sibling redirect. Every clause carries information; no filler.

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?

No output schema exists, yet the description enumerates the returned fields and the chart-day metadata, and states the collection scope explicitly. Combined with annotations and a fully described schema, an agent has everything needed to call it 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 description coverage is 100%, so chart, limit, country and category_id are fully documented in the schema. The description only lightly reinforces category_id's default (overall chart) and cross-references get_categories, which is helpful but largely redundant with the structured fields.

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

Purpose5/5

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

States a specific verb and resource ('Get the App Store top free chart for a country'), gives ordering semantics ('in chart order with #1 first'), and distinguishes the default overall chart from a category-scoped one. An agent can tell it apart from get_ranking_history and get_categories without opening the schemas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

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

Explicitly names the supported case (top free only), the exclusions ('top paid and top grossing are not'), and routes the alternative use case to get_ranking_history for one app's position over time. Also points to get_categories for obtaining category_id.

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.