MCP server for The Movie Database (TMDB) with IMDb/Rotten Tomatoes/Metacritic ratings via OMDb.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
We haven't yet run this listing's install command through our automated sandbox check. This isn't a red flag β we're steadily working through the catalog.
π‘ Paste into ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows)
An MCP server for The Movie Database (TMDB): search and look up movies, TV shows and people, and read IMDb / Rotten Tomatoes / Metacritic ratings (via OMDb) in the same call.
The server speaks standard MCP over stdio, so it works with any MCP client (Claude Desktop/Code, Cursor, VS Code, Cline, β¦).
Once it's connected, just ask your agent in natural language (needs a free TMDB token β see Getting your credentials):
With an optional (free) OMDb key, ratings are added too:
Add it to your MCP client's config. The only required credential is a TMDB v4
Read Access Token; OMDB_API_KEY (ratings) and TMDB_LANGUAGE / TMDB_REGION
(localization) are optional.
Via npx (no install):
Replace each value with your own. Only
TMDB_API_TOKENis required β delete the lines marked optional if you don't need them.
As a .mcpb bundle (easiest for Claude Desktop): download tmdb-mcp.mcpb
from the latest release,
then open it / drag it into Claude Desktop's Extensions. It's a self-contained
bundle (no Node or npm needed); enter the token and the optional fields in the
install dialog. Re-download and reinstall to update.
From source: git clone, then npm ci && npm run build, and point the client
at it with "command": "node", "args": ["/ABS/PATH/tmdb-mcp/dist/index.js"] and
the same env as above.
See docs/clients.md for per-client details and all tunables.
| Tool | Purpose |
|---|---|
search_movies / search_tv / search_people | Find titles/people by name β TMDB id |
search_multi | Search movies, TV and people at once (each row has a media_type) |
get_movie / get_tv | Full details + IMDb/RT/Metacritic ratings (toggle with include_ratings) |
get_movies / get_tv_shows | Compact card(s) (title/year/genres/vote average, ratings opt-in) for 1-20 ids in one call |
get_person | Biography, department, links |
get_movie_credits / get_tv_credits | Top-billed cast and headline crew |
get_movie_recommendations / get_tv_recommendations | TMDB's editorial recommendations |
get_similar | Algorithmically similar titles (media_type + id) |
get_trending | What's popular now (movies / TV / people, day or week) |
get_movie_genres / get_tv_genres | Genre id β name reference |
discover_movies | Filter by genre, year/date range, rating, cast/crew/people, companies, keywords, providers, certification, β¦ |
discover_tv | Same, plus networks/type/status β but no cast/crew/person filter (use get_person_credits for that) |
get_watch_providers | Where to stream/rent/buy, by region (JustWatch via TMDB) |
get_person_credits | A person's filmography (cast & crew) |
get_videos | Trailers/teasers/clips (YouTube links) |
get_reviews | User reviews (author, rating, text) for a movie/TV |
get_collection | A movie franchise/collection and its parts, in release order |
find_by_imdb_id | Resolve an IMDb id β TMDB movie/TV/person |
get_tv_season / get_tv_episode | Season episode list / single-episode details |
search_keywords | Resolve keyword names β ids for discover_* |
search_companies | Resolve a production company name β id for discover_*'s with_companies |
search_watch_providers | Resolve a streaming/rental service name (e.g. 'Netflix') β id for discover_*'s with_watch_providers |
get_ratings | IMDb/RT/Metacritic ratings by IMDb id or title (standalone) |
Prompts. Alongside the tools above, the server exposes two MCP prompts:
recommend_similar (title, optional media_type, optional count) plans a
search for titles similar to one the user liked, driving get_similar /
get_movie_recommendations / get_tv_recommendations / discover_movies /
discover_tv instead of relying on the model's own knowledge. top_by_entity
(name, optional entity_type, genre, media_type, count) finds the
best-regarded titles from a person or a production company/studio β e.g. "A24's
top movies" or "Tarantino's best crime films" β via discover_movies/
discover_tv, and for a person's TV work specifically falls back to
get_person_credits (TMDB's own /discover/tv can't filter by person at all).
Backbone vs. enrichment. TMDB is the primary source (search, metadata,
people, trending). OMDb is optional enrichment: get_movie/get_tv chain the
imdb_id TMDB returns into an OMDb lookup so ratings β plus a free-text
awards summary (major-award wins/nominations, e.g. Oscars for a film or Emmys
for a show, for the title as a whole, not attributed to any one person) and
OMDb's own age rating (ratings.rated, separate from this server's own
certification) β come back in one call. Without an OMDb key the TMDB data
still works; the ratings field just
reports that it is unconfigured.
Localization. Set TMDB_LANGUAGE (e.g. ru-RU) and TMDB_REGION (e.g.
RU) to get localized titles/overviews/genre names and region-specific
certifications. The search tools, get_movie/get_tv/get_person,
get_collection and discover_movies/discover_tv also accept a per-call
language override.
One token is required (TMDB); the OMDb key is optional. Both are free.
TMDB_API_TOKEN. It's sent as Authorization: Bearer β¦.OMDB_API_KEY. This
unlocks get_ratings and the IMDb / Rotten Tomatoes / Metacritic scores in movie
and TV details. Without it, everything else still works.Put these in your MCP client config's env block (see
docs/clients.md for per-client snippets) β never commit them.
TMDB_LANGUAGE / TMDB_REGION optionally set default locale/region (e.g. ru-RU, RU).
Sensible defaults; only set these if you know you need to. Env var only β not exposed in Claude Desktop's install form, so CLI/Docker users set them directly.
| Variable | Default | Purpose |
|---|---|---|
TMDB_BASE_URL | https://api.themoviedb.org/3 | Override TMDB's API base (e.g. a proxy) |
OMDB_BASE_URL | https://www.omdbapi.com | Override OMDb's API base |
HTTP_TIMEOUT_MS | 15000 | Per-request timeout before aborting |
HTTP_RETRIES | 2 | Retries on a transient upstream failure |
TMDB_MIN_INTERVAL_MS | 60 | Minimum spacing between TMDB requests |
OMDB_MIN_INTERVAL_MS | 0 | Minimum spacing between OMDb requests |
CACHE_TTL_MS | 300000 | How long cached responses stay fresh |
LOG_LEVEL | info | debug | info | warn | error | silent |
If TMDB/OMDb is briefly down and a tool falls back to a cached-but-expired
response rather than failing, the result carries
_meta: {"tmdb-mcp/stale": true} alongside the normal data, so a client can
tell a degraded answer from a fresh one.
Runtime requires Node β₯ 20.11. Contributor/agent guidance lives in AGENTS.md.
.mcpb bundle: download the new bundle from the releases page and reinstall.git pull && npm ci && npm run build.npx -y tmdb-mcp fetches the latest on the next run.This product uses the TMDB API but is not endorsed or certified by TMDB.
tmdb-mcp runs entirely on your own machine and collects no data of its own β
see PRIVACY.md for exactly what it sends to TMDB/OMDb and what
(if anything) it stores locally.
Read-only, two fixed upstream hosts, credentials never persisted β see SECURITY.md for the full breakdown and how to report a vulnerability.
MIT Β© Grinv
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/tmdb-mcp-server)<a href="https://allmcps.com/mcp/tmdb-mcp-server"><img src="https://allmcps.com/api/badge/tmdb-mcp-server?style=directory" alt="TMDB MCP Server on AllMCPs" /></a>