Skip to main content
Glama

🎬 BookMyShow MCP 웹스크래퍼

Python Version FastAPI MCP Server License Tests

BookMyShow용 Python 스크래퍼 및 API 래퍼로, 영화 목록, 극장 상영 시간, 티켓 가격, 공연장 위치 정보(GPS 위도·경도 포함)를 추출합니다.

모든 기능을 FastAPI REST 서버, MCP 도구(Claude 또는 Cursor 같은 AI 어시스턴트용), CLI 도구, 내장 웹 대시보드로 패키징합니다.


✨ 주요 기능

  • 영화 및 이벤트 목록 조회: 인도 주요 도시(뭄바이, 델리-NCR, 벵갈루루, 첸나이 등)의 상영 중·개봉 예정 영화 목록을 언어 및 장르 필터와 함께 제공합니다.

  • 상영 시간 및 가격 조회: 영화관 상영 시간, 스크린 포맷(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)로 내보냅니다.

  • 웹 대시보드: 영화를 탐색하고 엔드포인트를 테스트할 수 있는 라이트 테마 대시보드를 제공합니다.


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