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/mcpEndpoint проверки состояния:
http://127.0.0.1:8092/healthНижестоящий API:
http://127.0.0.1:8082
Полезные переменные окружения:
MOVIE_RECOMMENDATION_API_URLAXUM_TOOLS_API_URLдля совместимости с исходной вырезкой демоPORTHOSTOTEL_SERVICE_NAMEOTEL_EXPORTER_OTLP_ENDPOINTOTEL_EXPORTER_OTLP_PROTOCOLOTEL_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": {...}}
Оба инструмента пробрасывают:
traceparenttracestateX-Correlation-IdX-Request-IdX-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.
This server cannot be installed
Maintenance
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
- AlicenseDqualityDmaintenanceAn 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.513MIT
- FlicenseNot gradedqualityDmaintenanceProvides 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.
- FlicenseAqualityDmaintenanceAn 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
- AlicenseAqualityCmaintenanceFastMCP 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.81MIT
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)
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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