Skip to main content
Glama

Movie Reservation MCP

MCP-обёртка для GraphQL API бронирования билетов в кино.

Этот репозиторий существует для того, чтобы MCP бронирования мог иметь собственный трекер задач, CI и конвейер артефактов, пока реализация извлекается из базовой линии golden-path/demo.

Запуск

uv run movie-reservation-mcp

Производственный контейнер работает с UID 10001 и прослушивает порт 8091:

docker build --tag movie-reservation-mcp:local .
docker run --rm --network host movie-reservation-mcp:local

Демо предполагает, что контейнеры MCP и API бронирования используют одно сетевое пространство имён задачи ECS, поэтому адрес нижестоящего сервиса по умолчанию остаётся 127.0.0.1:3000. Переопределите URL нижестоящих сервисов при независимом запуске контейнеров.

Значения по умолчанию:

  • Эндпоинт MCP: http://127.0.0.1:8091/mcp

  • Эндпоинт проверки состояния: http://127.0.0.1:8091/health

  • Нижестоящий GraphQL API: http://127.0.0.1:3000/graphql

  • Нижестоящий API проверки состояния: вычисляется как http://127.0.0.1:3000/health

browser -> Python agent -> recommendation MCP -> Rust recommendation API
                        -> reservation MCP -> NestJS reservation API

Полезные переменные окружения:

  • MOVIE_RESERVATION_GRAPHQL_URL

  • MOVIE_RESERVATION_HEALTH_URL

  • MOVIE_RESERVATION_API_TIMEOUT_SECONDS

  • PORT

  • HOST

Related MCP server: mcp-graphql-enhanced

Инструменты

  • reservation_get_catalog

    • Входные данные: необязательный movie_id, необязательный fault и необязательные поля распространения.

    • Вызывает GraphQL movies и screenings(movieId).

  • reservation_request_seats

    • Входные данные: screening_id, seat_ids, необязательный fault и необязательные поля распространения.

    • Вызывает GraphQL requestReservation(input).

  • reservation_get_request_status

    • Входные данные: reservation_request_id, необязательный fault и необязательные поля распространения.

    • Вызывает GraphQL reservationRequestStatus(id) и reservationResult(requestId).

  • reservation_health

    • Вызывает нижестоящий GET /health.

Инструменты пробрасывают:

  • traceparent

  • tracestate

  • X-Correlation-Id

  • X-Request-Id

  • X-Demo-Fault

Проверки

uv sync --frozen
uv run --frozen --no-sync pytest tests
uv run --frozen --no-sync pytest automation/tests
uv run --frozen --no-sync ruff check .
uv run --frozen --no-sync ruff format --check .
uv run --frozen --no-sync python -m compileall src tests automation

Пуши в main публикуют кандидата Linux AMD64 в GHCR как sha-<commit>. CI отключает автоматическую аттестацию реестра BuildKit, чтобы кандидат оставался манифестом одного образа, а затем фиксирует явное происхождение сборки GitHub относительно опубликованного дайджеста для шлюза допуска в окружение.

Maintenance

ActivityMaintained
ResponsivenessUnresponsive

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    D
    quality
    D
    maintenance
    An MCP server that allows users to search for movies, get detailed information, receive genre-based recommendations, and discover popular/trending films using OMDb and TMDb APIs.
    5
    13
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Enhanced MCP server for GraphQL with filtered introspection and full variable support.
    20
    2
    6,685
    2
    MIT
  • F
    license
    A
    quality
    D
    maintenance
    An MCP server that wraps The Movie Database (TMDB) API, enabling search for movies and TV shows, retrieval of movie details, recommendations, similar movies, trending content, streaming providers, and movie discovery.
    8
    -
  • F
    license
    Not graded
    quality
    D
    maintenance
    A robust MCP server that wraps The Movie Database API, enabling LLMs to search movies, get details, popular movies, and recommendations.
    -