AMC MCP Server
AMC MCP Server 🎬
Ein Model Context Protocol (MCP)-Server, der ein umfassendes Filmbuchungserlebnis für AMC Theatres bietet. Dieser Server ermöglicht es KI-Assistenten im Chat, Nutzern beim Entdecken von Filmen, Finden von Vorstellungen, Buchen von Sitzplätzen und Abwickeln von Zahlungen über eine einfache API-Schnittstelle zu helfen.
Funktionen ✨
Filmentdeckung: Aktuell laufende Filme durchsuchen und personalisierte Empfehlungen erhalten
Vorstellungssuche: Verfügbare Vorstellungen nach Ort, Datum und Film finden
Sitzplatzauswahl: Interaktive Sitzplankarten anzeigen und Verfügbarkeit prüfen
Buchungsverwaltung: Sitzplätze mit Echtzeit-Verfügbarkeitsprüfung reservieren
Zahlungsabwicklung: Simulierte Zahlungstransaktionen mit Buchungsbestätigungen verarbeiten
Multi-Standort-Unterstützung: Suche über mehrere AMC-Theaterstandorte hinweg
Related MCP server: Travel Amadeus MCP Server
Schnellstart 🚀
Voraussetzungen
Python 3.8+
Docker (optional, für Container-Bereitstellung)
Installation
Option 1: Lokale Installation
Repository klonen:
git clone <repository-url>
cd amc-mcpAbhängigkeiten installieren:
pip install -r requirements.txtPaket installieren:
pip install -e .Server starten:
python -m amc_mcp.fastmcp_serverOption 2: Docker-Bereitstellung
Mit Docker Compose erstellen und starten:
docker-compose up --buildOder manuell erstellen und starten:
docker build -t amc-mcp .
docker run -it amc-mcpMCP-Tool-Referenz 🛠️
1. get_now_showing
Gibt eine Liste der aktuell laufenden Filme an einem bestimmten Ort zurück.
Eingabe:
{
"location": "Boston, MA"
}Ausgabe:
{
"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
Schlägt Filme basierend auf Stimmung, Genre oder Vorlieben vor.
Eingabe:
{
"genre": "action",
"mood": "exciting"
}Ausgabe:
{
"criteria": {"genre": "action", "mood": "exciting"},
"recommendations": [...]
}3. get_showtimes
Ruft verfügbare Vorstellungen für einen bestimmten Film und Ort ab.
Eingabe:
{
"movie_id": "mv001",
"date": "2025-10-28",
"location": "Boston, MA"
}Ausgabe:
{
"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
Zeigt verfügbare und reservierte Sitzplätze für eine bestimmte Vorstellung an.
Eingabe:
{
"showtime_id": "st001"
}Ausgabe:
{
"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
Reserviert ausgewählte Sitzplätze für den Nutzer.
Eingabe:
{
"showtime_id": "st001",
"seats": ["A5", "A6"],
"user_id": "user123"
}Ausgabe:
{
"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
Wickelt eine simulierte Zahlungstransaktion ab.
Eingabe:
{
"booking_id": "booking-uuid",
"payment_method": "card",
"amount": 37.00
}Ausgabe:
{
"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
}
}Beispiel für einen Gesprächsablauf 💬
So könnte ein typisches Filmbuchungsgespräch ablaufen:
Nutzer: „Finde einen Actionfilm in meiner Nähe für heute Abend."
Serveraufrufe:
get_now_showing+get_recommendationsRückgabe: Liste von Actionfilmen mit Vorstellungszeiten
Nutzer: „Buche zwei Sitzplätze für Dune: Teil Zwei um 20 Uhr."
Serveraufrufe:
get_showtimes→get_seat_map→book_seatsRückgabe: Sitzplatzauswahl und Buchungsbestätigung
Nutzer: „Bezahle mit meiner Karte."
Serveraufrufe:
process_paymentRückgabe: Zahlungsbestätigung mit digitaler Quittung
Architektur 🏗️
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 fileDatenmodelle 📊
Film
{
"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
}Vorstellung
{
"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
}Entwicklung 👨💻
Neue Filme hinzufügen
Bearbeiten Sie data/movies.json, um neue Filme hinzuzufügen:
{
"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"
}Neue Theater hinzufügen
Bearbeiten Sie data/theaters.json:
{
"theater_id": "th011",
"name": "AMC New Location 15",
"address": "123 Main Street",
"city": "New City",
"state": "NY",
"zip_code": "12345"
}Vorstellungen hinzufügen
Bearbeiten Sie data/showtimes.json und data/seats.json, um neue Vorstellungen und die zugehörigen Sitzplankarten hinzuzufügen.
Testen
Manuelles Testen
Sie können einzelne Tools mit dem MCP-Inspektor oder durch Verbindung mit einem beliebigen MCP-kompatiblen Client testen.
Testen mit Claude Desktop
Konfigurieren Sie Claude Desktop so, dass es eine Verbindung zu Ihrem MCP-Server herstellt
Verwenden Sie natürliche Sprache, um den Buchungsablauf zu testen
Beispiel: „Finde mir einen Sci-Fi-Film, der heute Abend in Boston läuft"
Konfiguration ⚙️
Umgebungsvariablen
PYTHONPATH: Auf/app/srcsetzen für eine korrekte ModulauflösungPYTHONUNBUFFERED: Auf1setzen für Echtzeit-LoggingMCP_LOG_LEVEL: Protokollierungsebene festlegen (DEBUG, INFO, WARNING, ERROR)
Docker-Konfiguration
Der Server läuft in einem schlanken Python-3.11-Container mit:
Nicht-Root-Benutzer für Sicherheit
Health Checks für Überwachung
Volume-Mounts für Datenpersistenz
Netzwerk-Isolation
Sicherheitshinweise 🔒
Dies ist eine Demo-Implementierung zu Demonstrationszwecken. In der Produktion:
Zahlungsabwicklung: Integration mit echten Zahlungsdienstleistern (Stripe, PayPal)
Authentifizierung: Benutzerauthentifizierung und -autorisierung hinzufügen
Datenvalidierung: Umfassende Eingabevalidierung implementieren
Ratenbegrenzung: API-Ratenbegrenzung hinzufügen
Verschlüsselung: HTTPS verwenden und sensible Daten verschlüsseln
Datenbank: JSON-Dateien durch eine echte Datenbank ersetzen
Protokollierung: Strukturierte Protokollierung und Überwachung implementieren
Zukünftige Erweiterungen 🔮
Echte AMC-API-Integration: Anbindung an die tatsächliche AMC-Theatres-API
Benutzerkonten: Dauerhafte Benutzerprofile und Buchungshistorie
Gruppenbuchungen: Unterstützung für mehrere Nutzer, die gemeinsam buchen
Treueprogramme: AMC-Stubs-Integration
Mobile Tickets: QR-Codes für den mobilen Eintritt generieren
Sitzplatzempfehlungen: KI-gestützte optimale Sitzplatzvorschläge
Preisalarme: Benachrichtigung über Rabatte und Aktionen
Soziale Funktionen: Filmpläne mit Freunden teilen
Barrierefreiheit: Barrierefreie Sitzplatzauswahl gemäß ADA
Mehrsprachigkeit: Internationale Sprachunterstützung
Mitwirken 🤝
Repository forken
Einen Feature-Branch erstellen:
git checkout -b feature/neue-funktionÄnderungen vornehmen und Tests hinzufügen
Änderungen committen:
git commit -am 'Neue Funktion hinzufügen'Branch pushen:
git push origin feature/neue-funktionEinen Pull-Request einreichen
Lizenz 📄
Dieses Projekt ist unter der MIT-Lizenz lizenziert – siehe die Datei LICENSE.
Support 💬
Bei Fragen, Problemen oder Funktionswünschen:
Erstellen Sie ein Issue im GitHub-Repository
Lesen Sie die Dokumentation für allgemeine Lösungen
Sehen Sie sich die Beispiel-Gesprächsabläufe an
Viel Spaß beim Filmbuchen! 🍿🎬
Maintenance
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
- AlicenseAqualityCmaintenanceProvides 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.61MIT
- AlicenseNot gradedqualityDmaintenanceProvides access to 50+ Amadeus Travel APIs for AI assistants to search and book flights, hotels, activities, and ground transfers, along with travel analytics, price predictions, and comprehensive travel reference data.10MIT
- FlicenseNot gradedqualityDmaintenanceProvides a suite of tools for searching movies, checking showtimes, and managing ticket bookings for Bangalore cinemas. It enables AI clients to handle end-to-end movie theater interactions including seat availability checks and reservation management.
- AlicenseAqualityDmaintenanceEnables conversational AI assistants to help users discover movies, find showtimes, book seats, and process payments for AMC Theatres through a simple API interface.6MIT
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.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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