TMDB MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| TMDB_REGION | No | Region for localization (e.g., US, RU) (optional) | |
| OMDB_API_KEY | No | OMDb API key for ratings enrichment (optional) | |
| TMDB_LANGUAGE | No | Language for localization (e.g., en-US, ru-RU) (optional) | |
| TMDB_API_TOKEN | Yes | TMDB v4 Read Access Token (required) |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| search_moviesA | 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. |
| search_tvA | 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. |
| search_multiA | 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. |
| search_peopleA | 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. |
| search_keywordsA | 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. |
| search_companiesA | 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. |
| search_watch_providersA | 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. |
| get_movieA | Get full details for one movie by TMDB id: overview, genres, runtime, budget/revenue, vote average, the age/content rating (certification) for |
| get_tvA | 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 |
| get_moviesA | 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 |
| get_tv_showsA | 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 |
| get_personA | 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. |
| get_movie_creditsA | 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. |
| get_tv_creditsA | List the main cast (up to 20) and production crew (executive producers, producers, composer, DoP, …) of a TV show by TMDB id. TMDB's show-level TV credits data does not reliably expose director/writer/creator credits — verified live across several shows (Breaking Bad, Stranger Things, Chernobyl, The Queen's Gambit): each show's actual creator/head-writer/director appears only as 'Executive Producer', never as 'Writer', 'Director' or 'Creator'. For who created the show, use get_tv's own |
| get_movie_recommendationsA | 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. |
| get_tv_recommendationsA | 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. |
| get_similarA | 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 can still be thematically noisy (matching on a shared keyword despite an unrelated tone or plot). Results sharing only the source title's broadest genre (e.g. two titles that are both merely tagged 'Drama' among several genres) are filtered out per page, since a title with a common genre can otherwise return results spanning TMDB's entire catalog; a page can come back thin or empty for a niche title once that filter applies. |
| get_reviewsA | Get user reviews for a movie or TV show (author, their rating if the reviewer left one — it can be null, and the review text, clipped to ~1500 characters). Get the id from search_movies/search_tv. |
| get_collectionA | 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 a movie's |
| get_person_creditsA | 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') and repeat entries for the same title are excluded so the list stays about actual roles. 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 rating. 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 |
| get_trendingA | 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'. |
| get_movie_genresA | List TMDB movie genres with their numeric ids and names (reference data; rarely changes). Feed the ids into discover_movies' with_genres/without_genres. |
| get_tv_genresA | 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. |
| discover_moviesA | Find movies by structured filters instead of a title query: genres (include/exclude), year or release-date range, rating range, vote count, runtime range, original language, cast/crew/people, companies, keywords, watch providers, certification, a region code (minor effect only — see its own description), an adult-content toggle, and sort order. certification and with_watch_providers each error if given with no certification_country/watch_region at all, but an unrecognized certification_country still silently disables the filter instead of erroring — see certification's own description. Use for 'popular sci-fi from the 1990s rated 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. |
| discover_tvA | Find TV shows by structured filters (genres, first-air year or date range, rating range, vote count, runtime, language, companies, networks, keywords, watch providers, 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 and with_watch_providers each error if given with no certification_country/watch_region at all, but an unrecognized certification_country still silently disables the filter instead of erroring — see certification's own description. 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. |
| get_watch_providersA | 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 |
| get_videosA | 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. Results are filtered to the server's configured TMDB_LANGUAGE (default 'en-US') — this tool has no per-call language override, so a title with plenty of videos in other languages can come back with few or none if the server is configured for a different language (verified live: 29 results for a title under 'en-US' vs. 2 under 'de-DE'). |
| find_by_imdb_idA | 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. |
| get_tv_seasonA | Get one season of a TV show (by show id + season number): overview and the episode list with air dates, runtimes and ratings, capped at 50 episodes ( |
| get_tv_episodeA | Get one episode of a TV show by show id + season number + episode number: overview, air date, runtime, rating, guest stars (up to 15) and director/writer. Get the show id from search_tv. |
| get_ratingsA | 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, not one person), and OMDb's own age rating ( |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| recommend_similar | Plan a search for movies or TV shows similar to a given title, using TMDB's similarity/recommendation data (and discover as a fallback) rather than the model's own knowledge. Use this instead of calling get_similar/get_movie_recommendations yourself when you want the merged, ranked shortlist in one step; call those tools directly only if you already have a specific TMDB id and just need its raw candidate list. |
| top_by_entity | Find the best-regarded movies/TV from a specific person (actor, director, composer, …) or production company/studio, optionally restricted to one genre — 'A24's top movies', 'Tarantino's best films', 'which of Joe Hisaishi's scores are for animated films'. Resolves the name to a TMDB id (search_people/search_companies) then ranks with discover_movies/discover_tv, filtering out low-vote noise; for a person's TV work specifically it goes through get_person_credits instead, since discover_tv can't filter by person at all. Use this instead of doing that yourself when you want the ranked shortlist in one step. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Grinv/tmdb-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server