tmdb-mcp

tmdb-mcp

An MCP server for managing TMDB lists (movies/TV) from any MCP client, with OAuth authentication via Cloudflare Workers.

Category
Visit Server

README

tmdb-mcp

An MCP server for managing your TMDB lists from Claude, Cursor, or any MCP client. Runs on Cloudflare Workers; bridges OAuth 2.1 to TMDB's v4 auth flow so your TMDB token never leaves the worker.

Tools

Tool Description
list_lists List all lists for the authenticated TMDB account
get_list Fetch a list with its items (paginated)
create_list Create a new list
update_list Rename, change description, or toggle public
delete_list Delete a list
add_items Add movies/TV shows to a list
remove_items Remove items from a list
search_movie Search movies by title (returns ids usable as media_id)
search_tv Search TV shows by title

Architecture

[MCP client]  ──OAuth 2.1──  [Worker]  ──TMDB v4 auth──  [themoviedb.org]
                                │
                                ├── KV  (oauth state, opaque tokens)
                                └── Durable Object  (per-session MCP agent)
  • The worker presents a standard OAuth 2.1 authorization server to MCP clients.
  • On /authorize, it requests a TMDB v4 request_token, redirects the user to TMDB's approval page, and exchanges the approved token for a v4 access_token on /callback.
  • The TMDB token is stored only in the per-session props object; clients receive an opaque bearer minted by @cloudflare/workers-oauth-provider.
  • All TMDB API calls happen server-side.

Prerequisites

Setup

git clone https://github.com/dendotai/tmdb-mcp.git
cd tmdb-mcp
bun install

Create your own KV namespace and replace the id in wrangler.jsonc:

bunx wrangler kv namespace create OAUTH_KV

Set the TMDB application token as a Worker secret:

bunx wrangler secret put TMDB_APP_TOKEN
# paste your v4 API Read Access Token

Deploy:

bun run deploy

For local development, copy .dev.vars.example to .dev.vars, fill in the token, then:

bun run dev

Connect

Replace https://your-worker.your-subdomain.workers.dev below with your deployed URL.

Claude Code

claude mcp add --transport http tmdb https://your-worker.your-subdomain.workers.dev/mcp

You'll be prompted to complete the OAuth flow in your browser on first use.

Cursor

Settings → MCP → Add new MCP server, paste the URL ending in /mcp.

claude.ai (web)

Settings → Connectors → Add custom connector → paste the /mcp URL.

MCP Inspector

bun run inspector

Then point it at https://your-worker.your-subdomain.workers.dev/mcp (Streamable HTTP transport).

Troubleshooting

  • Stream the live worker log: bun run tail
  • TMDB request_token failed — your TMDB_APP_TOKEN secret is missing or invalid. Reset it with bunx wrangler secret put TMDB_APP_TOKEN.
  • Authorization session expired or unknown — the OAuth round-trip took longer than 10 minutes, or the user opened the approval link in a different browser session. Restart the connector.
  • claude.ai web won't finish the connector dance — see the regression note above; verify the server with Claude Code or MCP Inspector.

License

MIT — see LICENSE.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured