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

Movie Recommendation MCP

Movie Recommendation MCP

FastMCP-Wrapper um die Rust-API für Filmempfehlungen.

Dieses Repository wurde aus movie-reservation-platform-lab/movie-recommendation-service/axum-tools-mcp extrahiert, damit die MCP-Komponente eine unabhängige CI- und Artefakt-Pipeline haben kann.

Ausführen

uv run movie-recommendation-mcp

Der Produktionscontainer läuft als UID 10001 und lauscht auf Port 8092:

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

Die Demo geht davon aus, dass die MCP- und Recommendation-API-Container einen gemeinsamen ECS-Task-Network-Namespace teilen, sodass die Standard-Downstream- Adresse 127.0.0.1:8082 bleibt. Überschreiben Sie die Downstream-URL, wenn Sie die Container unabhängig voneinander ausführen.

Standardwerte:

  • MCP-Endpunkt: http://127.0.0.1:8092/mcp

  • Health-Endpunkt: http://127.0.0.1:8092/health

  • Downstream-API: http://127.0.0.1:8082

Nützliche Umgebungsvariablen:

  • MOVIE_RECOMMENDATION_API_URL

  • AXUM_TOOLS_API_URL für Kompatibilität mit der ursprünglichen Demo-Extraktion

  • PORT

  • HOST

  • OTEL_SERVICE_NAME

  • OTEL_EXPORTER_OTLP_ENDPOINT

  • OTEL_EXPORTER_OTLP_PROTOCOL

  • OTEL_RESOURCE_ATTRIBUTES

Related MCP server: Weather Info MCP Server

Tools

  • recommendation_get_movies

    • Eingaben: limit, optional preference, optional fault, optional traceparent, optional tracestate, optional correlation_id, optional request_id und optional demo_fault.

    • Ruft den Rust-Endpunkt GET /recommendations auf.

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

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

  • recommendation_health

    • Eingaben: optional traceparent, optional tracestate, optional correlation_id, optional request_id und optional demo_fault.

    • Ruft den Rust-Endpunkt GET /health auf.

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

Beide Tools leiten Folgendes weiter:

  • traceparent

  • tracestate

  • X-Correlation-Id

  • X-Request-Id

  • X-Demo-Fault

Extraktionsentscheidungen

  • Behalten Sie den internen Python-Importpfad als axum_tools_mcp für dieses Extraktionssegment bei. Das öffentliche Paket, das Konsolenskript, der Dienstname, das Image und das Repository tragen bereits den Namen movie-recommendation-mcp; eine Umbenennung des Importpfads würde zusätzlichen Änderungsaufwand bedeuten, ohne den externen MCP-Vertrag zu ändern, der vom Agenten konsumiert wird.

  • Behalten Sie die Toolnamen recommendation_get_movies und recommendation_health bei. Die bewährte Reservation-Agent-Demo hat recommendation_get_movies freigeschaltet und sie mit limit, preference, fault und den Propagationsargumenten aufgerufen.

  • Behalten Sie AXUM_TOOLS_API_URL als Kompatibilitäts-Fallback bei, bevorzugen Sie jedoch MOVIE_RECOMMENDATION_API_URL für neue Laufzeitkonfigurationen.

Artefaktvertrag

Die Plattforminfrastruktur konsumiert diese Komponente als unveränderliches Anwendungsartefakt und nicht als Quellcode:

  • OCI-Image, das aus dem Dockerfile dieses Repositorys erstellt wird.

  • Private ECR-Image-Referenz, die per Digest festgepinnt ist: <account>.dkr.ecr.<region>.amazonaws.com/movie-recommendation-mcp@sha256:<64-hex-digest>.

  • Separate Release-Kennung, wie der Git-Commit-SHA oder die Release-Version, die vom konsumierenden Umgebungs-/Infrastruktur-Repository zusammen mit dem Digest erfasst wird.

  • Laufzeitbefehl: movie-recommendation-mcp.

  • Container-Port und Standard-PORT: 8092.

  • MCP-Endpunkt: /mcp.

  • Health-Endpunkt: /health.

  • Die erforderliche Laufzeitkonfiguration erfolgt über Umgebungsvariablen; die Downstream-API-URL wird über MOVIE_RECOMMENDATION_API_URL oder den Kompatibilitäts-Fallback AXUM_TOOLS_API_URL bereitgestellt.

  • Deployment-Zusammensetzung, Umgebungsmanifeste, Promotionsstatus und AWS-Ressourcen bleiben außerhalb dieses Repositorys.

Prüfungen

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 auf main veröffentlichen einen Linux-AMD64-Kandidaten als sha-<commit> in GHCR. Die CI deaktiviert die automatische Registry-Attestierung von BuildKit, um den Kandidaten als Single-Image-Manifest zu erhalten, und erfasst anschließend eine explizite GitHub-Build-Provenienz zum veröffentlichten Digest für das Admission-Gate der Umgebung.

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