tmdb-mcp is read-only and talks to TMDB and OMDb's own APIs only.
- Never writes anything. Every tool is annotated
readOnlyHint: true(READ_ONLYinsrc/tools/shared.ts); there is no code path that sends anything to TMDB or OMDb beyond a GET request. - Only two hosts, both fixed at startup. Requests go to the configured
TMDB_BASE_URL(defaultapi.themoviedb.org) orOMDB_BASE_URL(defaultwww.omdbapi.com). No tool parameter lets a caller redirect a request to an arbitrary host. - Credentials stay local.
TMDB_API_TOKENis sent only as anAuthorization: Bearerheader;OMDB_API_KEYis sent only as anapikeyquery parameter. Both are read once from the environment at startup, never written to disk, cached, or included in a tool result. Logging redactsBearertokens and anyapikey/access_token/refresh_token/client_secret/client_idvalue before a line reaches stderr (seesrc/lib/errors.ts'sredact, applied to every log line insrc/lib/logger.ts), including the full request URL an HTTP retry logs at debug level, which is exactly where an unredacted OMDbapikeywould otherwise leak underLOG_LEVEL=debug. - No data kept between requests beyond a small in-memory cache of
upstream responses: fresh for
CACHE_TTL_MS(default 5 minutes), then kept only as an outage fallback, capped at 500 entries per upstream. Nothing is written to disk, and the cache is gone when the process exits. - Typed, validated inputs. Every tool's parameters are a
.strict()Zod schema; malformed or unrecognized input is rejected before any request is made.
Open a GitHub issue or, for anything sensitive, email the address on the maintainer's GitHub profile (https://github.com/Grinv). Please don't file public issues for vulnerabilities that could affect other users before there's a fix available.
Not affiliated with TMDB or OMDb. "TMDB" and "The Movie Database" are trademarks of TMDB.