Skip to main content
Glama
danish-mar

IMDb MCP Server

by danish-mar

IMDb MCP Server 🎬

A powerful Model Context Protocol (MCP) server for searching, discovering, and playing content from IMDb. Built with FastMCP, this server provides a robust bridge between LLMs and movie metadata, featuring a custom playback layer and a modern web dashboard.

✨ Features

  • 🚀 FastMCP Engine: High-performance MCP implementation over streamable HTTP.

  • 🔍 Intelligent Search: Patched search logic using the IMDb Autocomplete API for reliable, unauthenticated title discovery.

  • 📺 Playback Layer: Direct integration with playimdb.com for instant streaming links.

  • 📊 Monitoring Dashboard: Password-protected WebUI to monitor metrics, tools, and health in real-time.

  • 🐳 Docker Ready: Optimized multi-stage Dockerfile for easy deployment.

  • 🤖 GitHub Actions: Automated CI/CD workflow to build and push images to GHCR on release tags.

Related MCP server: Movie MCP Server

🛠️ Tools Included

Tool

Description

imdb_search_title

Search for movies, series, or games. Returns clean metadata including IDs.

imdb_get_public_list_items

Fetch all items from any public IMDb list by its ID.

play_movie

Generates a direct playimdb.com streaming URL for a given IMDb ID.

search_and_play

The Ultimate Tool: Searches for a title and returns the play URL + full details in a single call.

🚀 Quick Start

1. Install dependencies

npm install

2. Configure Environment

cp .env.example .env

Edit .env to set your WEBUI_PASSWORD.

3. Run Development Server

npm run dev

🌐 Endpoints

  • MCP Endpoint: http://127.0.0.1:8080/mcp

  • Dashboard: http://127.0.0.1:8080/dashboard

  • Health Check: http://127.0.0.1:8080/health

🐳 Docker Deployment

Build the image locally:

docker build -t imdb-mcp .

Run the container:

docker run --rm \
  -p 8080:8080 \
  -e HOST=0.0.0.0 \
  -e PORT=8080 \
  -e WEBUI_PASSWORD=your-secure-password \
  -e WEBUI_SESSION_SECRET=your-secret \
  imdb-mcp

Docker Compose

Alternatively, use Docker Compose to manage the container:

docker-compose up -d

Example docker-compose.yml:

services:
  imdb-mcp:
    image: ghcr.io/danish-mar/imdb-mcp:latest
    ports:
      - "8080:8080"
    environment:
      - WEBUI_PASSWORD=your-password

📁 Project Structure

src/
  index.ts       # Entry point & Server initialization
  config.ts      # App configuration & Env loading
  server.ts      # FastMCP instance setup
  tools/         # IMDb tool implementations (Search, Playback, etc.)
  webui/         # Hono routes for the dashboard
  lib/           # Auth & formatting utilities
views/           # EJS templates for the WebUI
.github/         # GitHub Actions workflows for Docker publishing

📝 Notes

  • Search Patch: This server uses a custom fallback to the IMDb Autocomplete API because the standard imdb-core GraphQL hashes are currently outdated.

  • Authentication: Most tools are stateless and don't require IMDb cookies. For private list access, you can extend the imdbClient session in src/tools/index.ts.

  • Playback: Playback URLs point to third-party providers; use responsibly.


Built with ❤️ using FastMCP and TypeScript.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    A Model Context Protocol server that enables searching and retrieving detailed information about movies and TV shows using The Movie Database (TMDB) API.
    1
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables access to IMDB movie and entertainment data through the Model Context Protocol. Note: The README describes a notes system but the project name suggests IMDB functionality.
    MIT
  • F
    license
    A
    quality
    D
    maintenance
    An MCP server that wraps the TMDB API, enabling search of movies and TV shows, retrieval of details, trending titles, recommendations, and streaming provider information.
    8
    -