Skip to main content
Glama

Movie Reservation MCP

MCP wrapper for the movie reservation GraphQL API.

This repository exists so the reservation MCP can have its own issue tracker, CI, and artifact pipeline while the implementation is extracted from the golden-path/demo baseline.

Run

uv run movie-reservation-mcp

The production container runs as UID 10001 and listens on port 8091:

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

The demo assumes the MCP and reservation API containers share one ECS task network namespace, so the default downstream address remains 127.0.0.1:3000. Override the downstream URLs when running the containers independently.

Defaults:

  • MCP endpoint: http://127.0.0.1:8091/mcp

  • Health endpoint: http://127.0.0.1:8091/health

  • Downstream GraphQL API: http://127.0.0.1:3000/graphql

  • Downstream health API: derived as http://127.0.0.1:3000/health

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

Useful environment variables:

  • MOVIE_RESERVATION_GRAPHQL_URL

  • MOVIE_RESERVATION_HEALTH_URL

  • MOVIE_RESERVATION_API_TIMEOUT_SECONDS

  • PORT

  • HOST

Related MCP server: mcp-graphql-enhanced

Tools

  • reservation_get_catalog

    • Inputs: optional movie_id, optional fault, and optional propagation fields.

    • Calls GraphQL movies and screenings(movieId).

  • reservation_request_seats

    • Inputs: screening_id, seat_ids, optional fault, and optional propagation fields.

    • Calls GraphQL requestReservation(input).

  • reservation_get_request_status

    • Inputs: reservation_request_id, optional fault, and optional propagation fields.

    • Calls GraphQL reservationRequestStatus(id) and reservationResult(requestId).

  • reservation_health

    • Calls downstream GET /health.

Tools forward:

  • traceparent

  • tracestate

  • X-Correlation-Id

  • X-Request-Id

  • X-Demo-Fault

Checks

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

Pushes to main publish a Linux AMD64 candidate to GHCR as sha-<commit>. CI disables BuildKit's automatic registry attestation to keep the candidate a single-image manifest, then records explicit GitHub build provenance against the published digest for the environment admission gate.

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.
    -