Skip to main content
Glama
movie-reservation-platform-lab

Movie Recommendation MCP

Movie Recommendation MCP

Wrapper de FastMCP alrededor de la API de recomendación de películas en Rust.

Este repositorio se extrajo de movie-reservation-platform-lab/movie-recommendation-service/axum-tools-mcp para que el componente MCP pueda tener un pipeline de CI y artefactos independiente.

Ejecución

uv run movie-recommendation-mcp

El contenedor de producción se ejecuta como UID 10001 y escucha en el puerto 8092:

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

La demo asume que los contenedores de MCP y de la API de recomendación comparten el mismo namespace de red de la tarea ECS, por lo que la dirección downstream predeterminada sigue siendo 127.0.0.1:8082. Sobrescribe la URL downstream al ejecutar los contenedores de forma independiente.

Valores predeterminados:

  • Endpoint MCP: http://127.0.0.1:8092/mcp

  • Endpoint de salud: http://127.0.0.1:8092/health

  • API downstream: http://127.0.0.1:8082

Variables de entorno útiles:

  • MOVIE_RECOMMENDATION_API_URL

  • AXUM_TOOLS_API_URL para compatibilidad con la extracción de la demo original

  • PORT

  • HOST

  • OTEL_SERVICE_NAME

  • OTEL_EXPORTER_OTLP_ENDPOINT

  • OTEL_EXPORTER_OTLP_PROTOCOL

  • OTEL_RESOURCE_ATTRIBUTES

Related MCP server: Weather Info MCP Server

Herramientas

  • recommendation_get_movies

    • Entradas: limit, preference opcional, fault opcional, traceparent opcional, tracestate opcional, correlation_id opcional, request_id opcional y demo_fault opcional.

    • Llama a Rust GET /recommendations.

    • Payload de éxito: {"ok": true, "service_name": "movie-recommendation-mcp", "fault": "<fault-or-none>", "recommendations": [...]}

    • Payload de error downstream: {"ok": false, "service_name": "movie-recommendation-mcp", "fault": "<fault-or-none>", "status_code": <int>, "error": "recommendation_dependency_failed"}

  • recommendation_health

    • Entradas: traceparent opcional, tracestate opcional, correlation_id opcional, request_id opcional y demo_fault opcional.

    • Llama a Rust GET /health.

    • Payload de éxito: {"ok": true, "service_name": "movie-recommendation-mcp", "health": {...}}

Ambas herramientas reenvían:

  • traceparent

  • tracestate

  • X-Correlation-Id

  • X-Request-Id

  • X-Demo-Fault

Decisiones de extracción

  • Mantener la ruta de importación interna de Python como axum_tools_mcp para este fragmento de extracción. El paquete público, el script de consola, el nombre del servicio, la imagen y el repositorio ya se llaman movie-recommendation-mcp; renombrar la ruta de importación añadiría trabajo innecesario sin cambiar el contrato MCP externo que consume el agente.

  • Mantener los nombres de las herramientas recommendation_get_movies y recommendation_health. La demo probada del agente de reservas incluyó recommendation_get_movies en la lista blanca y la llamó con los argumentos limit, preference, fault y de propagación.

  • Mantener AXUM_TOOLS_API_URL como respaldo de compatibilidad, pero preferir MOVIE_RECOMMENDATION_API_URL para la nueva configuración en tiempo de ejecución.

Contrato del artefacto

La infraestructura de la plataforma consume este componente como un artefacto de aplicación inmutable, no como código fuente:

  • Imagen OCI construida a partir del Dockerfile de este repositorio.

  • Referencia de imagen ECR privada fijada por digest: <account>.dkr.ecr.<region>.amazonaws.com/movie-recommendation-mcp@sha256:<64-hex-digest>.

  • Identificador de release independiente, como el SHA del commit de Git o la versión de release, registrado junto al digest por el repositorio de entorno/infraestructura que consume el componente.

  • Comando de ejecución: movie-recommendation-mcp.

  • Puerto del contenedor y PORT predeterminado: 8092.

  • Endpoint MCP: /mcp.

  • Endpoint de salud: /health.

  • La configuración de ejecución requerida se define mediante variables de entorno; la URL de la API downstream se proporciona con MOVIE_RECOMMENDATION_API_URL o con el respaldo de compatibilidad AXUM_TOOLS_API_URL.

  • La composición del despliegue, los manifiestos de entorno, el estado de promoción y los recursos de AWS quedan fuera de este repositorio.

Comprobaciones

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

Los pushes a main publican un candidato Linux AMD64 en GHCR como sha-<commit>. El CI desactiva la atestación automática de registro de BuildKit para mantener el candidato como un manifiesto de imagen única y, a continuación, registra la procedencia explícita de la compilación de GitHub contra el digest publicado para la puerta de admisión del entorno.

F
license - not found
Not graded
quality - not tested
C
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
    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
  • F
    license
    Not graded
    quality
    D
    maintenance
    Provides weather information through MCP tools integrated with a FastAPI backend, enabling users to query current weather for single or multiple cities and check API health status.
  • 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
  • A
    license
    A
    quality
    C
    maintenance
    FastMCP server to interact with the Overseerr API for movie and TV show requests management, enabling users to request media, search, and manage libraries via natural language.
    8
    1
    MIT

View all related MCP servers

Related MCP Connectors

  • performance-review MCP — wraps StupidAPIs (requires X-API-Key)

  • jargon-translator MCP — wraps StupidAPIs (requires X-API-Key)

  • OMDb MCP — IMDB-derived movie / TV / episode data (BYO 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/movie-reservation-platform-lab/movie-recommendation-mcp'

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