Movie Booking Assistant
Provides integration for searching movies, checking showtimes, and managing ticket bookings via Gemini's function-calling capabilities.
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., "@Movie Booking AssistantFind showtimes for Oppenheimer at PVR Orion Mall tonight"
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.
Movie Booking Assistant
A demo movie booking system for Bangalore cinemas, built to showcase two ways of integrating AI with a Python backend:
Gemini chat — a terminal chatbot powered by Google Gemini with function calling
MCP server — exposes the same APIs as tools for MCP-compatible AI clients (e.g. Claude)
Project Structure
demo1/
├── api_v1.py # Movies & Showtimes API
├── api_v2.py # Bookings API
├── api_v3.py # Theatres & Seats API
├── chat.py # Gemini AI terminal chatbot
└── mcp_server.py # MCP server (for Claude / other MCP clients)API Files
File | Responsibility | Key Functions |
| Movies & showtimes |
|
| Bookings |
|
| Theatres & seats |
|
All data is hardcoded in-memory — no database required.
How It Works
Gemini Chat (chat.py)
You type a message
→ Sent to Gemini API
→ Gemini picks a tool to call (based on function docstrings)
→ Your code runs the function locally
→ Result sent back to Gemini
→ Gemini replies in plain EnglishGemini never runs your code directly. It reads the function name, parameters, and docstring to decide what to call — your code executes it and reports back.
MCP Server (mcp_server.py)
FastMCP automatically converts each FastAPI app into MCP tools, namespaced as movies_*, bookings_*, and theatres_*. An MCP-compatible client (like Claude Code) connects to the server and calls tools the same way Gemini does — but over the MCP protocol instead.
Setup
1. Install dependencies
pip install -r requirements.txt2. Set your Gemini API key
Create a .env file in the project root:
GEMINI_API_KEY=your_key_hereGet a key at aistudio.google.com.
Usage
Run the Gemini chatbot
python chat.pyExample interaction:
You: What sci-fi movies are showing today?
[calling tool: search_movies with {'genre': 'Sci-Fi'}]
Gemini: There are two sci-fi movies showing today — Inception and The Matrix...
You: Book 2 tickets for Inception at PVR Orion Mall
[calling tool: get_showtimes with {'movie_id': 'MOVIE-003'}]
[calling tool: book_tickets with {'showtime_id': 'SHOW-001', 'seats': 2, 'user_name': 'Joshua'}]
Gemini: Done! I've booked 2 tickets for Inception...Type quit or exit to stop.
Run the MCP server
python mcp_server.pyThen connect any MCP-compatible client to it. For Claude Code, add it to your MCP settings pointing to this script.
Data Overview
10 movies — including Inception, The Matrix, Oppenheimer, and more
10 theatres — across Bangalore (PVR, INOX, Cinepolis)
15 showtimes — across 2 days, with 2D and IMAX options
3 pre-existing bookings — for user "Joshua"
This server cannot be installed
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/joshlijo/mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server