Skip to main content
Glama
aditya17koushik

Movie Booking MCP Server

🎬 Movie Booking MCP Server

A Model Context Protocol (MCP) server that lets Claude Desktop search for movies, check your Google Calendar, and book tickets — all through natural conversation.


✨ Features

  • Search movies via IMDb (RapidAPI) with real ratings, genres, and show times

  • Check calendar conflicts via Google Calendar before booking

  • Book tickets with a confirmed booking ID, seat type, and INR pricing

  • Demo mode — works out of the box without any API keys


Related MCP server: Google Calendar MCP Server

🗂️ Project Structure

C:\AI_CODES\MCP\
├── server.py          ← MCP server (3 tools)
├── .env               ← API keys (never commit this)
├── requirements.txt   ← Python dependencies
└── venv\              ← Virtual environment

⚡ Quick Start

1. Clone & set up environment

cd C:\AI_CODES\MCP
python -m venv venv
venv\Scripts\activate
pip install mcp fastmcp requests python-dotenv

2. Create .env

RAPIDAPI_KEY=your_rapidapi_key_here
GOOGLE_CALENDAR_ID=primary

No API key? Leave RAPIDAPI_KEY blank — the server automatically uses built-in demo data.

3. Configure Claude Desktop

Add to %APPDATA%\Claude\claude_desktop_config.json:

{
  "mcpServers": {
    "movie-booking": {
      "command": "C:\\AI_CODES\\MCP\\venv\\Scripts\\python.exe",
      "args": ["-u", "C:\\AI_CODES\\MCP\\server.py"]
    }
  }
}

4. Restart Claude Desktop

The server should appear with a green running badge under Settings → Developer → Local MCP Servers.


🛠️ Tools

Tool

Description

search_movies

Search IMDb for movies by name and city

check_calendar

Check Google Calendar for conflicts on a date/time

book_movie_ticket

Confirm a booking and get a unique booking ID

Seat Types & Pricing

Type

Price (INR)

standard

₹ 200

premium

₹ 350

recliner

₹ 500


💬 Example Prompts

Is "Inception" playing in Mumbai?
Am I free on June 20, 2025 at 8 PM for a movie?
Search for "Interstellar" in Hyderabad, check if I'm free on
June 25 at 8 PM, and book 2 premium tickets if the slot is clear.

🔧 How @mcp.tool() Works

Each tool is a plain Python function decorated with @mcp.tool(). FastMCP automatically:

  • Generates a JSON schema from the type hints

  • Uses the docstring as the tool description Claude reads

  • Handles serialisation of the returned dict to JSON

@mcp.tool()
def search_movies(movie_name: str, city: str = "Mumbai") -> dict:
    """
    Search for movies currently in theaters using the IMDb API.

    Args:
        movie_name: The name of the movie to search for.
        city: City to find local show times (default: Mumbai).
    """
    # ...

The server runs over stdio — no HTTP server or open port needed.


🔑 Getting a RapidAPI Key

  1. Sign up at rapidapi.com

  2. Subscribe to IMDb8 API (free tier)

  3. Subscribe to Google Calendar API

  4. Copy your key and paste it into .env


🐛 Troubleshooting

Symptom

Fix

Server not appearing in Claude

Fully quit & restart Claude Desktop; check JSON config syntax

ModuleNotFoundError: fastmcp

Activate venv, run pip install fastmcp

Demo data (RAPIDAPI_KEY not set)

Expected — set key in .env for live data

HTTP 401 / 403

Invalid RAPIDAPI_KEY

HTTP 429

Rate limit hit — wait 1 minute

"You've hit your message limit"

Claude Desktop usage cap — not a server issue; wait for reset


📄 License

MIT

F
license - not found
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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

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/aditya17koushik/MCP-movie-booking-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server