Skip to main content
Glama

Discover movies by filter

discover_movies
Read-onlyIdempotent

Find movies using filters like genre, release year, minimum rating, original language, region, and sort order instead of a title; returns up to a set limit.

Instructions

Find movies by filters instead of a name: genre, release year, minimum rating, original language, region and sort order. Use it for requests like "best rated sci-fi from 2010" or "popular French comedies". Returns at most limit movies (default 10). Common genre ids: 28 Action, 12 Adventure, 16 Animation, 35 Comedy, 80 Crime, 99 Documentary, 18 Drama, 10751 Family, 14 Fantasy, 36 History, 27 Horror, 10402 Music, 9648 Mystery, 10749 Romance, 878 Science Fiction, 53 Thriller, 10752 War, 37 Western. When you sort by vote_average, also set vote_count_gte (for example 200) so that titles with a handful of votes do not lead the list.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pageNoResult page number, starting at 1. Each page holds up to 20 results.
limitNoMaximum number of results to return, 1 to 20. Default 10. Keep it small to save context.
regionNoISO 3166-1 country code, for example US or DE. Used for release dates and certifications.
sort_byNoSort order, for example popularity.desc (default) or vote_average.desc.
languageNoLanguage tag for titles and overviews, for example en-US, ru-RU or pt-BR. Served languages: en, ru, uk, be, zh, pt, bg, he, cs, ro, fr, pl, it, es. Any other tag falls back to English. Omit to use the server default.
with_genresNoGenre ids. A movie must match all of them. Example: [878, 12] for science fiction and adventure.
vote_count_gteNoMinimum number of votes, for example 500. Filters out titles with too few votes to trust.
vote_average_gteNoMinimum vote average on a 0 to 10 scale, for example 7.5.
primary_release_yearNoOnly movies whose primary release year is this year, for example 2010.
with_original_languageNoOriginal language as an ISO 639-1 code, for example fr, ja or ru.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already carry the safety profile (readOnly, idempotent, destructive=false, openWorld), so the bar is lower. The description still adds real behavioral value beyond them: it discloses that at most `limit` movies return (default 10) and warns that sorting by vote_average needs vote_count_gte to avoid low-vote titles leading the list.

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 purpose, usage examples, and output size, then the necessary detail. The genre enumeration is long but high-value reference data, not filler, and the closing tip is actionable. Slightly verbose but every sentence earns its place.

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?

With 10 params, no output schema, and 0 required params, the description does exactly what's needed: it explains the return size, the filter interplay, and the genre codes, and annotations cover safety. Nothing an agent needs to invoke it correctly is missing.

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 baseline is 3. The description exceeds that by supplying the full genre-id mapping (28 Action, 878 Science Fiction, etc.) that the schema only alludes to as 'genre ids', plus the interaction rule between sort_by and vote_count_gte — neither is derivable from the schema alone.

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+resource (find movies) and explicitly demarcates scope: by filters rather than by name. This distinguishes it from the sibling search_titles, so an agent can route correctly without opening a schema.

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?

Provides concrete usage examples ('best rated sci-fi from 2010', 'popular French comedies') that map directly to filter combinations, giving clear context for when the tool applies. It does not name alternatives explicitly or state exclusions, so it stops short of a 5.

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