Skip to main content
Glama

Horizontal: tested MCP servers, agent cases, top apps

This week's top apps and games

top_apps
Read-onlyIdempotent

This week's top grossing and top free apps and games on the App Store and Google Play, from Horizontal's Top Apps: the world's (the charts of ten countries added up) and China's. The first ten of each list have an analysis: what the app does, the first principle behind its success and the core need it meets. With query, it finds analysed apps by name or by what they do instead, from any list.

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": "top_apps"
  }
}

Input Schema

NameRequiredDescriptionDefault
chartNoWhich list: world-grossing-apps (World: top grossing apps), world-grossing-games (World: top grossing games), world-free-apps (World: top free apps), world-free-games (World: top free games), china-grossing-apps (China: top grossing apps), china-grossing-games (China: top grossing games), china-free-apps (China: top free apps), china-free-games (China: top free games).world-grossing-apps
limitNo
queryNoAnalysed apps by name or by what they do, in English or Chinese: "Duolingo", "music", "短剧". Leave it out for the list.
languageNoThe language of the words in the answer.en

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

B3.4/5.0
Behavior3/5

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

The annotations already declare this a read-only, idempotent, closed-world operation, so the description only needs to add context. It does add one genuinely useful fact – only the first ten entries of each list carry an analysis – but it omits pagination, freshness of 'this week', and output shape.

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 core facts arrive first, but the parenthetical 'the world's (the charts of ten countries added up) and China's' is awkward and slows comprehension, and the sentence about analysis and query is tangled into one long clause.

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?

No output schema exists, so the description has to explain returns; it does so adequately by describing the ranked lists and the three analysis fields attached to the top ten. A brief note on what an unanalysed entry looks like is the main omission.

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 75% schema coverage the baseline is a 3. The description adds that query matches 'by what they do' and works in English or Chinese and across any list (not just the chosen chart), which is real information beyond the schema; limit and language are left to their schema text.

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 the specific resource (this week's top grossing and free apps and games on the App Store and Google Play) plus the data source and the two chart families (world aggregate vs. China). It clearly is not any of the sibling tools (get_app, get_case, get_trend, search_*), though it never explicitly contrasts itself with them.

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 last sentence implicitly gives usage guidance: omit query to get the list, supply query to look up analysed apps by name or function. There the guidance ends – no statement of when to prefer get_app or the search_* siblings, and no mention of which chart to pick by default.

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.

Resources