Skip to main content
Glama

Browse rankings

browse_titles
Read-onlyIdempotent

List films, shows, or games by critic score, release date, or current popularity, filtered by genre. Use it to find top-rated, newest, or trending titles when you have no specific title to look up.

Instructions

List films, shows or games by score, by release date or by current popularity. Use this when there is no specific title to look up: best rated, newest, what people are looking at now. Filter by genre with a single name such as Horror, Comedy or Action. Sorting by score returns the all-time ranking, which is dominated by older titles: combine with a genre to narrow it. Scores come back on their own scales, 100 for critics and 10 for users. Paging is approximate: Metacritic does not order tied entries stably, so an entry can appear on two consecutive pages. Deduplicate by slug rather than counting rows.

Input Schema

NameRequiredDescriptionDefault
kindNoWhich catalogue to list.movie
sortNo'score' is the critic ranking, 'recent' is by release date, 'popular' is current attention.score
genreNoSingle genre name, such as Horror. Omit for all genres.
limitNoHow many rows to return.
offsetNoHow many rows to skip, for paging.

Output Schema

NameRequiredDescriptionDefault
kindYes
sortYes
genreYes
notesYes
offsetYes
resultsYes
next_offsetYesPass as 'offset' for the next page. Tied entries are not ordered stably upstream, so deduplicate by slug across pages.
total_availableYesHow many entries match upstream, which is the size of what this samples.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed10 schema fields changedv2.1.0
    • removedOutput schema / properties / genre / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / genre / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / results / items / properties / metascore / anyOf
      Removed value: -[
      -  {
      -    "type": "number"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / results / items / properties / metascore / type
      Added value: +[
      +  "number",
      +  "null"
      +]
    • removedOutput schema / properties / results / items / properties / rating / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / results / items / properties / rating / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / results / items / properties / release_date / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / results / items / properties / release_date / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / results / items / properties / user_score / anyOf
      Removed value: -[
      -  {
      -    "type": "number"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / results / items / properties / user_score / type
      Added value: +[
      +  "number",
      +  "null"
      +]
  2. Changed19 schema fields changedv2.0.1
    • addedInput schema / properties / offset / maximum
      Added value: +9007199254740991
    • addedOutput schema / properties / genre / anyOf
      Added value: +[
      +  {
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / properties / genre / type
      Removed value: -[
      -  "string",
      -  "null"
      -]
    • changedOutput schema / properties / next_offset / anyOf
      Previous value: -[
      -  {
      -    "type": "integer"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "maximum": 9007199254740991,
      +    "minimum": -9007199254740991,
      +    "type": "integer"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • addedOutput schema / properties / offset / maximum
      Added value: +9007199254740991
    • addedOutput schema / properties / offset / minimum
      Added value: +-9007199254740991
    • addedOutput schema / properties / results / items / properties / id / maximum
      Added value: +9007199254740991
    • addedOutput schema / properties / results / items / properties / id / minimum
      Added value: +-9007199254740991
    • addedOutput schema / properties / results / items / properties / metascore / anyOf
      Added value: +[
      +  {
      +    "type": "number"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / properties / results / items / properties / metascore / type
      Removed value: -[
      -  "number",
      -  "null"
      -]
    • addedOutput schema / properties / results / items / properties / rating / anyOf
      Added value: +[
      +  {
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / properties / results / items / properties / rating / type
      Removed value: -[
      -  "string",
      -  "null"
      -]
    • addedOutput schema / properties / results / items / properties / release_date / anyOf
      Added value: +[
      +  {
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / properties / results / items / properties / release_date / type
      Removed value: -[
      -  "string",
      -  "null"
      -]
    • addedOutput schema / properties / results / items / properties / user_score / anyOf
      Added value: +[
      +  {
      +    "type": "number"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / properties / results / items / properties / user_score / type
      Removed value: -[
      -  "number",
      -  "null"
      -]
    • changedOutput schema / properties / results / items / properties / year / anyOf
      Previous value: -[
      -  {
      -    "type": "integer"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "maximum": 9007199254740991,
      +    "minimum": -9007199254740991,
      +    "type": "integer"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • addedOutput schema / properties / total_available / maximum
      Added value: +9007199254740991
    • addedOutput schema / properties / total_available / minimum
      Added value: +-9007199254740991
  3. First observedv1.0.0

TDQS

A4.7/5.0
Behavior5/5

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

Beyond the annotations, the description discloses important behavioral details: score sorting is an all-time ranking dominated by older titles, critic and user scores use different scales, paging is approximate because ties are not ordered stably, and rows should be deduplicated by slug. These are exactly the kinds of caveats an agent needs to interpret results correctly.

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 the core purpose and usage condition, then adds only high-value operational caveats. Every sentence earns its place by clarifying selection, filtering, ranking, scoring, or paging behavior.

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?

The tool has rich annotations, full schema coverage, and an output schema, and the description complements them with ranking, scale, pagination, and deduplication details. An agent has enough information to select and invoke it 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?

Schema coverage is already 100%, so the schema documents all five parameters. The description adds useful semantic context for genre examples, score sorting, and score scales, though it does not add much about limit or offset beyond the pagination caveat.

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?

The description states a specific verb and resource: list films, shows, or games, and it names the three ranking modes (score, release date, popularity). It also distinguishes the tool from title lookup by explaining that it is for cases with no specific title.

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?

It clearly says when to use the tool: when there is no specific title to look up, with concrete examples such as best rated, newest, and what people are looking at now. The alternative search_titles is implied rather than named explicitly, so this is strong but not fully explicit routing.

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