Skip to main content
Glama

Discover trending media

discover_media
Read-only

Browse films and series by genre, year, and minimum rating, or find titles similar to one you know—without requesting or adding anything.

Instructions

Browse what exists rather than what you have: films or series by genre, year and minimum rating, or things similar to one you know via similar_to. Nothing is requested or added. Answered by Seerr when it is configured — TMDB-backed, so the rating is TMDB’s. With no Seerr, genre/year/min_rating are answered from the local IMDb dataset instead, where the rating is IMDb’s; similar_to needs Seerr and has no dataset fallback.

Input Schema

NameRequiredDescriptionDefault
kindNoFilms or series. Defaults to films.
yearNoRestrict to one release year.
genreNoGenre name, e.g. "Crime" or "Action". A TMDB numeric id is also accepted.
limitNoMaximum items to return. Defaults to 50, hard maximum 500.
detailNoHow much per-item detail to return. Defaults to standard.standard
offsetNoItems to skip: page two of 50 is `offset: 50`. Pair it with `sort`, or items can move between pages.
media_typeNo
min_ratingNoMinimum TMDB rating out of 10.
similar_toNoA TMDB numeric id — find something like it. Seerr only, and mutually exclusive with genre/year/min_rating: it answers a different question.

Output Schema

NameRequiredDescriptionDefault
noteNo
itemsYes
totalYes
countsNo
offsetYes
degradedYes
returnedYes
truncatedYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed18 schema fields changedv1.74.0
    • removedInput schema / $schema
      Removed value: -"https://json-schema.org/draft/2020-12/schema"
    • changedInput schema / properties / offset / description
      Previous value: -"How many items to skip before the window `limit` returns — page two of 50 is `offset: 50`. `total` always counts the whole list, so `offset + returned < total` is how you know there is another page. Pair it with `sort` for a stable walk: without one the order is whatever the services returned, and an item can move between pages."New value: +"Items to skip: page two of 50 is `offset: 50`. Pair it with `sort`, or items can move between pages."
    • removedInput schema / properties / offset / maximum
      Removed value: -9007199254740991
    • removedOutput schema / $schema
      Removed value: -"https://json-schema.org/draft/2020-12/schema"
    • removedOutput schema / properties / counts / description
      Removed value: -"How many results each service contributed."
    • removedOutput schema / properties / degraded / description
      Removed value: -"Services that could not be reached. Their contribution is missing from `items`, so a short list may be an outage rather than an answer."
    • removedOutput schema / properties / items / description
      Removed value: -"The window of results. What an item carries depends on the tool and on `detail`."
    • removedOutput schema / properties / note / description
      Removed value: -"Present when an empty list needs defending — for example when neither Seerr nor the IMDb dataset is configured, so nothing could answer. Report the reason rather than saying nothing matched."
    • removedOutput schema / properties / offset / description
      Removed value: -"How many were skipped. `offset + returned < total` means there is another page."
    • removedOutput schema / properties / offset / maximum
      Removed value: -9007199254740991
    • removedOutput schema / properties / offset / minimum
      Removed value: --9007199254740991
    • removedOutput schema / properties / returned / description
      Removed value: -"How many are in `items`."
    • removedOutput schema / properties / returned / maximum
      Removed value: -9007199254740991
    • removedOutput schema / properties / returned / minimum
      Removed value: --9007199254740991
    • removedOutput schema / properties / total / description
      Removed value: -"How many matched in total — the whole list, never the window. Compare against `returned` before reporting a count to anyone."
    • removedOutput schema / properties / total / maximum
      Removed value: -9007199254740991
    • removedOutput schema / properties / total / minimum
      Removed value: --9007199254740991
    • removedOutput schema / properties / truncated / description
      Removed value: -"True when this is not the whole list — including on the last page of a paged walk, where the rest is behind you rather than ahead."
  2. First observedv0.1.0

TDQS

A4.5/5.0
Behavior5/5

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

Annotations only declare readOnlyHint=true, and the description reinforces this with 'Nothing is requested or added'. Beyond that it discloses genuinely non-obvious backend routing: Seerr answers when configured (TMDB ratings), otherwise genre/year/min_rating fall back to a local IMDb dataset with different rating semantics, and similar_to has no fallback at all. That rating-source divergence directly changes how min_rating behaves and would be invisible otherwise.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core purpose in the first clause, then progressively narrower caveats. Three sentences with no filler. Dense em-dash phrasing makes it slightly harder to scan than a plain sentence structure would, but nothing is wasted.

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 9 optional parameters, an output schema present, and 89% schema coverage, the description covers the pieces structured data cannot: backend selection, rating provenance, and fallback limits. The one real gap is the unexplained overlap between `kind` (movie/series) and `media_type` (movie/tv), which an agent must guess between.

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 89%, so the baseline is 3. The description earns above that by explaining that min_rating means TMDB's rating under Seerr but IMDb's rating on the dataset fallback, which the schema does not say. It also restates similar_to's exclusivity with genre/year/min_rating, which is already in the schema — though it does not clarify the relationship between the seemingly overlapping `kind` and `media_type` parameters.

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 — browse films/series by genre, year and minimum rating, or find similar titles — and draws the sharp line against sibling tools with 'what exists rather than what you have'. An agent can distinguish this from get_library, search_media and lookup_media without opening schemas.

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?

Gives clear context: use it for discovery (unowned catalog content), and use similar_to when you have a known title as an anchor. It also states the condition under which similar_to is unavailable. It stops short of naming a sibling alternative (e.g. lookup_media or search_media) for when the goal is a known title rather than browsing.

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