Skip to main content
Glama
ho-ju
by ho-ju

AMC MCP Server 🎬

AMC Theatres向けの包括的な映画予約体験を提供するModel Context Protocol (MCP)サーバーです。このサーバーにより、会話型AIアシスタントは、シンプルなAPIインターフェースを通じて、ユーザーが映画の発見、上映時間の検索、座席の予約、支払い処理を行うのを支援できます。

機能 ✨

  • 映画検索: 現在上映中の映画を閲覧し、パーソナライズされたおすすめを取得

  • 上映時間検索: 場所、日付、映画で利用可能な上映時間を検索

  • 座席選択: インタラクティブな座席マップを表示し、空き状況を確認

  • 予約管理: リアルタイムの空き状況チェックで座席を予約

  • 支払い処理: 確認レシート付きのモック支払いトランザクションを処理

  • 複数ロケーション対応: 複数のAMCシアターのロケーションを横断して検索

Related MCP server: Travel Amadeus MCP Server

クイックスタート 🚀

前提条件

  • Python 3.8+

  • Docker(オプション、コンテナ化デプロイ用)

インストール

オプション1: ローカルインストール

  1. リポジトリをクローン:

git clone <repository-url>
cd amc-mcp
  1. 依存関係をインストール:

pip install -r requirements.txt
  1. パッケージをインストール:

pip install -e .
  1. サーバーを実行:

python -m amc_mcp.fastmcp_server

オプション2: Dockerデプロイ

  1. Docker Composeでビルドして実行:

docker-compose up --build
  1. または手動でビルドして実行:

docker build -t amc-mcp .
docker run -it amc-mcp

MCPツールリファレンス 🛠️

1. get_now_showing

指定された場所で現在上映中の映画のリストを返します。

入力:

{
  "location": "Boston, MA"
}

出力:

{
  "location": "Boston, MA",
  "movies": [
    {
      "movie_id": "mv001",
      "title": "Dune: Part Two",
      "rating": "PG-13",
      "duration": 166,
      "genre": "Sci-Fi/Action",
      "description": "Paul Atreides unites with Chani..."
    }
  ]
}

2. get_recommendations

気分、ジャンル、または好みに基づいて映画を提案します。

入力:

{
  "genre": "action",
  "mood": "exciting"
}

出力:

{
  "criteria": {"genre": "action", "mood": "exciting"},
  "recommendations": [...]
}

3. get_showtimes

特定の映画と場所の利用可能な上映時間を取得します。

入力:

{
  "movie_id": "mv001",
  "date": "2025-10-28",
  "location": "Boston, MA"
}

出力:

{
  "movie": {"id": "mv001", "title": "Dune: Part Two"},
  "date": "2025-10-28",
  "location": "Boston, MA",
  "showtimes": [
    {
      "showtime_id": "st001",
      "theater_name": "AMC Boston Common 19",
      "theater_address": "175 Tremont Street",
      "time": "14:00",
      "format": "IMAX",
      "price": 18.50
    }
  ]
}

4. get_seat_map

特定の上映時間の利用可能な座席と予約済みの座席を表示します。

入力:

{
  "showtime_id": "st001"
}

出力:

{
  "showtime_id": "st001",
  "movie": "Dune: Part Two",
  "theater": "AMC Boston Common 19",
  "date": "2025-10-28",
  "time": "14:00",
  "seat_map": [
    {
      "seat_number": "A5",
      "row": "A",
      "column": 5,
      "is_available": true,
      "price_tier": "Standard",
      "price": 18.50
    }
  ]
}

5. book_seats

選択した座席をユーザー用に予約します。

入力:

{
  "showtime_id": "st001",
  "seats": ["A5", "A6"],
  "user_id": "user123"
}

出力:

{
  "booking_id": "booking-uuid",
  "status": "pending",
  "movie": "Dune: Part Two",
  "theater": "AMC Boston Common 19",
  "date": "2025-10-28",
  "time": "14:00",
  "seats": ["A5", "A6"],
  "total_price": 37.00
}

6. process_payment

シミュレートされた支払いトランザクションを処理します。

入力:

{
  "booking_id": "booking-uuid",
  "payment_method": "card",
  "amount": 37.00
}

出力:

{
  "payment_id": "payment-uuid",
  "payment_status": "success",
  "booking_id": "booking-uuid",
  "receipt_url": "https://amc.com/receipts/payment-uuid",
  "confirmation": {
    "movie": "Dune: Part Two",
    "theater": "AMC Boston Common 19",
    "date": "2025-10-28",
    "time": "14:00",
    "seats": ["A5", "A6"],
    "total_paid": 37.00
  }
}

会話フローの例 💬

典型的な映画予約の会話は次のように進みます:

  1. ユーザー: 「今夜、近くでアクション映画を探して。」

    • サーバー呼び出し: get_now_showing + get_recommendations

    • 返り値: 上映時間付きのアクション映画のリスト

  2. ユーザー: 「Dune: Part Twoの午後8時の座席を2つ予約して。」

    • サーバー呼び出し: get_showtimesget_seat_mapbook_seats

    • 返り値: 座席選択と予約確認

  3. ユーザー: 「カードで支払う。」

    • サーバー呼び出し: process_payment

    • 返り値: デジタルレシート付きの支払い確認

