TMDB MCP Server
Provides comprehensive tools for searching and retrieving movie, TV show, and person data from The Movie Database (TMDB) API, including details, recommendations, videos, images, reviews, and trending content.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@TMDB MCP ServerShow me popular movies right now"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
TMDB MCP Server
A production-ready Model Context Protocol (MCP) server that integrates with The Movie Database (TMDB) API, designed to run on Cloudflare Workers using Hono.js framework.
Features
34 MCP Tools for comprehensive TMDB API access
Dual Transport Support: SSE (legacy) and Streamable HTTP (new standard)
Cloudflare Cache integration for improved performance
Robust Error Handling with graceful error messages
Type-Safe with full TypeScript support
Rate Limit Aware with proper error responses
Related MCP server: TMDB MCP Server
Available Tools
Search & Discovery
Tool | Description |
| Search for movies by title with optional year filter |
| Search for TV shows by name |
| Search for actors, directors, and crew |
| Advanced movie discovery with filters |
| Advanced TV show discovery with filters |
| Get trending movies, TV shows, or people |
Movie Details
Tool | Description |
| Get comprehensive movie details including cast & crew |
| Get movie recommendations based on a movie |
| Get movies similar to a specific movie |
| Get all videos (trailers, teasers, clips) for a movie |
| Get all images (posters, backdrops, logos) for a movie |
| Get user reviews for a movie |
TV Show Details
Tool | Description |
| Get TV show details including seasons and episodes |
| Get TV show recommendations based on a show |
| Get TV shows similar to a specific show |
| Get all videos for a TV show |
| Get all images for a TV show |
| Get user reviews for a TV show |
| Get detailed information about a TV show season |
| Get detailed information about a TV show episode |
Person Details
Tool | Description |
| Get person biography and filmography |
| Get all profile images for a person |
Lists & Charts
Tool | Description |
| Get movies currently playing in theaters |
| Get movies being released in the next 2 weeks |
| Get current popular movies |
| Get top rated movies of all time |
| Get the most recently added movie |
| Get TV shows airing today |
| Get TV shows currently on the air |
| Get current popular TV shows |
| Get top rated TV shows of all time |
| Get the most recently added TV show |
Reference Data
Tool | Description |
| Get movie certifications by country |
| Get TV show certifications by country |
Prerequisites
Node.js 18+
npm or yarn
TMDB API Key (Read Access Token)
Cloudflare account (for deployment)
Setup
1. Install Dependencies
npm install2. Configure Environment Variables
Create a .dev.vars file for local development:
cp .dev.vars.example .dev.varsEdit .dev.vars and add your TMDB API key:
TMDB_API_KEY=your_tmdb_api_key_here3. Local Development
Start the development server:
npm run devThe server will be available at http://localhost:8787
4. Test Endpoints
Offline test suite:
npm testLive integration tests (require TMDB_API_KEY and outbound access to api.themoviedb.org):
npm run test:endpoints
npm run test:integrationHealth Check:
curl http://localhost:8787/healthList Available Tools:
curl http://localhost:8787/toolsSSE Connection (for MCP clients):
curl -N http://localhost:8787/sseDeployment
Deploy to Cloudflare Workers
Set the TMDB API key as a secret:
wrangler secret put TMDB_API_KEYDeploy:
npm run deployMCP Client Configuration
SSE Transport (Legacy)
Configure your MCP client to connect using SSE:
{
"mcpServers": {
"tmdb": {
"url": "http://localhost:8787/sse",
"transport": "sse"
}
}
}Streamable HTTP Transport (Recommended)
The newer, more efficient transport protocol:
{
"mcpServers": {
"tmdb": {
"url": "http://localhost:8787/mcp",
"transport": "streamable-http"
}
}
}For deployed workers:
{
"mcpServers": {
"tmdb": {
"url": "https://tmdb-mcp-server.<your-subdomain>.workers.dev/mcp",
"transport": "streamable-http"
}
}
}Available Endpoints
Endpoint | Method | Description |
| GET | Health check and server info |
| GET | List all available tools |
| GET | SSE transport connection (legacy) |
| POST | SSE transport messages (legacy) |
| GET/POST/DELETE | Streamable HTTP transport |
Tool Usage Examples
Search Movies
{
"name": "search_movies",
"arguments": {
"query": "The Matrix",
"year": 1999
}
}Get Movie Details
{
"name": "get_movie_details",
"arguments": {
"movie_id": 603
}
}Discover Movies
{
"name": "discover_movies",
"arguments": {
"genres": "28,12",
"min_rating": 7.5,
"sort_by": "popularity.desc"
}
}Get Trending
{
"name": "get_trending",
"arguments": {
"media_type": "movie",
"time_window": "week"
}
}Project Structure
tmdb-mcp/
├── src/
│ ├── index.ts # Main server entry point
│ └── lib/
│ ├── tmdb-client.ts # TMDB API client with caching
│ └── mcp-tools.ts # MCP tool definitions
├── package.json
├── wrangler.toml
├── tsconfig.json
└── .dev.vars.exampleAPI Reference
TMDBClient
The TMDBClient class provides a type-safe wrapper around the TMDB API:
Automatic error handling
Rate limit detection (429 responses)
Cloudflare Cache integration
Image URL transformation
Image URLs
All image paths returned by tools are converted to full URLs using the format:
https://image.tmdb.org/t/p/w500/{path}Available sizes: w92, w154, w185, w342, w500, w780, original
Error Handling
The server handles various error scenarios:
TMDB API Errors: Returns descriptive error messages
Rate Limiting: Returns 429 with retry-after header
Network Errors: Graceful error messages
Invalid Input: Zod validation errors
License
MIT
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- 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/20Youssef10/tmdb-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server