TMDB MCP Server
NPM · TMDB-MCP · 2 COMPONENTS
MCP server for The Movie Database (TMDB) with IMDb/Rotten Tomatoes/Metacritic ratings via OMDb.
Available components
Last scanned (18 hours ago)
Scores higher than 94% of npm servers
Category Entertainment and Games
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →
Supply Chain Security83
- No malware found by supply-chain analysis.Pass
- CVE check failed: a known high-severity CVE affects zod 4.6.5, a direct dependency. A fixed version is available. View diagnostics → Fail
- No install/post-install scripts declared.Pass
- 0 of 4 dependencies flagged as unhealthy. View diagnostics → Pass
Provenance & Transparency100
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Cryptographically verified build provenance (signed, bound to Grinv/tmdb-mcp). View diagnostics → Pass
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 13 days ago).Pass
- Publishes a security disclosure policy (SECURITY.md).Pass
Schema Quality & AI Usability77
- 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 12003 tokens (~363/item across 33 items; 33 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management100
- No destabilizing schema changes in the last 30 days.Pass
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
- Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 33 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 34 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a current MCP spec version (2026-07-28).Pass
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 2 Nov 26 +1
- Stability: 0.97 → pass security
- 1 Nov 26 −1
- Stability: pass → 0.97 functional
- 26 Oct 26 +1
- Stability: 0.97 → pass security
- 25 Oct 26 −1
- Stability: pass → 0.97 functional
- 24 Oct 26 −5
- CVE-2023-54404 affects this package: high ▼ security
- Known CVEs: pass → fail ▼ security
- 22 Oct 26 0
- Package version: 0.13.0 → 0.14.0 functional
- 21 Oct 26 +15
- Malware scan: unverified → pass ▲ security
- 20 Oct 26 −15
- Malware scan: pass → unverified ▼ security
- Schema quality: 316 → 363 ▼ functional
- Package version: 0.12.0 → 0.13.0 functional
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 4 Nov 2026 · Analysed npm/tmdb-mcp@0.14.0
Provenance Verified
A signed build attestation was found and verified, binding this exact artifact to the source repository it claims to come from.
| Result | Verified |
|---|---|
| Ecosystem | npm |
| Reason | Verified |
| Discovered via | Registry attestation endpoint |
| Source repo | Grinv/tmdb-mcp |
| Certificate issuer | https://token.actions.githubusercontent.com |
| Certificate SAN | https://github.com/Grinv/tmdb-mcp/.github/workflows/release.yml@refs/tags/v0.14.0 |
| Rekor log index | 3381898947 |
| Predicate type | SLSA build provenance https://slsa.dev/provenance/v1 |
| Subject digest | sha512:daf790ea28ead1ed2fb8ec03f7c4d4234797aa51f13610cfbd305fc0b2e6070edbb10ef86f804497e630fdc1e2d1bede056e646cad46d15ca13b73de9 |
Background: How many MCP packages publish verified provenance →
Vulnerabilities 1 finding
| ID | CVE | Severity | Vector | Fix available |
|---|---|---|---|---|
| GHSA-mrhx-c7xc-m3w5 | CVE-2023-54404 | high | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H | yes |
Background: What a vulnerability scan can and cannot prove →
Dependencies 4 packages
| Packages resolved | 4 |
|---|---|
| Tree resolution | Complete |
Background: SBOMs and build attestations, explained →
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
discover_movies Discover movies (filters) ~2,132
Find movies by structured filters instead of a title query: genres (include/exclude), year or release-date range, TMDB vote-average range, vote count, runtime range, original language, cast/crew/people, companies (include/exclude), origin country, keywords (include/exclude), watch providers (include/exclude) and access model (subscription/rent/buy/free/ads), certification, a release window in one country by release type (any_release_date_gte/lte + region + with_release_type — e.g. 'movies in German cinemas this month'), an adult-content toggle, and sort order. certification/with_watch_providers/without_watch_providers/with_watch_monetization_types/with_release_type/region have validation and silent-fallback rules — see their own field descriptions. Use for 'popular sci-fi from the 1990s with a TMDB vote average above 7 available on Netflix', or for a specific person's work in one genre — 'which of this director's/actor's/composer's films are animated' — via with_crew/with_cast/with_people + with_genres together; get_person_credits has no genre filter, so this combination is the right tool for that question, not that one. Resolve ids with get_movie_genres, search_people, search_keywords, search_companies, search_watch_providers.
| Name | Type | Req | Description |
|---|---|---|---|
| any_release_date_gte | string | – | Only movies with at least one release (any country and release type, re-releases included) on/after this date (YYYY-MM-DD) — unlike release_date_gte, which uses each movie's original premiere date. N… |
| any_release_date_lte | string | – | Only movies with at least one release (see any_release_date_gte) on/before this date (YYYY-MM-DD). |
| certification | string | – | Filter by exact age/content certification, e.g. 'PG-13' (movies) or 'TV-Y7' (TV); join several with '|' to match ANY of them, e.g. 'G|PG' for kids/family movies or 'TV-Y|TV-Y7|TV-G' for kids' TV. Req… |
| certification_country | string | – | Country whose certification system the `certification` filter uses, e.g. 'US'. Only valid together with certification. |
| include_adult | boolean | – | Include adult (NSFW) results. Defaults to false. |
| language | string | – | Override the response language (ISO-639-1, optionally with a region), e.g. 'ru-RU' or 'en-US'. Localizes titles/overviews/genre names. Defaults to the server's TMDB_LANGUAGE. A well-formed code TMDB… |
| max_rating | number | – | Maximum TMDB vote average (0-10). |
| max_runtime | integer | – | Maximum runtime in minutes. |
| min_rating | number | – | Minimum TMDB vote average (0-10). Must be <= max_rating if both are given. |
| min_runtime | integer | – | Minimum runtime in minutes. Must be <= max_runtime if both are given. |
| min_votes | integer | – | Minimum vote count (filters obscure titles). |
| page | integer | – | 1-based page number for pagination (TMDB returns up to 20 results per page, max 500). |
| region | string | – | ISO-3166-1 country code: limits any_release_date_gte/lte (and with_release_type) to releases in this country, e.g. 'DE'. Requires any_release_date_gte or any_release_date_lte; it has no effect on yea… |
| release_date_gte | string | – | Only entries released on/after this date (YYYY-MM-DD). Must be <= release_date_lte if both are given. |
| release_date_lte | string | – | Only entries released on/before this date (YYYY-MM-DD). |
| sort_by | string | – | Sort order. Defaults to TMDB's own default (roughly popularity-based) if omitted. |
| watch_region | string | – | Two-letter ISO-3166-1 country code, e.g. 'US', whose streaming catalog with_watch_providers / without_watch_providers / with_watch_monetization_types filter on. Only valid together with at least one… |
| with_cast | string | – | TMDB person ids, restricted to cast (actor) roles. Use search_people to resolve an actor's name to their id. Join several ids with "," to require ALL of them, or "|" to match ANY (e.g. "8|9"). |
| with_companies | string | – | TMDB production company ids (use search_companies to resolve names → ids). Join several ids with "," to require ALL of them, or "|" to match ANY (e.g. "8|9"). |
| with_crew | string | – | TMDB person ids, restricted to crew roles (e.g. a director). Use search_people to resolve a name to their id. Join several ids with "," to require ALL of them, or "|" to match ANY (e.g. "8|9"). |
| with_genres | string | – | TMDB genre ids; get them from get_movie_genres/get_tv_genres. Join several ids with "," to require ALL of them, or "|" to match ANY (e.g. "8|9"). |
| with_keywords | string | – | TMDB keyword ids (use search_keywords to resolve names → ids). Join several ids with "," to require ALL of them, or "|" to match ANY (e.g. "8|9"). |
| with_origin_country | array | – | Only titles whose country of origin (where they were produced, not where they can be watched) is one of these ISO-3166-1 codes, e.g. ['KR'] for Korean titles; several codes match ANY of them. An unre… |
| with_original_language | string | – | ISO-639-1 original-language code, e.g. 'en', 'ja'. |
| with_people | string | – | TMDB person ids, matching either a cast or crew role. Use search_people to resolve a name to their id. Join several ids with "," to require ALL of them, or "|" to match ANY (e.g. "8|9"). |
| with_release_type | array | – | Only count releases of these types toward any_release_date_gte/lte (and region): 'premiere', 'theatrical_limited', 'theatrical' (wide cinema release), 'digital' (VOD/streaming), 'physical' (DVD/Blu-r… |
| with_watch_monetization_types | array | – | Only titles available in watch_region through at least one of these access models: 'flatrate' = included in a subscription (e.g. Netflix), 'free' = free to watch, 'ads' = free with ads, 'rent' = paid… |
| with_watch_providers | string | – | TMDB watch-provider ids (use search_watch_providers to resolve a service name, e.g. 'Netflix', to its numeric id); requires watch_region to also be set. Join several ids with "," to require ALL of th… |
| without_companies | string | – | Comma-separated TMDB production company ids to exclude: titles produced by ANY of them are dropped (use search_companies to resolve names → ids). |
| without_genres | string | – | Comma-separated TMDB genre ids to exclude; get ids from get_movie_genres/get_tv_genres. |
| without_keywords | string | – | Comma-separated TMDB keyword ids to exclude (use search_keywords to resolve names → ids). |
| without_watch_providers | string | – | Comma-separated TMDB watch-provider ids to exclude: titles that ANY of them offers in watch_region are dropped, e.g. 'not on Netflix' (use search_watch_providers to resolve a service name to its id);… |
| year | integer | – | Release / first-air year. |
| Name | Type | Req | Description |
|---|---|---|---|
| page | number | yes | – |
| results | array | yes | – |
| total_pages | number | yes | – |
| total_results | number | yes | – |
No examples provided.
discover_tv Discover TV shows (filters) ~1,976
Find TV shows by structured filters (genres (include/exclude), first-air year or date range, TMDB vote-average range, vote count, runtime, language, origin country, companies (include/exclude), networks, keywords (include/exclude), watch providers (include/exclude) and access model (subscription/rent/buy/free/ads), episodes airing in a date range (air_date_gte/lte), type, status, certification, an adult-content toggle, sort) — but NOT cast/crew/person: this tool doesn't accept those params for TV at all (calling with them is a validation error, not a silent no-op) because TMDB's own /discover/tv would silently ignore them anyway, unlike /discover/movie; to find TV shows featuring someone, call get_person_credits instead and filter its results to media_type 'tv'. certification/with_watch_providers/without_watch_providers/with_watch_monetization_types have validation and silent-fallback rules — see their own field descriptions. The TV counterpart of discover_movies; use with_networks for 'HBO shows', with_type='Miniseries' for short/limited series (e.g. 'best miniseries to binge in a weekend'), with_status='Ended' to exclude shows still airing, certification='TV-Y7' + certification_country='US' for 'shows appropriate for a young kid'. Resolve ids with get_tv_genres, search_companies, search_keywords, search_watch_providers.
| Name | Type | Req | Description |
|---|---|---|---|
| air_date_gte | string | – | Only shows with an episode airing on/after this date (YYYY-MM-DD) — e.g. 'what's airing this week' with air_date_lte; unlike release_date_gte, which uses the show's first air date. Dates are US Easte… |
| air_date_lte | string | – | Only shows with an episode airing on/before this date (YYYY-MM-DD), see air_date_gte. |
| certification | string | – | Filter by exact age/content certification, e.g. 'PG-13' (movies) or 'TV-Y7' (TV); join several with '|' to match ANY of them, e.g. 'G|PG' for kids/family movies or 'TV-Y|TV-Y7|TV-G' for kids' TV. Req… |
| certification_country | string | – | Country whose certification system the `certification` filter uses, e.g. 'US'. Only valid together with certification. |
| include_adult | boolean | – | Include adult (NSFW) results. Defaults to false. |
| language | string | – | Override the response language (ISO-639-1, optionally with a region), e.g. 'ru-RU' or 'en-US'. Localizes titles/overviews/genre names. Defaults to the server's TMDB_LANGUAGE. A well-formed code TMDB… |
| max_rating | number | – | Maximum TMDB vote average (0-10). |
| max_runtime | integer | – | Maximum runtime in minutes. |
| min_rating | number | – | Minimum TMDB vote average (0-10). Must be <= max_rating if both are given. |
| min_runtime | integer | – | Minimum runtime in minutes. Must be <= max_runtime if both are given. |
| min_votes | integer | – | Minimum vote count (filters obscure titles). |
| page | integer | – | 1-based page number for pagination (TMDB returns up to 20 results per page, max 500). |
| release_date_gte | string | – | Only entries released on/after this date (YYYY-MM-DD). Must be <= release_date_lte if both are given. |
| release_date_lte | string | – | Only entries released on/before this date (YYYY-MM-DD). |
| sort_by | string | – | Sort order. Defaults to TMDB's own default (roughly popularity-based) if omitted. TV's vocabulary differs from discover_movies' — 'name'/'first_air_date' instead of 'original_title'/'primary_release_… |
| watch_region | string | – | Two-letter ISO-3166-1 country code, e.g. 'US', whose streaming catalog with_watch_providers / without_watch_providers / with_watch_monetization_types filter on. Only valid together with at least one… |
| with_companies | string | – | TMDB production company ids (use search_companies to resolve names → ids). Join several ids with "," to require ALL of them, or "|" to match ANY (e.g. "8|9"). |
| with_genres | string | – | TMDB genre ids; get them from get_movie_genres/get_tv_genres. Join several ids with "," to require ALL of them, or "|" to match ANY (e.g. "8|9"). |
| with_keywords | string | – | TMDB keyword ids (use search_keywords to resolve names → ids). Join several ids with "," to require ALL of them, or "|" to match ANY (e.g. "8|9"). |
| with_networks | string | – | TMDB TV network ids, e.g. HBO=49, Netflix=213 (verified live). Unlike with_companies/with_keywords/with_people, this server has no name-based resolver for networks — supply the raw TMDB network id di… |
| with_origin_country | array | – | Only titles whose country of origin (where they were produced, not where they can be watched) is one of these ISO-3166-1 codes, e.g. ['KR'] for Korean titles; several codes match ANY of them. An unre… |
| with_original_language | string | – | ISO-639-1 original-language code, e.g. 'en', 'ja'. |
| with_status | string | – | Restrict to this production status, e.g. 'Ended' to exclude shows still airing (a still-airing show's later seasons could still be mediocre or unfinished). |
| with_type | string | – | Restrict to this TV type — e.g. 'Miniseries' for short/limited series, excluding documentaries/reality/talk shows/etc. that would otherwise mix into a genre/rating search. |
| with_watch_monetization_types | array | – | Only titles available in watch_region through at least one of these access models: 'flatrate' = included in a subscription (e.g. Netflix), 'free' = free to watch, 'ads' = free with ads, 'rent' = paid… |
| with_watch_providers | string | – | TMDB watch-provider ids (use search_watch_providers to resolve a service name, e.g. 'Netflix', to its numeric id); requires watch_region to also be set. Join several ids with "," to require ALL of th… |
| without_companies | string | – | Comma-separated TMDB production company ids to exclude: titles produced by ANY of them are dropped (use search_companies to resolve names → ids). |
| without_genres | string | – | Comma-separated TMDB genre ids to exclude; get ids from get_movie_genres/get_tv_genres. |
| without_keywords | string | – | Comma-separated TMDB keyword ids to exclude (use search_keywords to resolve names → ids). |
| without_watch_providers | string | – | Comma-separated TMDB watch-provider ids to exclude: titles that ANY of them offers in watch_region are dropped, e.g. 'not on Netflix' (use search_watch_providers to resolve a service name to its id);… |
| year | integer | – | Release / first-air year. |
| Name | Type | Req | Description |
|---|---|---|---|
| page | number | yes | – |
| results | array | yes | – |
| total_pages | number | yes | – |
| total_results | number | yes | – |
No examples provided.
find_by_imdb_id Find by IMDb id ~140
Resolve an IMDb id (e.g. 'tt0133093') to TMDB entities — returns matching movie, TV and person results. Use when you only have an IMDb id and need the TMDB id for the other tools. Only matches whole movies/shows/people: IMDb also assigns 'tt' ids to individual episodes (verified live, e.g. Breaking Bad's pilot 'tt0959621'), which this tool does not resolve — such an id comes back with every result list empty, indistinguishable from a genuinely unknown id.
| Name | Type | Req | Description |
|---|---|---|---|
| imdb_id | string | yes | IMDb title (tt…) or name (nm…) id. |
| Name | Type | Req | Description |
|---|---|---|---|
| movie_results | array | yes | – |
| person_results | array | yes | – |
| tv_results | array | yes | – |
No examples provided.
get_collection Get a movie collection ~173
Get a movie collection/franchise and all its parts in release order (e.g. the whole 'The Dark Knight Collection'). Get the collection id from search_collections (by franchise name) or from a movie's `collection` field in get_movie.
| Name | Type | Req | Description |
|---|---|---|---|
| id | integer | yes | TMDB numeric id. |
| language | string | – | Override the response language (ISO-639-1, optionally with a region), e.g. 'ru-RU' or 'en-US'. Localizes titles/overviews/genre names. Defaults to the server's TMDB_LANGUAGE. A well-formed code TMDB… |
| Name | Type | Req | Description |
|---|---|---|---|
| id | number | – | – |
| name | string | – | – |
| overview | string|null | yes | – |
| parts | array | yes | – |
| poster_url | string|null | yes | – |
No examples provided.
get_movie Get movie details ~472
Get full details for one movie by TMDB id: overview, genres, runtime, budget/revenue, vote average, the age/content rating (certification) for `region` — falling back to the US rating, then any available country, when `region` has none; check `certification_region` to see which one was used — and links (TMDB + IMDb). By default also includes IMDb/Rotten Tomatoes/Metacritic ratings and an awards summary (see include_ratings), plus OMDb's own age rating (`ratings.rated` — separate from this tool's own `certification` above; the two can differ) from OMDb (set include_ratings=false to skip); if unavailable (no OMDB_API_KEY, no imdb_id, or the OMDb lookup fails), `ratings` degrades to `{found:false, reason}` instead of failing the call. If you only need the headline info (title/year/genres/vote average) — for one id or several — use get_movies instead; it's trimmed on purpose and skips the rest of this payload. Get the id from search_movies.
| Name | Type | Req | Description |
|---|---|---|---|
| id | integer | yes | TMDB numeric id. |
| include_ratings | boolean | – | If true (default), enrich the result with IMDb/Rotten Tomatoes/Metacritic ratings plus an awards summary (major-award wins/nominations — Oscars, Emmys, Golden Globes, etc., whatever OMDb aggregates;… |
| language | string | – | Override the response language (ISO-639-1, optionally with a region), e.g. 'ru-RU' or 'en-US'. Localizes titles/overviews/genre names. Defaults to the server's TMDB_LANGUAGE. A well-formed code TMDB… |
| region | string | – | ISO-3166-1 country code for region-specific results (default 'US'). |
| Name | Type | Req | Description |
|---|---|---|---|
| budget_usd | number|null | yes | – |
| certification | string|null | yes | – |
| certification_region | string | yes | – |
| certifications | object | yes | – |
| collection | – | yes | – |
| genres | array | yes | – |
| homepage | string|null | yes | – |
| id | number | yes | – |
| imdb_id | string|null | yes | – |
| imdb_url | string|null | yes | – |
| media_type | string | yes | – |
| origin_country | array | yes | – |
| original_language | string|null | yes | – |
| original_title | string | – | – |
| overview | string|null | yes | – |
| popularity | number|null | yes | – |
| poster_url | string|null | yes | – |
| production_companies | array | yes | – |
| ratings | – | – | – |
| release_date | – | yes | – |
| revenue_usd | number|null | yes | – |
| runtime_minutes | number|null | yes | – |
| spoken_languages | array | yes | – |
| status | string|null | yes | – |
| tagline | string|null | yes | – |
| title | string | – | – |
| tmdb_url | string | yes | – |
| vote_average | number|null | yes | TMDB's own 0-10 user score. A different audience and scale from the IMDb/RT/Metacritic scores get_movie/get_tv return as `ratings` — don't compare, average or substitute across the two. |
| vote_count | number|null | yes | – |
| year | number|null | yes | – |
No examples provided.
get_movie_credits Get movie cast & crew ~64
List the top-billed cast (up to 20) and the headline crew (director, writers, composer, DoP, …) of a movie by TMDB id. Get the id from search_movies.
| Name | Type | Req | Description |
|---|---|---|---|
| id | integer | yes | TMDB numeric id. |
| Name | Type | Req | Description |
|---|---|---|---|
| cast | array | yes | – |
| crew | array | yes | – |
No examples provided.
get_movie_genres List movie genres ~43
List TMDB movie genres with their numeric ids and names (reference data; rarely changes). Feed the ids into discover_movies' with_genres/without_genres.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| genres | array | yes | – |
No examples provided.
get_movie_recommendations Get movie recommendations ~129
Get movies TMDB recommends for the given movie id, based on co-viewing/personalization data (what users who liked this also liked) — usually the more thematically relevant list. Prefer this over get_similar as the default choice; get_similar matches on shared genres/keywords, a blunter heuristic that can surface tonally unrelated titles. Get the id from search_movies.
| Name | Type | Req | Description |
|---|---|---|---|
| id | integer | yes | TMDB numeric id. |
| page | integer | – | 1-based page number for pagination (TMDB returns up to 20 results per page, max 500). |
| Name | Type | Req | Description |
|---|---|---|---|
| page | number | yes | – |
| results | array | yes | – |
| total_pages | number | yes | – |
| total_results | number | yes | – |
No examples provided.
get_movie_releases Get movies in or coming to cinemas ~402
List movies in cinemas now (list='now_playing') or opening soon (list='upcoming') in one country — for 'what's playing in theaters' or 'what comes out next month'. Use get_trending for overall popularity regardless of release, discover_movies for an arbitrary date range. `region` filters to movies with a theatrical release in that country inside the window (a different set per country, not just a re-sort; an unrecognized code such as 'ZZ' returns an empty page, but 'XX' is a real TMDB pseudo-region), and each row's release_date is that country's release date, which can predate the window for a re-release (e.g. a 2014 film re-released this month). The window itself comes from TMDB and is returned as `dates` {minimum, maximum} (YYYY-MM-DD; same for every region — roughly the last six weeks for now_playing, the next three weeks for upcoming). TMDB's own order: roughly most popular first, not by date.
| Name | Type | Req | Description |
|---|---|---|---|
| language | string | – | Override the response language (ISO-639-1, optionally with a region), e.g. 'ru-RU' or 'en-US'. Localizes titles/overviews/genre names. Defaults to the server's TMDB_LANGUAGE. A well-formed code TMDB… |
| list | string | yes | 'now_playing' = in cinemas now; 'upcoming' = opening soon. |
| page | integer | – | 1-based page number for pagination (TMDB returns up to 20 results per page, max 500). |
| region | string | – | ISO-3166-1 country code for region-specific results (default 'US'). |
| Name | Type | Req | Description |
|---|---|---|---|
| dates | object | yes | – |
| page | number | yes | – |
| results | array | yes | – |
| total_pages | number | yes | – |
| total_results | number | yes | – |
No examples provided.
get_movies Get compact movie card(s) ~361
Get a compact card — title, year, genres, vote average, and (opt-in) ratings — for 1-20 movies by TMDB id in one call. Deliberately trimmed (no overview, cast, budget, certifications, production companies, etc.): use this for a single id too when you only need that headline info and not the full get_movie payload, not just for checking many at once. Call get_movie instead when you need the full details for a title (including region-specific certification). A bad/unknown id never fails the whole call — that entry comes back `{id, found:false, reason}` instead, in the same order as `ids`.
| Name | Type | Req | Description |
|---|---|---|---|
| ids | array | yes | TMDB movie ids to fetch (1-20). Get them from search_movies/discover_movies/get_similar/get_movie_recommendations/etc. |
| include_ratings | boolean | – | If true, enrich every card with compact IMDb/Rotten Tomatoes/Metacritic ratings from OMDb (requires OMDB_API_KEY) — one extra OMDb lookup per id, so a large batch means a burst of OMDb calls; mind OM… |
| language | string | – | Override the response language (ISO-639-1, optionally with a region), e.g. 'ru-RU' or 'en-US'. Localizes titles/overviews/genre names. Defaults to the server's TMDB_LANGUAGE. A well-formed code TMDB… |
| Name | Type | Req | Description |
|---|---|---|---|
| results | array | yes | – |
No examples provided.
get_person Get person details ~175
Get full details for one person by TMDB id: biography, birthday/deathday, department, and links (TMDB + IMDb). Does not include filmography — use get_person_credits for that. Get the id from search_people or a credits list.
| Name | Type | Req | Description |
|---|---|---|---|
| id | integer | yes | TMDB numeric id. |
| language | string | – | Override the response language (ISO-639-1, optionally with a region), e.g. 'ru-RU' or 'en-US'. Localizes titles/overviews/genre names. Defaults to the server's TMDB_LANGUAGE. A well-formed code TMDB… |
| Name | Type | Req | Description |
|---|---|---|---|
| also_known_as | array | yes | – |
| biography | string|null | yes | – |
| birthday | – | yes | – |
| deathday | – | yes | – |
| gender | string|null | yes | – |
| homepage | string|null | yes | – |
| id | number | yes | – |
| imdb_id | string|null | yes | – |
| imdb_url | string|null | yes | – |
| known_for_department | string|null | yes | – |
| name | string | – | – |
| place_of_birth | string|null | yes | – |
| popularity | number|null | yes | – |
| profile_url | string|null | yes | – |
| tmdb_url | string | yes | – |
No examples provided.
get_person_credits Get person filmography ~519
List the movies and TV shows a person is known for (cast roles and crew jobs), most popular first, capped to the top 25 of each by default; talk-show/awards-show guest appearances ('Self'/'Himself'/'Herself', plus any cast credit on a TV talk or news show) and repeat entries for the same title are excluded so the list stays about actual roles. A cameo credited under the person's own name is kept, since TMDB marks it no differently from a real role (verified live: Tom Hanks's top cast row is The Simpsons as 'Tom Hanks (voice)'). A title with several crew jobs (writer AND director AND producer on one film) still only counts once against the crew cap. Cast entries include a vote_average; crew entries (director, writer, …) do not — call get_movie/get_tv on the id for a crew credit's own vote_average. Pass department (e.g. 'Directing') to restrict crew to just that role — the reliable way to get someone's complete filmography in one department when their other departments would otherwise compete for the same cap; for a handful of exceptionally prolific people even that isn't enough (e.g. 50+ directing credits), so raise `limit` too when department alone still looks short. Use for 'what has this actor/director been in'. This tool has no genre filter — for 'which of X's movies are animated/horror/etc.' use discover_movies instead, combining with_cast/with_crew/with_people with with_genres (discover_tv has no equivalent — it can't filter by person at all — so for a person's TV work in one genre, call this tool and check the returned media_type 'tv' entries' genres yourself, e.g. via get_tv_shows). Get the id from search_people.
| Name | Type | Req | Description |
|---|---|---|---|
| department | string | – | Restrict crew credits to this department (e.g. 'Directing' for a director's filmography). Without it, a multi-hyphenate's OTHER departments (writing, producing, …) compete for the same 25-credit cap… |
| id | integer | yes | TMDB numeric id. |
| limit | integer | – | Max cast entries and max crew entries to return (each capped separately; default 25). Raise this for an exceptionally prolific person — e.g. a director with 50+ films — where even a department filter… |
| Name | Type | Req | Description |
|---|---|---|---|
| cast | array | yes | – |
| crew | array | yes | – |
No examples provided.
get_ratings Get IMDb/RT/Metacritic ratings ~526
Look up IMDb, Rotten Tomatoes and Metacritic ratings, an awards summary (major-award wins/nominations — Oscars, Emmys, Golden Globes, etc.; free text, not a structured count, for the whole film/show — or for one episode, given an episode's imdb_id — never one person), and OMDb's own age rating (`rated`), from OMDb by IMDb id (preferred, e.g. 'tt0133093') or by title (+ optional year/type). Prefer get_movie/get_tv when you have a TMDB id — they already include this. Requires OMDB_API_KEY. One of imdb_id or title is required; omitting both returns an error. A no-match lookup is not an error: it returns `{found:false, reason}`. A title lookup resolves to whichever single entry OMDb picks, reports no runner-up, and cannot be validated against anything — so it can silently return a different work of the same name. Verified live: `title:'Halloween'` with no year returns the 1978 original (tt0077651, IMDb 7.7, RT 97%), not the 2018 film titled exactly the same (tt1502407, IMDb 6.5, RT 79%). Always read back the returned `imdb_id`/`title`/`year` to confirm which work you actually got, and pass `year` (and `type`) whenever you know them. When you only have a title, prefer search_movies/search_tv → get_movie/get_tv instead: that path matches by imdb_id and additionally drops an OMDb hit whose release year is more than two years from TMDB's, which this tool's title path has no way to do.
| Name | Type | Req | Description |
|---|---|---|---|
| imdb_id | string | – | IMDb title id. Takes precedence over title when both are given. |
| title | string | – | Movie/show title (used when imdb_id is absent). |
| type | string | – | Restrict a title lookup to this entry type. Verified live: without it, OMDb's own title match can silently prefer one type over another when the exact same title exists as more than one — e.g. a titl… |
| year | integer | – | Year, to disambiguate a title. |
Structured output declared, but exposes no named fields.
No examples provided.
get_reviews Get user reviews ~144
Get user reviews for a movie or TV show (author, that one reviewer's own 0-10 `rating` if they left one — a single person's score, not the aggregate `vote_average` and not an IMDb/RT/Metacritic value; it can be null, and the review text, clipped to ~1500 characters). Get the id from search_movies/search_tv.
| Name | Type | Req | Description |
|---|---|---|---|
| id | integer | yes | TMDB numeric id. |
| media_type | string | yes | Media type: 'movie' or 'tv'. |
| page | integer | – | 1-based page number for pagination (TMDB returns up to 20 results per page, max 500). |
| Name | Type | Req | Description |
|---|---|---|---|
| page | number | yes | – |
| results | array | yes | – |
| total_pages | number | yes | – |
| total_results | number | yes | – |
No examples provided.
get_similar Get similar titles ~216
Get titles TMDB considers similar to a given movie or TV show, based on shared genres and keywords — a blunter heuristic than get_movie_recommendations'/get_tv_recommendations' behavioral (co-viewing) data, so results are often thematically noisy (verified live: The Matrix's first page mixes Videodrome and Dune with The Man with the Golden Gun). Returned exactly as TMDB ranks them, 20 per page; the list runs into the whole catalog (total_results 20001 for The Matrix), so only the first page or two are worth reading. Try recommendations first for thematically closer picks; use this when you specifically want genre/keyword-adjacent titles. Get the id from search_movies/search_tv.
| Name | Type | Req | Description |
|---|---|---|---|
| id | integer | yes | TMDB numeric id. |
| media_type | string | yes | Media type: 'movie' or 'tv'. |
| page | integer | – | 1-based page number for pagination (TMDB returns up to 20 results per page, max 500). |
| Name | Type | Req | Description |
|---|---|---|---|
| page | number | yes | – |
| results | array | yes | – |
| total_pages | number | yes | – |
| total_results | number | yes | – |
No examples provided.
get_trending Get trending titles ~160
Get what's trending on TMDB. media_type selects movies, TV, people, or all; time_window is the trending period (today vs this week). Good for 'what's popular right now'. Each result row carries its own media_type ('movie' | 'tv' | 'person') — check it to route to the right get_* tool, especially when media_type is left at 'all'.
| Name | Type | Req | Description |
|---|---|---|---|
| media_type | string | – | Which kind of entity to rank. Defaults to 'all'. |
| page | integer | – | 1-based page number for pagination (TMDB returns up to 20 results per page, max 500). |
| time_window | string | – | Trending period: 'day' or 'week'. Defaults to 'week'. |
| Name | Type | Req | Description |
|---|---|---|---|
| page | number | yes | – |
| results | array | yes | – |
| total_pages | number | yes | – |
| total_results | number | yes | – |
No examples provided.
get_tv Get TV show details ~832
Get full details for one TV show by TMDB id: overview, genres, seasons/episodes counts, networks, created_by (the show's creator(s)), status, the age/content rating (certification) for `region` — falling back to the US rating, then any available country, when `region` has none; check `certification_region` to see which one was used — and links. By default also includes IMDb/Rotten Tomatoes/Metacritic ratings and an awards summary (see include_ratings), plus OMDb's own age rating (`ratings.rated` — separate from this tool's own `certification` above; the two can differ) from OMDb (set include_ratings=false to skip); if unavailable (no OMDB_API_KEY, no imdb_id, or the OMDb lookup fails), `ratings` degrades to `{found:false, reason}` instead of failing the call. Set expand_episodes=true to also pull every season's episode list in one extra request instead of calling get_tv_season per season. If you only need the headline info (name/year/genres/vote average, season/episode counts) — for one id or several — use get_tv_shows instead; it's trimmed on purpose and skips the rest of this payload. Get the id from search_tv.
| Name | Type | Req | Description |
|---|---|---|---|
| expand_episodes | boolean | – | If true, also fetch every season's full episode list (name, air date, runtime, and TMDB `vote_average` — TMDB's own 0-10 user score, not this tool's IMDb/RT/Metacritic `ratings`) as `seasons_detail`,… |
| id | integer | yes | TMDB numeric id. |
| include_ratings | boolean | – | If true (default), enrich the result with IMDb/Rotten Tomatoes/Metacritic ratings plus an awards summary (major-award wins/nominations — Oscars, Emmys, Golden Globes, etc., whatever OMDb aggregates;… |
| language | string | – | Override the response language (ISO-639-1, optionally with a region), e.g. 'ru-RU' or 'en-US'. Localizes titles/overviews/genre names. Defaults to the server's TMDB_LANGUAGE. A well-formed code TMDB… |
| region | string | – | ISO-3166-1 country code for region-specific results (default 'US'). |
| Name | Type | Req | Description |
|---|---|---|---|
| certification | string|null | yes | – |
| certification_region | string | yes | – |
| certifications | object | yes | – |
| created_by | array | yes | – |
| episode_run_time | array | yes | – |
| first_air_date | – | yes | – |
| genres | array | yes | – |
| homepage | string|null | yes | – |
| id | number | yes | – |
| imdb_id | string|null | yes | – |
| imdb_url | string|null | yes | – |
| in_production | boolean|null | yes | – |
| last_air_date | – | yes | – |
| last_episode_to_air | – | yes | – |
| media_type | string | yes | – |
| name | string | – | – |
| networks | array | yes | – |
| next_episode_to_air | – | yes | – |
| number_of_episodes | number|null | yes | – |
| number_of_seasons | number|null | yes | – |
| original_language | string|null | yes | – |
| original_name | string | – | – |
| overview | string|null | yes | – |
| popularity | number|null | yes | – |
| poster_url | string|null | yes | – |
| ratings | – | – | – |
| seasons | array | yes | – |
| seasons_detail | array | – | – |
| status | string|null | yes | – |
| tagline | string|null | yes | – |
| tmdb_url | string | yes | – |
| type | string|null | yes | – |
| vote_average | number|null | yes | TMDB's own 0-10 user score. A different audience and scale from the IMDb/RT/Metacritic scores get_movie/get_tv return as `ratings` — don't compare, average or substitute across the two. |
| vote_count | number|null | yes | – |
| year | number|null | yes | – |
No examples provided.
get_tv_credits Get TV cast & crew ~150
List a TV show's cast and key crew across its whole run, by TMDB id: up to 20 cast members ranked by how many episodes they appear in (each with their main character and episode_count), plus up to 5 people per key crew job — Director, Writer, Teleplay, Story, Executive Producer, Producer, Original Music Composer, Director of Photography — ranked by episode_count, so 'who directed most of it' is the first Director listed. Creators aren't listed here; use get_tv's `created_by`. For one specific episode's director/writer, use get_tv_episode. Get the id from search_tv.
| Name | Type | Req | Description |
|---|---|---|---|
| id | integer | yes | TMDB numeric id. |
| Name | Type | Req | Description |
|---|---|---|---|
| cast | array | yes | – |
| crew | array | yes | – |
No examples provided.
get_tv_episode Get TV episode ~189
Get one episode of a TV show by show id + season number + episode number: overview, air date, runtime, TMDB vote average (`vote_average`, TMDB's own 0-10 user score — not an IMDb/RT/Metacritic score; get_movie/get_tv's `ratings` are whole-show only and this tool makes no OMDb call), guest stars (up to 15) and director/writer. Also returns the episode's own `imdb_id`/`imdb_url` — pass that id to get_ratings for this one episode's IMDb rating, the only way to get a per-episode IMDb score here. Get the show id from search_tv.
| Name | Type | Req | Description |
|---|---|---|---|
| episode_number | integer | yes | Episode number within the season. |
| id | integer | yes | TMDB numeric id. |
| season_number | integer | yes | Season number (0 = specials). |
| Name | Type | Req | Description |
|---|---|---|---|
| air_date | – | yes | – |
| crew | array | yes | – |
| episode_number | number|null | yes | – |
| guest_stars | array | yes | – |
| imdb_id | string|null | yes | This episode's own IMDb id (not the show's) — pass it to get_ratings for the episode's IMDb rating, which no TMDB field carries. Null when TMDB has no IMDb id for it. |
| imdb_url | string|null | yes | – |
| name | string|null | yes | – |
| overview | string|null | yes | – |
| runtime_minutes | number|null | yes | – |
| season_number | number|null | yes | – |
| still_url | string|null | yes | – |
| vote_average | number|null | yes | TMDB's own 0-10 user score. A different audience and scale from the IMDb/RT/Metacritic scores get_movie/get_tv return as `ratings` — don't compare, average or substitute across the two. |
No examples provided.
get_tv_genres List TV genres ~43
List TMDB TV genres with their numeric ids and names (reference data; rarely changes). Feed the ids into discover_tv's with_genres/without_genres.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| genres | array | yes | – |
No examples provided.
get_tv_recommendations Get TV recommendations ~130
Get TV shows TMDB recommends for the given show id, based on co-viewing/personalization data (what users who liked this also liked) — usually the more thematically relevant list. Prefer this over get_similar as the default choice; get_similar matches on shared genres/keywords, a blunter heuristic that can surface tonally unrelated titles. Get the id from search_tv.
| Name | Type | Req | Description |
|---|---|---|---|
| id | integer | yes | TMDB numeric id. |
| page | integer | – | 1-based page number for pagination (TMDB returns up to 20 results per page, max 500). |
| Name | Type | Req | Description |
|---|---|---|---|
| page | number | yes | – |
| results | array | yes | – |
| total_pages | number | yes | – |
| total_results | number | yes | – |
No examples provided.
get_tv_season Get TV season ~217
Get one season of a TV show (by show id + season number): overview and the episode list with air dates, runtimes and TMDB vote averages (per-episode `vote_average`, TMDB's own 0-10 user score — not the IMDb/RT/Metacritic scores get_movie/get_tv return as `ratings`, which are whole-show only; this tool makes no OMDb call, and TMDB's season payload carries no per-episode IMDb ids either, so call get_tv_episode when you need one episode's `imdb_id` for get_ratings), capped at 50 episodes (`episode_count` reports the true total). Season 0 is usually specials, which can run to hundreds of bonus clips on a long-running show. Use get_tv with expand_episodes=true instead if you need every season's episodes in one call. Get the show id from search_tv.
| Name | Type | Req | Description |
|---|---|---|---|
| id | integer | yes | TMDB numeric id. |
| season_number | integer | yes | Season number (0 = specials). |
| Name | Type | Req | Description |
|---|---|---|---|
| air_date | – | yes | – |
| episode_count | number | yes | – |
| episodes | array | yes | – |
| name | string|null | yes | – |
| overview | string|null | yes | – |
| poster_url | string|null | yes | – |
| season_number | number|null | yes | – |
No examples provided.
get_tv_shows Get compact TV show card(s) ~397
Get a compact card — name, year, genres, vote average, season/episode counts, and (opt-in) ratings — for 1-20 TV shows by TMDB id in one call. A quick way to spot short/miniseries shows (low episode count) across many candidates without a per-title get_tv call. Deliberately trimmed otherwise (no overview, the actual episode list, networks, certifications, etc.): use this for a single id too when you only need that headline info and not the full get_tv payload, not just for checking many at once. Call get_tv instead when you need the full details for a title (including region-specific certification). A bad/unknown id never fails the whole call — that entry comes back `{id, found:false, reason}` instead, in the same order as `ids`.
| Name | Type | Req | Description |
|---|---|---|---|
| ids | array | yes | TMDB TV show ids to fetch (1-20). Get them from search_tv/discover_tv/get_similar/get_tv_recommendations/etc. |
| include_ratings | boolean | – | If true, enrich every card with compact IMDb/Rotten Tomatoes/Metacritic ratings from OMDb (requires OMDB_API_KEY) — one extra OMDb lookup per id, so a large batch means a burst of OMDb calls; mind OM… |
| language | string | – | Override the response language (ISO-639-1, optionally with a region), e.g. 'ru-RU' or 'en-US'. Localizes titles/overviews/genre names. Defaults to the server's TMDB_LANGUAGE. A well-formed code TMDB… |
| Name | Type | Req | Description |
|---|---|---|---|
| results | array | yes | – |
No examples provided.
get_videos Get trailers & videos ~131
List trailers, teasers and clips for a movie or TV show; YouTube entries include a watch URL. Get the id from search_movies/search_tv. Returns videos in the server's configured TMDB_LANGUAGE (default 'en-US') plus English, the title's original language (e.g. Spirited Away's Japanese trailer) and untagged ones; each entry's `language` (ISO-639-1) says which. No per-call language override.
| Name | Type | Req | Description |
|---|---|---|---|
| id | integer | yes | TMDB numeric id. |
| media_type | string | yes | Media type: 'movie' or 'tv'. |
| Name | Type | Req | Description |
|---|---|---|---|
| results | array | yes | – |
No examples provided.
get_watch_providers Where to watch ~126
Find where a movie or TV show can be streamed, rented or bought in a given country (JustWatch data via TMDB). Returns provider names per access type for that country; if it has no data, returns `available:false` plus `available_regions` to retry with. Get the id from search_movies/search_tv.
| Name | Type | Req | Description |
|---|---|---|---|
| id | integer | yes | TMDB numeric id. |
| media_type | string | yes | Media type: 'movie' or 'tv'. |
| region | string | – | ISO-3166-1 country code for region-specific results (default 'US'). |
Structured output declared, but exposes no named fields.
No examples provided.
search_collections Search movie collections ~334
Resolve a franchise/series name (e.g. 'harry potter', 'james bond') to its TMDB collection id — a collection is TMDB's grouping of a movie series' films. Pass the id to get_collection for every part in release order. Use this when you only have the franchise name; if you already have one of its movies, get_movie's `collection` field carries the same id. Movies only: collection parts are movies, and a TV series name finds nothing (e.g. 'breaking bad' → 0 results). A name can match several collections ('star wars' also returns 'LEGO Star Wars Collection' and other spin-off groupings) — pick by name/overview. Rows are id, name, overview, poster_url, localized per `language` (e.g. 'de-DE' → 'Harry Potter Filmreihe').
| Name | Type | Req | Description |
|---|---|---|---|
| language | string | – | Override the response language (ISO-639-1, optionally with a region), e.g. 'ru-RU' or 'en-US'. Localizes titles/overviews/genre names. Defaults to the server's TMDB_LANGUAGE. A well-formed code TMDB… |
| page | integer | – | 1-based page number for pagination (TMDB returns up to 20 results per page, max 500). |
| query | string | yes | Franchise/collection name to look up. |
| Name | Type | Req | Description |
|---|---|---|---|
| page | number | yes | – |
| results | array | yes | – |
| total_pages | number | yes | – |
| total_results | number | yes | – |
No examples provided.
search_companies Search production companies ~139
Resolve a production company's name to its TMDB numeric id (e.g. 'A24', 'Pixar'). Feed the id into discover_movies/discover_tv via with_companies. Company names aren't unique — TMDB can have several unrelated companies sharing the same name (e.g. two different 'A24's, one US and one GB) — check origin_country and logo_url to tell rows apart when a name matches more than one.
| Name | Type | Req | Description |
|---|---|---|---|
| page | integer | – | 1-based page number for pagination (TMDB returns up to 20 results per page, max 500). |
| query | string | yes | Company name to look up. |
| Name | Type | Req | Description |
|---|---|---|---|
| page | number | yes | – |
| results | array | yes | – |
| total_pages | number | yes | – |
| total_results | number | yes | – |
No examples provided.
search_keywords Search keywords ~87
Resolve keyword names to TMDB keyword ids (e.g. 'time travel', 'based on true story'). Feed the ids into discover_movies/discover_tv via with_keywords / without_keywords.
| Name | Type | Req | Description |
|---|---|---|---|
| page | integer | – | 1-based page number for pagination (TMDB returns up to 20 results per page, max 500). |
| query | string | yes | Keyword text to look up. |
| Name | Type | Req | Description |
|---|---|---|---|
| page | number | yes | – |
| results | array | yes | – |
| total_pages | number | yes | – |
| total_results | number | yes | – |
No examples provided.
search_movies Search movies ~403
Search TMDB movies by title; returns compact summaries with the TMDB id that the other movie tools (get_movie, get_movie_credits, …) require, plus pagination info. Use this over search_multi when you already know the result is a movie. `region` here only picks which country's release_date is shown per result (e.g. a title's US vs. India theatrical date) — verified live, it does not filter which movies match or reorder them; for actual region-based availability use get_watch_providers instead.
| Name | Type | Req | Description |
|---|---|---|---|
| exact_year | boolean | – | Match `year` against the original (primary) release year only, dropping every movie first released in another year. Requires `year`. |
| include_adult | boolean | – | Include adult (NSFW) results. Defaults to false. |
| language | string | – | Override the response language (ISO-639-1, optionally with a region), e.g. 'ru-RU' or 'en-US'. Localizes titles/overviews/genre names. Defaults to the server's TMDB_LANGUAGE. A well-formed code TMDB… |
| page | integer | – | 1-based page number for pagination (TMDB returns up to 20 results per page, max 500). |
| query | string | yes | Movie title to search for. |
| region | string | – | ISO-3166-1 country code for region-specific results (default 'US'). |
| year | integer | – | Bias results toward this release year. Soft by default: it matches any of a movie's release dates, so re-releases and older films still appear (verified live: 'alien' with year 2003 ranks the 1979 Al… |
| Name | Type | Req | Description |
|---|---|---|---|
| page | number | yes | – |
| results | array | yes | – |
| total_pages | number | yes | – |
| total_results | number | yes | – |
No examples provided.
search_multi Search everything ~237
Search movies, TV shows and people in one call. Each result carries a media_type ('movie' | 'tv' | 'person') so you can route to the right get_* tool. Use when the user's query could be any of these; if you already know the type, search_movies/search_tv/search_people are more precise.
| Name | Type | Req | Description |
|---|---|---|---|
| include_adult | boolean | – | Include adult (NSFW) results. Defaults to false. |
| language | string | – | Override the response language (ISO-639-1, optionally with a region), e.g. 'ru-RU' or 'en-US'. Localizes titles/overviews/genre names. Defaults to the server's TMDB_LANGUAGE. A well-formed code TMDB… |
| page | integer | – | 1-based page number for pagination (TMDB returns up to 20 results per page, max 500). |
| query | string | yes | Free-text query. |
| Name | Type | Req | Description |
|---|---|---|---|
| page | number | yes | – |
| results | array | yes | – |
| total_pages | number | yes | – |
| total_results | number | yes | – |
No examples provided.
search_people Search people ~222
Search TMDB people (actors, directors, crew) by name; returns the TMDB id needed by get_person plus their top 5 best-known titles (known_for). Use this over search_multi when you already know the result is a person.
| Name | Type | Req | Description |
|---|---|---|---|
| include_adult | boolean | – | Include adult (NSFW) results. Defaults to false. |
| language | string | – | Override the response language (ISO-639-1, optionally with a region), e.g. 'ru-RU' or 'en-US'. Localizes titles/overviews/genre names. Defaults to the server's TMDB_LANGUAGE. A well-formed code TMDB… |
| page | integer | – | 1-based page number for pagination (TMDB returns up to 20 results per page, max 500). |
| query | string | yes | Person name to search for. |
| Name | Type | Req | Description |
|---|---|---|---|
| page | number | yes | – |
| results | array | yes | – |
| total_pages | number | yes | – |
| total_results | number | yes | – |
No examples provided.
search_tv Search TV shows ~259
Search TMDB TV shows by name; returns compact summaries with the TMDB id that get_tv and the other TV tools require. Use this over search_multi when you already know the result is a TV show.
| Name | Type | Req | Description |
|---|---|---|---|
| include_adult | boolean | – | Include adult (NSFW) results. Defaults to false. |
| language | string | – | Override the response language (ISO-639-1, optionally with a region), e.g. 'ru-RU' or 'en-US'. Localizes titles/overviews/genre names. Defaults to the server's TMDB_LANGUAGE. A well-formed code TMDB… |
| page | integer | – | 1-based page number for pagination (TMDB returns up to 20 results per page, max 500). |
| query | string | yes | TV show name to search for. |
| year | integer | – | Filter by first-air-date year. Unlike search_movies' soft year filter, this is a hard first-air-year match (verified live). For a first-air-date range, use discover_tv. |
| Name | Type | Req | Description |
|---|---|---|---|
| page | number | yes | – |
| results | array | yes | – |
| total_pages | number | yes | – |
| total_results | number | yes | – |
No examples provided.
search_watch_providers Search streaming/rental providers ~324
Resolve a streaming/rental/purchase service's name (e.g. 'Netflix', 'Disney Plus') to its TMDB numeric provider id. Feed the id into discover_movies/discover_tv's with_watch_providers (with watch_region set to the same region given here, if any) to find top titles on that service — TMDB has no name-based lookup of its own for this, only numeric ids, and there are hundreds of providers (269+ for the US alone, more elsewhere), so don't guess an id. A provider's id and even whether it's offered at all can differ by region (e.g. a service bundled as a channel add-on in one country vs. standalone in another) — pass watch_region to match what discover_movies/discover_tv will actually see; omitting it searches the full global provider list instead, which may include ids not valid for the region the caller actually cares about.
| Name | Type | Req | Description |
|---|---|---|---|
| media_type | string | yes | Whether to search movie or TV providers — a service can be offered for one media type but not the other (its id stays the same either way; a movie-only or TV-only service just returns nothing from th… |
| page | integer | – | 1-based page number for pagination (TMDB returns up to 20 results per page, max 500). |
| query | string | yes | Service name (or part of it) to look up, e.g. 'Netflix'. |
| watch_region | string | – | Two-letter ISO-3166-1 country code, e.g. 'US'. |
| Name | Type | Req | Description |
|---|---|---|---|
| page | number | yes | – |
| results | array | yes | – |
| total_pages | number | yes | – |
| total_results | number | yes | – |
No examples provided.
How do I install the TMDB MCP Server server?
TMDB MCP Server runs locally as an npm package, launched with npx -y tmdb-mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
npm · tmdb-mcp
claude mcp add grinv-tmdb-mcp -- npx -y tmdb-mcp
What is the TMDB MCP Server server?
TMDB MCP Server is listed in the public MCP registry as io.github.Grinv/tmdb-mcp. MCP server for The Movie Database (TMDB) with IMDb/Rotten Tomatoes/Metacritic ratings via OMDb. This page covers its npm package (tmdb-mcp).
Is the TMDB MCP Server server safe to use?
TMDB MCP Server scores 91 out of 100 on VerifyMCP. We recorded 1 known advisory against it as of 4 November 2026. It declares no install or post-install scripts. Its build provenance is signed and verified. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the TMDB MCP Server server expose?
TMDB MCP Server exposes 33 tools: search_movies, search_tv, search_multi, search_people, search_keywords, and 28 more. Their descriptions and schemas cost roughly 11,852 tokens of context every time the server is loaded.
Is the TMDB MCP Server server still maintained?
TMDB MCP Server is still listed as active in the MCP registry. We last reached this channel on 4 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.
What licence is the TMDB MCP Server server under?
TMDB MCP Server declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.