アーキテクチャ 🏗️

amc-mcp/
├── src/
│   └── amc_mcp/
│       ├── __init__.py
│       └── server.py          # Main MCP server implementation
├── data/
│   ├── movies.json           # Movie catalog
│   ├── theaters.json         # Theater locations
│   ├── showtimes.json        # Showtime schedules
│   └── seats.json           # Seat maps by showtime
├── config/
│   └── nginx.conf           # Web server configuration
├── Dockerfile               # Container configuration
├── docker-compose.yml       # Multi-service orchestration
├── requirements.txt         # Python dependencies
├── pyproject.toml          # Package configuration
└── README.md               # This file

データモデル 📊

Movie

{
  "movie_id": str,
  "title": str,
  "rating": str,         # PG, PG-13, R, etc.
  "duration": int,       # Minutes
  "genre": str,
  "description": str,
  "poster_url": str
}

Theater

{
  "theater_id": str,
  "name": str,
  "address": str,
  "city": str,
  "state": str,
  "zip_code": str
}

Showtime

{
  "showtime_id": str,
  "movie_id": str,
  "theater_id": str,
  "date": str,           # YYYY-MM-DD
  "time": str,           # HH:MM
  "format": str,         # Standard, IMAX, 3D, Dolby
  "price": float
}

開発 👨💻

新しい映画の追加

data/movies.json を編集して新しい映画を追加:

{
  "movie_id": "mv011",
  "title": "New Movie Title",
  "rating": "PG-13",
  "duration": 120,
  "genre": "Action",
  "description": "Description of the movie...",
  "poster_url": "https://example.com/poster.jpg"
}

新しいシアターの追加

data/theaters.json を編集:

{
  "theater_id": "th011",
  "name": "AMC New Location 15",
  "address": "123 Main Street",
  "city": "New City",
  "state": "NY",
  "zip_code": "12345"
}

上映時間の追加

data/showtimes.jsondata/seats.json を編集して、新しい上映時間と対応する座席マップを追加します。

テスト

手動テスト

MCPインスペクターを使用するか、MCP互換のクライアントに接続して、個々のツールをテストできます。

Claude Desktopでのテスト

  1. Claude Desktopを設定してMCPサーバーに接続

  2. 自然言語を使用して予約フローをテスト

  3. 例: 「今夜ボストンで上映中のSF映画を探して」

設定 ⚙️

環境変数

  • PYTHONPATH: 適切なモジュール解決のために /app/src に設定

  • PYTHONUNBUFFERED: リアルタイムログのために 1 に設定

  • MCP_LOG_LEVEL: ログレベルを設定(DEBUG、INFO、WARNING、ERROR)

Docker設定

サーバーは軽量なPython 3.11コンテナで実行され、以下を備えています:

  • セキュリティのための非rootユーザー

  • 監視のためのヘルスチェック

  • データ永続化のためのボリュームマウント

  • ネットワーク分離

セキュリティに関する考慮事項 🔒

これはデモ目的のモック実装です。本番環境では:

  1. 支払い処理: 実際の支払いゲートウェイ(Stripe、PayPal)と統合

  2. 認証: ユーザー認証と認可を追加

  3. データ検証: 包括的な入力検証を実装

  4. レート制限: APIレート制限を追加

  5. 暗号化: HTTPSを使用し、機密データを暗号化

  6. データベース: JSONファイルを実際のデータベースに置き換え

  7. ログ: 構造化ログと監視を実装

将来の拡張機能 🔮

  • 実際のAMC API統合: 実際のAMC Theatres APIに接続

  • ユーザーアカウント: 永続的なユーザープロファイルと予約履歴

  • グループ予約: 複数のユーザーが一緒に予約するためのサポート

  • ロイヤルティプログラム: AMC Stubs統合

  • モバイルチケット: モバイル入場用のQRコードを生成

  • 座席レコメンデーション: AIによる最適な座席提案

  • 価格アラート: 割引やプロモーションをユーザーに通知

  • ソーシャル機能: 友人と映画の予定を共有

  • アクセシビリティ: ADA準拠の座席選択

  • 多言語対応: 国際言語サポート

コントリビューション 🤝

  1. リポジトリをフォーク

  2. フィーチャーブランチを作成: git checkout -b feature/new-feature

  3. 変更を加えてテストを追加

  4. 変更をコミット: git commit -am 'Add new feature'

  5. ブランチにプッシュ: git push origin feature/new-feature

  6. プルリクエストを送信

ライセンス 📄

このプロジェクトはMITライセンスの下でライセンスされています。詳細はLICENSEファイルを参照してください。

サポート 💬

質問、問題、機能リクエストについては:

  • GitHubリポジトリでイシューを作成

  • 一般的な解決策についてはドキュメントを確認

  • 例の会話フローを参照


楽しい映画予約を! 🍿🎬

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

  • Discover and book businesses via AI agents.

  • An AI concierge that turns static forms into adaptive AI conversations. From any MCP client.

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

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/ho-ju/amc-mcp-hoju'

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