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

Movie Recommendation MCP

Movie Recommendation MCP

Обёртка FastMCP вокруг API рекомендаций фильмов на Rust.

Этот репозиторий был выделен из movie-reservation-platform-lab/movie-recommendation-service/axum-tools-mcp, чтобы компонент MCP мог иметь независимый конвейер CI и артефактов.

Запуск

uv run movie-recommendation-mcp

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

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

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

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

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

  • Endpoint проверки состояния: http://127.0.0.1:8092/health

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

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

  • MOVIE_RECOMMENDATION_API_URL

  • AXUM_TOOLS_API_URL для совместимости с исходной вырезкой демо

  • PORT

  • HOST

  • OTEL_SERVICE_NAME

  • OTEL_EXPORTER_OTLP_ENDPOINT

  • OTEL_EXPORTER_OTLP_PROTOCOL

  • OTEL_RESOURCE_ATTRIBUTES

Related MCP server: Weather Info MCP Server

Инструменты

  • recommendation_get_movies

    • Входные параметры: limit, необязательный preference, необязательный fault, необязательный traceparent, необязательный tracestate, необязательный correlation_id, необязательный request_id и необязательный demo_fault.

    • Вызывает Rust GET /recommendations.

    • Полезная нагрузка при успехе: {"ok": true, "service_name": "movie-recommendation-mcp", "fault": "<fault-or-none>", "recommendations": [...]}

    • Полезная нагрузка при ошибке нижестоящего сервиса: {"ok": false, "service_name": "movie-recommendation-mcp", "fault": "<fault-or-none>", "status_code": <int>, "error": "recommendation_dependency_failed"}

  • recommendation_health

    • Входные параметры: необязательный traceparent, необязательный tracestate, необязательный correlation_id, необязательный request_id и необязательный demo_fault.

    • Вызывает Rust GET /health.

    • Полезная нагрузка при успехе: {"ok": true, "service_name": "movie-recommendation-mcp", "health": {...}}

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

  • traceparent

  • tracestate

  • X-Correlation-Id

  • X-Request-Id

  • X-Demo-Fault

Решения по выделению

  • Сохранить внутренний путь импорта Python как axum_tools_mcp для этой части выделения. Публичный пакет, консольный скрипт, имя сервиса, образ и репозиторий уже названы movie-recommendation-mcp; переименование пути импорта добавит лишней работы, не меняя внешний контракт MCP, который использует агент.

  • Сохранить имена инструментов recommendation_get_movies и recommendation_health. Проверенное демо reservation-agent добавило recommendation_get_movies в белый список и вызывало его с аргументами limit, preference, fault и аргументами проброса.

  • Сохранить AXUM_TOOLS_API_URL как запасной вариант для совместимости, но для новой конфигурации времени выполнения предпочитать MOVIE_RECOMMENDATION_API_URL.

Контракт артефакта

Платформенная инфраструктура использует этот компонент как неизменяемый артефакт приложения, а не как исходный код:

  • OCI-образ, собранный из Dockerfile этого репозитория.

  • Ссылка на приватный образ ECR, зафиксированная по digest: <account>.dkr.ecr.<region>.amazonaws.com/movie-recommendation-mcp@sha256:<64-hex-digest>.

  • Отдельный идентификатор релиза, например SHA коммита Git или версия релиза, записываемый вместе с digest потребляющим окружением или инфраструктурным репозиторием.

  • Команда запуска: movie-recommendation-mcp.

  • Порт контейнера и PORT по умолчанию: 8092.

  • Endpoint MCP: /mcp.

  • Endpoint проверки состояния: /health.

  • Требуемая конфигурация времени выполнения задаётся через переменные окружения; URL нижестоящего API передаётся через MOVIE_RECOMMENDATION_API_URL или запасной вариант для совместимости AXUM_TOOLS_API_URL.

  • Состав развёртывания, манифесты окружений, состояние продвижения и ресурсы AWS остаются за пределами этого репозитория.

Проверки

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 для опубликованного digest.

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