MCP server providing access to TMDB movie data and real-time streaming availability information across multiple platforms and countries
Server has 4 tools with complete input schemas and descriptions. Naming follows verb_noun pattern (get-*). Descriptions are detailed (194-400 chars, within baseline 34-392 range) but include example values ('popularity.desc', 'action', 'comedy') which LLMs may reuse literally. All tools are READ_ONLY and well-scoped. Output schemas are defined in Zod but not exposed in tool registration, LLMs cannot see what fields to expect. Parameters lack type constraints (enums, ranges); e.g., 'sort' accepts free-form strings instead of an enum of valid TMDB sort keys. No error handling guidance or recovery paths documented.
Returns a list of movie genres from TMDB. The tool returns a JSON object with a single property: 'genres'. This is an array of objects, each with two fields: - 'id' (an integer) - 'name' (a string representing the genre name) No input parameters are required. Always returns the most up-to-date genre list.
Fetch live, detailed information for a specific movie by its TMDB ID. This tool has direct access to TMDB and returns real-time fields such as title, overview, year, rating, images, genres, director, duration, language, and release date.
Find and recommend movies directly from TMDB in real time. You can search for movies by genre name (e.g., 'action', 'comedy') and specify how many results you want (e.g., 'find 5 action movies'). Supports filtering by: sort (e.g., 'popularity.desc', 'release_date.desc', 'vote_average.desc'), yearFrom (start release year), yearTo (end release year), minRating (minimum vote average), and categories (array of genre IDs as strings). You can combine filters. Sorting is by 'popularity.desc' by default, but you can use any of these TMDB-supported sort keys: 'popularity.asc', 'popularity.desc', 'release_date.asc', 'release_date.desc', 'revenue.asc', 'revenue.desc', 'primary_release_date.asc', 'primary_release_date.desc', 'original_title.asc', 'original_title.desc', 'vote_average.asc', 'vote_average.desc', 'vote_count.asc', 'vote_count.desc'. The tool will automatically map genre names to IDs and limit the number of results if requested. Returns an array of movie objects with id, title, overview, poster, release date, rating, and categories. This tool has direct access to TMDB and always provides up-to-date results.
Output schemas defined in Zod but not exposed to LLM. Tool descriptions lack structured output documentation. LLMs cannot plan downstream calls or extract required fields (e.g., movie IDs for chaining to get-streaming-availability).
Parameter 'sort' in get-movies accepts free-form strings instead of enum. Description lists valid values ('popularity.desc', 'release_date.desc', etc.) but LLMs may hallucinate invalid sort keys. Should use JSON Schema enum constraint.
No error handling guidance. If TMDB API fails (401, 404, rate limit), tool throws raw error. LLM receives no recovery path (e.g., 'Check TMDB_API_TOKEN' or 'Retry in 60s'). Violates recovery-guide pattern.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 54 | 2025-06-18+ | v2 |
Check real-time streaming availability for a movie by TMDB ID and country code. This tool uses TMDB IDs and provides up-to-date streaming provider information and availability details for the specified country, including platforms where the movie can be watched online.
Descriptions include example values ('action', 'comedy', 'popularity.desc'). LLMs tend to reuse examples literally rather than adapt to context. Replace with formal constraints (enums, patterns).
get-movies returns 'categories' as array of genre IDs but description says 'genre name'. Mismatch between returned field type and description. LLM may expect strings, receive numbers.