Skip to main content
Glama

🎬 BookMyShow MCP Webscraper

Python Version FastAPI MCP Server License Tests

BookMyShow 用の Python スクレイパー兼 API ラッパーで、映画の上映リスト、劇場の上映時間、チケット価格、会場の位置情報(GPS 緯度・経度を含む)を抽出します。

すべてを FastAPI REST サーバーMCP ツール(Claude や Cursor などの AI アシスタント用)、CLI ツール、組み込みの Web ダッシュボードにパッケージ化しています。


✨ 特徴

  • 映画・イベントの一覧表示: インドの各都市(ムンバイ、デリー首都圏、ベンガルール、チェンナイなど)で上映中または近日公開の映画リストを、言語・ジャンルのフィルター付きで取得します。

  • 上映時間と料金の取得: 映画館の上映時間、スクリーン形式(2D、3D、IMAX、4DX)、チケット価格帯(₹)、座席の空き状況を取得します。

  • 会場の場所と緯度・経度の抽出: 劇場の住所、正確な緯度・経度の座標、会場の設備(駐車場、フードコート、M チケット入場)を取得します。

  • 映画のあらすじと予告編の取得: あらすじ、キャスト・スタッフ情報、評価、ポスター、YouTube の予告編リンクを取得します。

  • MCP サーバーとして動作: bms-mcp(ローカルでは mcp_server.py)を介して、AI ツール(Claude Desktop、Cursor、Antigravity)でそのまま動作します。

  • FastAPI REST サーバー: 対話型の Swagger API ドキュメント(/docs)。

  • ターミナル CLI: 検索、一覧表示、エクスポートのためのターミナルインターフェース。

  • ファイルへのエクスポート: スクレイピングしたデータを JSON、CSV、Excel(.xlsx)にエクスポートします。

  • Web ダッシュボード: 映画の閲覧とエンドポイントのテストができるシンプルなライトテーマのダッシュボード。


Related MCP server: Movie Booking Assistant

🚀 クイックスタートとインストール

git clone https://github.com/m0han-r/bookmyshow-mcp-webscraper.git
cd bookmyshow-mcp-webscraper
pip install -r requirements.txt

🔌 API と MCP ツール

REST エンドポイント

MCP ツール名

パラメータ

説明

GET /api/v1/cities

bms_get_cities

popular_only

対応するインドの地域と主要都市

GET /api/v1/movies

bms_get_movies

city, language, genre

言語・ジャンルフィルター付きの上映中映画リスト

GET /api/v1/events

bms_get_events

city, category

ライブイベント、お笑いショー、音楽コンサート、スポーツ

GET /api/v1/movies/{code}

bms_get_movie_details

movie_code, city

あらすじ、キャスト、スタッフ、評価、ポスター、予告編リンク

GET /api/v1/showtimes

bms_get_showtimes

movie_code, city, date, language, format

上映時間、スクリーン形式(IMAX/3D/4DX)、料金、座席、言語フィルタリング

GET /api/v1/venues/{code}

bms_get_venue_details

venue_code, city

映画館の住所、正確な緯度、経度、設備

GET /api/v1/search

bms_search

query, city

映画とライブイベントの横断検索

会場レスポンスのサンプル(GET /api/v1/venues/PCAN?city=chennai):

{
  "success": true,
  "count": 1,
  "data": {
    "venue_code": "PCAN",
    "venue_name": "PVR: VR Chennai, Anna Nagar",
    "address": "3rd Floor, VR Mall, Metro Zone, Jawaharlal Nehru Road, Anna Nagar, Chennai, Tamil Nadu 600040",
    "latitude": 13.082561,
    "longitude": 80.194803,
    "facilities": ["Ticket Cancellation", "F&B", "MTicket", "Parking Facility", "Food Court"]
  }
}

🌐 REST API サーバーの起動

サーバーを起動します:

python main.py

🤖 MCP サーバーのセットアップ

uvx を使用して AI アシスタント(Claude Desktop、Cursor、Antigravity)を接続します。uvx は GitHub からパッケージを自動的に取得し、pyproject.toml に登録された bms-mcp スクリプトのエントリポイントを実行します。

Claude Desktop / Cursor / Antigravity の設定

%APPDATA%\Claude\claude_desktop_config.json(または .cursor/mcp.json)に追加します:

{
  "mcpServers": {
    "bookmyshow": {
      "command": "uvx",
      "args": [
        "--from",
        "git+https://github.com/m0han-r/bookmyshow-mcp-webscraper.git",
        "bms-mcp"
      ]
    }
  }
}

ターミナルでの直接実行

PowerShell またはコマンドプロンプトでネイティブに実行します(uv は Windows 上で bms-mcp.exe ラッパーを生成して実行します):

uvx --from git+https://github.com/m0han-r/bookmyshow-mcp-webscraper.git bms-mcp

