IMDb
STDIOIMDb API integration server providing movie and TV show information
IMDb API integration server providing movie and TV show information
A Python server implementing Model Context Protocol (MCP) for movie and TV show information using the IMDb API service.
This server provides a comprehensive set of tools for accessing IMDb data through the IMDb API. It serves as a bridge between agents and the IMDb database, offering detailed information about movies, TV shows, actors, directors, and more.
This server requires an API key from RapidAPI for the IMDb API service:
Create an account on RapidAPI
Subscribe to the IMDb API on RapidAPI
Configure the API key using one of these methods:
Method 1: Smithery Configuration (for HTTP mode)
Method 2: Environment Variable (for stdio mode)
export RAPID_API_KEY_IMDB=your_api_key_here
| Tool | Description | Example | 
|---|---|---|
| search_imdb | Search for movies and TV shows with various filtering options | search_imdb(primary_title="Inception") | 
| Tool | Description | Example | 
|---|---|---|
| get_imdb_details | Retrieve detailed information about a movie or TV show | get_imdb_details(imdb_id="tt1375666") | 
| get_directors | Retrieve the directors of a movie | get_directors(imdb_id="tt1375666") | 
| get_cast | Retrieve the cast of a movie | get_cast(imdb_id="tt1375666") | 
| get_writers | Retrieve the writers of a movie | get_writers(imdb_id="tt1375666") | 
| Tool | Description | Example | 
|---|---|---|
| get_types | Get all available content types | get_types() | 
| get_genres | Get all available genres | get_genres() | 
| get_countries | Get all available countries | get_countries() | 
| get_languages | Get all available languages | get_languages() | 
Paginated (5 results per page)
| Tool | Description | Example | 
|---|---|---|
| get_top_250_movies | Get the top 250 movies from IMDb | get_top_250_movies(start=0) | 
| get_top_box_office_us | Get the US box office records | get_top_box_office_us(start=0) | 
| get_most_popular_movies | Get the most popular movies | get_most_popular_movies(start=0) | 
Paginated (5 results per page)
| Tool | Description | Example | 
|---|---|---|
| get_top_250_tv_shows | Get the top 250 TV shows from IMDb | get_top_250_tv_shows(start=0) | 
| get_most_popular_tv_shows | Get the most popular TV shows | get_most_popular_tv_shows(start=0) | 
Paginated (5 results per page)
| Tool | Description | Example | 
|---|---|---|
| get_upcoming_releases | Get upcoming movie and TV show releases by country | get_upcoming_releases(country_code="US", type="MOVIE", start=0) | 
| get_country_codes_for_upcoming_releases | Get available country codes for upcoming releases | get_country_codes_for_upcoming_releases() | 
Paginated (5 results per page)
| Tool | Description | Example | 
|---|---|---|
| get_top_rated_malayalam_movies | Get top 50 rated Malayalam movies | get_top_rated_malayalam_movies(start=0) | 
| get_upcoming_indian_movies | Get most anticipated upcoming Indian movies | get_upcoming_indian_movies(start=0) | 
| get_trending_tamil_movies | Get trending Tamil movies | get_trending_tamil_movies(start=0) | 
| get_trending_telugu_movies | Get trending Telugu movies | get_trending_telugu_movies(start=0) | 
| get_top_rated_tamil_movies | Get top 50 rated Tamil movies | get_top_rated_tamil_movies(start=0) | 
| get_top_rated_telugu_movies | Get top 50 rated Telugu movies | get_top_rated_telugu_movies(start=0) | 
| get_top_rated_indian_movies | Get top 250 rated Indian movies | get_top_rated_indian_movies(start=0) | 
What are the 5 action movies that will be released in the nearest future?
I'll find the upcoming action movies for you.
Called MCP tool get_upcoming_releases
Now I'll look for the action movies from these upcoming releases:
Called MCP tool get_upcoming_releases
Based on the search results, here are the 5 upcoming action movies that will be released in the nearest future:
A Minecraft Movie (April 4, 2025)
Freaky Tales (April 4, 2025)
Wake Up (April 4, 2025)
Warfare (April 11, 2025)
The Amateur (April 11, 2025)
To install IMDb Server for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @uzaysozen/imdb-mcp-server --client claude
This will automatically configure the server with your RapidAPI key through Smithery's configuration system.
git clone https://github.com/uzaysozen/imdb-mcp-server.git cd imdb-mcp-server
docker build -t imdb_server .
docker run -d -p 8081:8081 -e RAPID_API_KEY_IMDB=your_api_key_here --name imdb_server imdb_server
Note: The Docker container runs in HTTP mode by default on port 8081.
git clone https://github.com/uzaysozen/imdb-mcp-server.git cd imdb-mcp-server
# On macOS and Linux curl -LsSf https://astral.sh/uv/install.sh | sh # On Windows powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
uv sync
claude_desktop_config.json:{ "mcpServers": { "imdb_server": { "command": "uv", "args": [ "--directory", "/path/to/imdb-mcp-server", "run", "imdb-server" ], "env": { "RAPID_API_KEY_IMDB": "your_api_key_here" } } } }
# Using uv (recommended) uv run imdb-server # Or directly with Python module python -m imdb_mcp_server
# Using uv TRANSPORT=http uv run imdb-server # Or with Python module TRANSPORT=http python -m imdb_mcp_server # With custom port TRANSPORT=http PORT=8081 uv run imdb-server
After adding your chosen configuration, restart Claude Desktop to load the IMDb server. You'll then be able to use all the movie and TV show data tools in your conversations with Claude.
The server is built on:
The server supports two transport modes:
Stdio Mode (Default): Traditional MCP server communication via standard input/output
RAPID_API_KEY_IMDB)HTTP Mode: RESTful HTTP transport with CORS support
PORT environment variable)All data retrieval tools implement pagination to enhance AI agent performance:
start parameter (default: 0)get_top_250_movies(start=5) returns items 6-10The server implements an efficient caching system to improve performance and reduce API calls:
The cache size and expiration time can be adjusted in src/main.py:
# Defaults: 600 seconds (10 minutes) and 100 cache keys # You can customize by modifying the ResponseCache instantiation: response_cache = ResponseCache(max_size=100, expiry_seconds=600) # Example with custom values: # response_cache = ResponseCache(max_size=50, expiry_seconds=120)
| Problem | Solution | 
|---|---|
| API key not recognized | Stdio mode: Ensure the RAPID_API_KEY_IMDB environment variable is properly set. HTTP mode: Verify the rapidApiKeyImdb is provided in the Smithery configuration | 
| Rate limit exceeded | Check your RapidAPI subscription tier and limits at RapidAPI Dashboard | 
| Timeout errors | The server has a 30-second timeout; for large requests, try limiting parameters or using pagination | 
| Empty results | Try broader search terms or check if the content exists in IMDb's database | 
| High memory usage | If running for extended periods with many unique queries, restart the server occasionally to clear the cache | 
| Port already in use | Change the port using the PORT environment variable (HTTP mode only): PORT=8082 python src/main.py | 
| Import errors | Ensure all dependencies are installed: uv sync or pip install mcp[cli] requests smithery | 
| Connection refused (Docker) | Ensure the container is running: docker ps and check the logs: docker logs imdb_server | 
This MCP server is available under the MIT License.