Claude Desktop / Cursor / Antigravity の設定

~/.config/Claude/claude_desktop_config.json に追加します:

{
  "mcpServers": {
    "bookmyshow": {
      "command": "uvx",
      "args": [
        "--from",
        "git+https://github.com/m0han-r/bookmyshow-mcp-webscraper.git",
        "bms-mcp"
      ]
    }
  }
}

ターミナルでの直接実行

Linux ターミナルで直接実行します:

uvx --from git+https://github.com/m0han-r/bookmyshow-mcp-webscraper.git bms-mcp

Claude Desktop / Cursor / Antigravity の設定

~/Library/Application Support/Claude/claude_desktop_config.json に追加します:

{
  "mcpServers": {
    "bookmyshow": {
      "command": "uvx",
      "args": [
        "--from",
        "git+https://github.com/m0han-r/bookmyshow-mcp-webscraper.git",
        "bms-mcp"
      ]
    }
  }
}

ターミナルでの直接実行

macOS ターミナル / zsh で直接実行します:

uvx --from git+https://github.com/m0han-r/bookmyshow-mcp-webscraper.git bms-mcp

リポジトリをローカルにクローンしている場合:

python mcp_server.py

🐍 Python での使用方法

from bms_scraper import BookMyShowScraper

scraper = BookMyShowScraper()

# Get active movies
movies = scraper.get_movies(city="mumbai", language="Hindi")

# Get venue coordinates
venue = scraper.get_venue_details(venue_code_or_url="PCAN", city="chennai")
print(f"📍 {venue.venue_name} - Lat: {venue.latitude}, Lon: {venue.longitude}")

# Get showtimes (supports language filters e.g. "tamil", "hindi", "all" and format filters e.g. "IMAX", "2D")
showtimes = scraper.get_showtimes(movie_code_or_url="ET00378770", city="chennai", date="20260827", language="tamil", format="2D")

💻 CLI の使用方法

依存関係をインストールせずに uvx 経由で CLI を直接実行するか、Python 経由でローカルに実行します:

# List popular cities via uvx
uvx --from git+https://github.com/m0han-r/bookmyshow-mcp-webscraper.git bms-cli cities --popular

# Scrape movies in Bengaluru and export to Excel
uvx --from git+https://github.com/m0han-r/bookmyshow-mcp-webscraper.git bms-cli movies --city bengaluru --language Hindi --export xlsx

# Scrape showtimes in Chennai for Tamil language with date and export to JSON
uvx --from git+https://github.com/m0han-r/bookmyshow-mcp-webscraper.git bms-cli showtimes --code ET00378770 --city chennai --date 20260827 --language tamil --export json
# List popular cities via uvx
uvx --from git+https://github.com/m0han-r/bookmyshow-mcp-webscraper.git bms-cli cities --popular

# Scrape movies in Bengaluru and export to Excel
uvx --from git+https://github.com/m0han-r/bookmyshow-mcp-webscraper.git bms-cli movies --city bengaluru --language Hindi --export xlsx

# Scrape showtimes in Chennai for Tamil language with date and export to JSON
uvx --from git+https://github.com/m0han-r/bookmyshow-mcp-webscraper.git bms-cli showtimes --code ET00378770 --city chennai --date 20260827 --language tamil --export json
# List popular cities
python -m bms_scraper.cli cities --popular

# Scrape movies in Bengaluru and export to Excel
python -m bms_scraper.cli movies --city bengaluru --language Hindi --export xlsx

# Scrape showtimes with language filter
python -m bms_scraper.cli showtimes --code ET00378770 --city chennai --date 20260827 --language tamil --format 2D

📊 データのエクスポート

from bms_scraper import BookMyShowScraper, DataExporter

scraper = BookMyShowScraper()
movies = scraper.get_movies(city="mumbai")

DataExporter.to_csv(movies, "movies.csv")
DataExporter.to_excel(movies, "movies.xlsx")
DataExporter.to_json(movies, "movies.json")

🧪 テストの実行

python -m pytest

⚖️ ライセンス

MIT ライセンスの下で配布されています。

Install Server
A
license - permissive license
A
quality
B
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.

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    Provides a comprehensive movie booking experience for AMC Theatres, enabling users to discover movies, find showtimes, select seats, and process payments through conversational AI. Supports multi-location theater search with real-time seat availability and booking management.
    6
    1
    MIT

View all related MCP servers

Related MCP Connectors

  • Live Google Maps business search, review, and photo data for AI agents over MCP.

  • AI marketplace — flights, tours, activities, transport & more via MCP. No auth required.

  • Free public MCP for AI agents — 193 tools, 44 workflows. No API key.

View all MCP Connectors

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/m0han-r/bookmyshow-mcp-webscraper'

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